Debounce_Library

Dependents:   EJ3_Cafetera EJ1

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?

UserRevisionLine numberNew 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