Debounce_Library
antirrebote.cpp@0:16d62113f1d5, 2018-05-03 (annotated)
- Committer:
- Tom_87
- Date:
- Thu May 03 23:32:45 2018 +0000
- Revision:
- 0:16d62113f1d5
- Child:
- 1:8db2c2a203d9
- Child:
- 2:d1e2599de47c
Debounce_Library
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Tom_87 | 0:16d62113f1d5 | 1 | #include "antirrebote.h" |
Tom_87 | 0:16d62113f1d5 | 2 | |
Tom_87 | 0:16d62113f1d5 | 3 | enum{PULS_NA, PULS_FLC1, PULS_A, PULS_FLC2}; |
Tom_87 | 0:16d62113f1d5 | 4 | |
Tom_87 | 0:16d62113f1d5 | 5 | AntReb::~AntReb(){ |
Tom_87 | 0:16d62113f1d5 | 6 | } |
Tom_87 | 0:16d62113f1d5 | 7 | AntReb::AntReb(){ |
Tom_87 | 0:16d62113f1d5 | 8 | e_PULS = PULS_NA; |
Tom_87 | 0:16d62113f1d5 | 9 | } |
Tom_87 | 0:16d62113f1d5 | 10 | |
Tom_87 | 0:16d62113f1d5 | 11 | void AntReb::setPin(DigitalIn pin) |
Tom_87 | 0:16d62113f1d5 | 12 | { |
Tom_87 | 0:16d62113f1d5 | 13 | P_PULS =pin.read(); |
Tom_87 | 0:16d62113f1d5 | 14 | } |
Tom_87 | 0:16d62113f1d5 | 15 | |
Tom_87 | 0:16d62113f1d5 | 16 | pinEstado_t AntReb::antiRebote(){ |
Tom_87 | 0:16d62113f1d5 | 17 | pinEstado_t StateOut; |
Tom_87 | 0:16d62113f1d5 | 18 | |
Tom_87 | 0:16d62113f1d5 | 19 | switch(e_PULS){ |
Tom_87 | 0:16d62113f1d5 | 20 | default: |
Tom_87 | 0:16d62113f1d5 | 21 | case PULS_NA: |
Tom_87 | 0:16d62113f1d5 | 22 | StateOut = APAGADO; |
Tom_87 | 0:16d62113f1d5 | 23 | if(P_PULS == 0) { |
Tom_87 | 0:16d62113f1d5 | 24 | e_PULS = PULS_FLC1; |
Tom_87 | 0:16d62113f1d5 | 25 | } |
Tom_87 | 0:16d62113f1d5 | 26 | break; |
Tom_87 | 0:16d62113f1d5 | 27 | case PULS_FLC1: |
Tom_87 | 0:16d62113f1d5 | 28 | StateOut = APAGADO; |
Tom_87 | 0:16d62113f1d5 | 29 | if(P_PULS == 0) { |
Tom_87 | 0:16d62113f1d5 | 30 | e_PULS = PULS_A; |
Tom_87 | 0:16d62113f1d5 | 31 | StateOut= ENCENDIDO; |
Tom_87 | 0:16d62113f1d5 | 32 | }else if(P_PULS == 1) { |
Tom_87 | 0:16d62113f1d5 | 33 | e_PULS = PULS_NA; |
Tom_87 | 0:16d62113f1d5 | 34 | } |
Tom_87 | 0:16d62113f1d5 | 35 | break; |
Tom_87 | 0:16d62113f1d5 | 36 | case PULS_A: |
Tom_87 | 0:16d62113f1d5 | 37 | StateOut =APAGADO; |
Tom_87 | 0:16d62113f1d5 | 38 | if(P_PULS == 1) { |
Tom_87 | 0:16d62113f1d5 | 39 | e_PULS = PULS_FLC2; |
Tom_87 | 0:16d62113f1d5 | 40 | } |
Tom_87 | 0:16d62113f1d5 | 41 | break; |
Tom_87 | 0:16d62113f1d5 | 42 | case PULS_FLC2: |
Tom_87 | 0:16d62113f1d5 | 43 | StateOut = APAGADO; |
Tom_87 | 0:16d62113f1d5 | 44 | if(P_PULS == 0) { |
Tom_87 | 0:16d62113f1d5 | 45 | e_PULS = PULS_A; |
Tom_87 | 0:16d62113f1d5 | 46 | }else if(P_PULS == 1) { |
Tom_87 | 0:16d62113f1d5 | 47 | e_PULS = PULS_NA; |
Tom_87 | 0:16d62113f1d5 | 48 | |
Tom_87 | 0:16d62113f1d5 | 49 | } |
Tom_87 | 0:16d62113f1d5 | 50 | break; |
Tom_87 | 0:16d62113f1d5 | 51 | } |
Tom_87 | 0:16d62113f1d5 | 52 | return StateOut; |
Tom_87 | 0:16d62113f1d5 | 53 | } |
Tom_87 | 0:16d62113f1d5 | 54 | |
Tom_87 | 0:16d62113f1d5 | 55 | |
Tom_87 | 0:16d62113f1d5 | 56 |