class to debouce interrupt pin

Committer:
JeroenAero
Date:
Tue Jan 05 14:38:14 2021 +0000
Revision:
0:dc197298a382
Debounce working, only NULL functions will fault;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JeroenAero 0:dc197298a382 1 #ifndef MBED_DEBOUNCE_H
JeroenAero 0:dc197298a382 2 #define MBED_DEBOUNCE_H
JeroenAero 0:dc197298a382 3
JeroenAero 0:dc197298a382 4 #include "mbed.h"
JeroenAero 0:dc197298a382 5
JeroenAero 0:dc197298a382 6 class Debounce {
JeroenAero 0:dc197298a382 7
JeroenAero 0:dc197298a382 8 public:
JeroenAero 0:dc197298a382 9 Debounce(PinName Pin, int DebounceMS, void (*RiseFunction)(), void (*FallFunction)());
JeroenAero 0:dc197298a382 10
JeroenAero 0:dc197298a382 11 private:
JeroenAero 0:dc197298a382 12 InterruptIn Input;
JeroenAero 0:dc197298a382 13 Ticker InputRiseTick;
JeroenAero 0:dc197298a382 14 Ticker InputFallTick;
JeroenAero 0:dc197298a382 15
JeroenAero 0:dc197298a382 16 float DebounceTime;
JeroenAero 0:dc197298a382 17
JeroenAero 0:dc197298a382 18 void InputRise();
JeroenAero 0:dc197298a382 19 void InputFall();
JeroenAero 0:dc197298a382 20 void RiseTick();
JeroenAero 0:dc197298a382 21 void FallTick();
JeroenAero 0:dc197298a382 22
JeroenAero 0:dc197298a382 23 void (*FallFunctionPointer)();
JeroenAero 0:dc197298a382 24 void (*RiseFunctionPointer)();
JeroenAero 0:dc197298a382 25 };
JeroenAero 0:dc197298a382 26
JeroenAero 0:dc197298a382 27 #endif