File tree Expand file tree Collapse file tree
lib/3rd_party_adapters/FreeRTOS Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11@startuml
2- title debouncing by post-event filtering
2+ title debouncing by post-event filtering: not too short
33caption debouncing normal pulse
44hide time - axis
55scale 1 as 250 pixels
Original file line number Diff line number Diff line change 11@startuml
2- title debouncing by post-event filtering
2+ title debouncing by post-event filtering: too short
33caption too short pulse leads to wrong state
44hide time - axis
55scale 1 as 250 pixels
@@ -12,11 +12,11 @@ note top of B : debounced
1212B is low
1313@+1
1414D is {low ,high }
15- D @+0 <-> @+0. 8 : bouncing
15+ D @+0 <-> @+0. 9 : bouncing
1616D -> B : rising edge detected
1717highlight +0 to +1 : state changes ignored
1818B is high
19- @+0. 8
19+ @+0. 9
2020D is low
2121D -> B : state change ignored
2222
Original file line number Diff line number Diff line change 11@startuml
2- title debouncing based on delay
2+ title debouncing based on delay: not too short
33caption debouncing normal pulse
44hide time - axis
55scale 1 as 250 pixels
@@ -21,6 +21,7 @@ W@+0 <-> @+0.1 : delay
2121D is high
2222@+0. 1
2323W is low
24+ W -> D : read state
2425W -> B : rising edge detected
2526B is high
2627@+0. 5
@@ -33,6 +34,7 @@ D is low
3334W @+0 <-> @+0. 1 : delay
3435@+0. 1
3536W is low
37+ W -> D : read state
3638W -> B : falling edge detected
3739B is low
3840
Original file line number Diff line number Diff line change 11@startuml
2- title debouncing based on delay
2+ title debouncing based on delay: too short
33caption too short pulse will be completely ignored
44hide time - axis
55scale 1 as 250 pixels
@@ -14,26 +14,13 @@ B is low
1414@+1
1515D is {low ,high }
1616W is high
17- note bottom of D : button pressed
18- D @+0 <-> @+0. 8 : bouncing
19- @+0. 8
20- W @+0 <-> @+0. 1 : delay
21- D is high
22- @+0. 1
23- W is low
24- W -> B : rising edge detected
25- B is high
26- @+0. 5
27- note bottom of D : button released
28- D is {low ,high }
29- W is high
30- D @+0 <-> @+0. 8 : bouncing
31- @+0. 8
17+ D @+0 <-> @+0. 9 : bouncing
18+ @+0. 9
3219D is low
3320W @+0 <-> @+0. 1 : delay
3421@+0. 1
22+ W -> D : read state
3523W is low
36- W -> B : falling edge detected
37- B is low
24+ note top of B : state has not been adopted
3825
3926@enduml
You can’t perform that action at this time.
0 commit comments