4 #ifndef __M5_BUTTON_CLASS_H__
5 #define __M5_BUTTON_CLASS_H__
36 [[deprecated(
"use wasDecideClickCount()")]]
47 bool wasPressed(
void)
const {
return !_oldPress && _press; }
50 bool wasReleaseFor(std::uint32_t ms)
const {
return _oldPress && !_press && _lastHoldPeriod >= ms; }
52 [[deprecated(
"use wasReleaseFor()")]]
54 bool pressedFor(std::uint32_t ms)
const {
return (_press && _lastMsec - _lastChange >= ms); }
55 bool releasedFor(std::uint32_t ms)
const {
return (!_press && _lastMsec - _lastChange >= ms); }
63 std::uint32_t
lastChange(
void)
const {
return _lastChange; }
70 std::uint32_t _lastMsec = 0;
71 std::uint32_t _lastChange = 0;
72 std::uint32_t _lastRawChange = 0;
73 std::uint32_t _lastClicked = 0;
74 std::uint16_t _msecDebounce = 10;
75 std::uint16_t _msecHold = 500;
76 std::uint16_t _lastHoldPeriod = 0;
78 bool _raw_press =
false;
79 std::uint8_t _press = 0;
80 std::uint8_t _oldPress = 0;
81 std::uint8_t _clickCount = 0;