File tree Expand file tree Collapse file tree 3 files changed +24
-4
lines changed Expand file tree Collapse file tree 3 files changed +24
-4
lines changed Original file line number Diff line number Diff line change @@ -18,6 +18,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
18
18
- Set default features to build both sysfs and cdev pin types
19
19
- Removed ` Pin ` export, use ` CdevPin ` or ` SysfsPin `
20
20
21
+ ### Fixed
22
+
23
+ - Modified ` OutputPin ` behavior for active-low pins to match ` InputPin ` behavior.
24
+
21
25
## [ v0.3.0] - 2019-11-25
22
26
23
27
### Added
Original file line number Diff line number Diff line change @@ -19,11 +19,19 @@ impl hal::digital::v2::OutputPin for CdevPin {
19
19
type Error = gpio_cdev:: errors:: Error ;
20
20
21
21
fn set_low ( & mut self ) -> Result < ( ) , Self :: Error > {
22
- self . 0 . set_value ( 0 )
22
+ if self . 1 {
23
+ self . 0 . set_value ( 1 )
24
+ } else {
25
+ self . 0 . set_value ( 0 )
26
+ }
23
27
}
24
28
25
29
fn set_high ( & mut self ) -> Result < ( ) , Self :: Error > {
26
- self . 0 . set_value ( 1 )
30
+ if self . 1 {
31
+ self . 0 . set_value ( 0 )
32
+ } else {
33
+ self . 0 . set_value ( 1 )
34
+ }
27
35
}
28
36
}
29
37
Original file line number Diff line number Diff line change @@ -30,11 +30,19 @@ impl hal::digital::v2::OutputPin for SysfsPin {
30
30
type Error = sysfs_gpio:: Error ;
31
31
32
32
fn set_low ( & mut self ) -> Result < ( ) , Self :: Error > {
33
- self . 0 . set_value ( 0 )
33
+ if self . 0 . get_active_low ( ) ? {
34
+ self . 0 . set_value ( 1 )
35
+ } else {
36
+ self . 0 . set_value ( 0 )
37
+ }
34
38
}
35
39
36
40
fn set_high ( & mut self ) -> Result < ( ) , Self :: Error > {
37
- self . 0 . set_value ( 1 )
41
+ if self . 0 . get_active_low ( ) ? {
42
+ self . 0 . set_value ( 0 )
43
+ } else {
44
+ self . 0 . set_value ( 1 )
45
+ }
38
46
}
39
47
}
40
48
You can’t perform that action at this time.
0 commit comments