From c445bbeaf250792cbdce943c9f76afb08d3da32a Mon Sep 17 00:00:00 2001 From: JQ Date: Fri, 30 May 2025 22:14:37 -0700 Subject: [PATCH] simplify logic --- examples/companion_radio/Button.cpp | 10 +++++----- examples/companion_radio/Button.h | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/companion_radio/Button.cpp b/examples/companion_radio/Button.cpp index 00ae39ff..0e425b9a 100644 --- a/examples/companion_radio/Button.cpp +++ b/examples/companion_radio/Button.cpp @@ -2,13 +2,13 @@ Button::Button(uint8_t pin, bool activeState) : _pin(pin), _activeState(activeState), _isAnalog(false), _analogThreshold(20) { - _currentState = !_activeState; + _currentState = false; // Initialize as not pressed _lastState = _currentState; } Button::Button(uint8_t pin, bool activeState, bool isAnalog, uint16_t analogThreshold) : _pin(pin), _activeState(activeState), _isAnalog(isAnalog), _analogThreshold(analogThreshold) { - _currentState = !_activeState; + _currentState = false; // Initialize as not pressed _lastState = _currentState; } @@ -70,16 +70,16 @@ void Button::update() { bool Button::readButton() { if (_isAnalog) { - return (analogRead(_pin) < _analogThreshold) ? _activeState : !_activeState; + return (analogRead(_pin) < _analogThreshold); } else { - return digitalRead(_pin); + return (digitalRead(_pin) == _activeState); } } void Button::handleStateChange() { uint32_t now = millis(); - if (_currentState == _activeState) { + if (_currentState) { // Button pressed _pressTime = now; _state = PRESSED; diff --git a/examples/companion_radio/Button.h b/examples/companion_radio/Button.h index 82e953ab..47c792bd 100644 --- a/examples/companion_radio/Button.h +++ b/examples/companion_radio/Button.h @@ -36,7 +36,7 @@ public: void onAnyPress(EventCallback callback) { _onAnyPress = callback; } // State getters - bool isPressed() const { return _currentState == _activeState; } + bool isPressed() const { return _currentState; } EventType getLastEvent() const { return _lastEvent; } private: