InputEvents v1.4.0
An easy to use but comprehensive Event Library for Buttons, Encoders, Encoder Buttons, Analog Inputs, Joysticks and Switches.
DebounceAdapter.h
1#ifndef DebounceAdapter_h
2#define DebounceAdapter_h
3
4#include "Arduino.h"
5#include "PinAdapter.h"
6
12 public:
13 DebounceAdapter(uint16_t debounceInterval = 10)
14 : debounceInterval(debounceInterval)
15 { }
16
17 DebounceAdapter(PinAdapter* pinAdapter, uint16_t debounceInterval = 10)
18 : pinAdapter(pinAdapter),
19 debounceInterval(debounceInterval)
20 { }
21
22
27 void begin() {
28 pinAdapter->begin();
29 }
30
37 virtual bool read() = 0;
38
45 void setPinAdapter(PinAdapter* adapter ) {
46 pinAdapter = adapter;
47 }
48
54 virtual void setDebounceInterval(uint16_t interval) {
55 debounceInterval = interval;
56 }
57
58 protected:
59 PinAdapter* pinAdapter;
60 uint16_t debounceInterval = 10;
61};
62
63#endif
64
65
66
This is the interface/base class for debounce adapters.
Definition: DebounceAdapter.h:11
virtual bool read()=0
Return the debounced state of the pin adapter.
virtual void setDebounceInterval(uint16_t interval)
Set the debounce interval. Default is 10ms.
Definition: DebounceAdapter.h:54
void begin()
Initialise the debouncer and pin adapter. Must be safe for repeated calls (Idempotent)
Definition: DebounceAdapter.h:27
void setPinAdapter(PinAdapter *adapter)
The pinAdapter is usually passed via the constructor. If it is not, it must be set before begin() is ...
Definition: DebounceAdapter.h:45
The interface specification for button, encoder button and switch pins.
Definition: PinAdapter.h:8
virtual void begin()=0
Initialise the pin adapter. Must be safe for repeated calls (Idempotent)