File tree 1 file changed +14
-1
lines changed
1 file changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -11,13 +11,26 @@ pub trait OutputPin {
11
11
12
12
/// Output pin that can read its output state
13
13
#[ cfg( feature = "unproven" ) ]
14
- trait StatefulOutputPin : OutputPin {
14
+ trait StatefulOutputPin {
15
15
/// Is the pin set to high?
16
16
fn is_set_high ( & self ) -> bool ;
17
17
18
18
/// Is the pin set to low?
19
19
fn is_set_low ( & self ) -> bool ;
20
+ }
21
+
22
+ /// Output pin that can be toggled
23
+ #[ cfg( feature = "unproven" ) ]
24
+ trait ToggleableOutputPin {
25
+ /// Toggle pin output
26
+ fn toggle ( & mut self ) ;
27
+ }
20
28
29
+ /// If you can read **and** write the output state, a pin is
30
+ /// toggleable by software. You may override the `toggle()` method
31
+ /// with a hardware implementation.
32
+ #[ cfg( feature = "unproven" ) ]
33
+ impl < PIN : OutputPin + StatefulOutputPin > ToggleableOutputPin for PIN {
21
34
/// Toggle pin output
22
35
fn toggle ( & mut self ) {
23
36
if self . is_set_low ( ) {
You can’t perform that action at this time.
0 commit comments