mirror of
https://github.com/meshtastic/firmware.git
synced 2025-12-21 18:22:32 +00:00
Don't use pin 0 on RAK for input (#7755)
* Don't use pin 0 on RAK for input * Use boolean instead of define --------- Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
This commit is contained in:
@@ -18,14 +18,23 @@ void RotaryEncoderInterruptBase::init(
|
|||||||
this->_eventCcw = eventCcw;
|
this->_eventCcw = eventCcw;
|
||||||
this->_eventPressed = eventPressed;
|
this->_eventPressed = eventPressed;
|
||||||
|
|
||||||
pinMode(pinPress, INPUT_PULLUP);
|
bool isRAK = false;
|
||||||
pinMode(this->_pinA, INPUT_PULLUP);
|
#ifdef RAK_4631
|
||||||
pinMode(this->_pinB, INPUT_PULLUP);
|
isRAK = true;
|
||||||
|
#endif
|
||||||
|
|
||||||
// attachInterrupt(pinPress, onIntPress, RISING);
|
if (!isRAK || pinPress != 0) {
|
||||||
attachInterrupt(pinPress, onIntPress, RISING);
|
pinMode(pinPress, INPUT_PULLUP);
|
||||||
attachInterrupt(this->_pinA, onIntA, CHANGE);
|
attachInterrupt(pinPress, onIntPress, RISING);
|
||||||
attachInterrupt(this->_pinB, onIntB, CHANGE);
|
}
|
||||||
|
if (!isRAK || this->_pinA != 0) {
|
||||||
|
pinMode(this->_pinA, INPUT_PULLUP);
|
||||||
|
attachInterrupt(this->_pinA, onIntA, CHANGE);
|
||||||
|
}
|
||||||
|
if (!isRAK || this->_pinA != 0) {
|
||||||
|
pinMode(this->_pinB, INPUT_PULLUP);
|
||||||
|
attachInterrupt(this->_pinB, onIntB, CHANGE);
|
||||||
|
}
|
||||||
|
|
||||||
this->rotaryLevelA = digitalRead(this->_pinA);
|
this->rotaryLevelA = digitalRead(this->_pinA);
|
||||||
this->rotaryLevelB = digitalRead(this->_pinB);
|
this->rotaryLevelB = digitalRead(this->_pinB);
|
||||||
|
|||||||
@@ -15,14 +15,23 @@ void UpDownInterruptBase::init(uint8_t pinDown, uint8_t pinUp, uint8_t pinPress,
|
|||||||
this->_eventDown = eventDown;
|
this->_eventDown = eventDown;
|
||||||
this->_eventUp = eventUp;
|
this->_eventUp = eventUp;
|
||||||
this->_eventPressed = eventPressed;
|
this->_eventPressed = eventPressed;
|
||||||
|
bool isRAK = false;
|
||||||
|
#ifdef RAK_4631
|
||||||
|
isRAK = true;
|
||||||
|
#endif
|
||||||
|
|
||||||
pinMode(pinPress, INPUT_PULLUP);
|
if (!isRAK || pinPress != 0) {
|
||||||
pinMode(this->_pinDown, INPUT_PULLUP);
|
pinMode(pinPress, INPUT_PULLUP);
|
||||||
pinMode(this->_pinUp, INPUT_PULLUP);
|
attachInterrupt(pinPress, onIntPress, RISING);
|
||||||
|
}
|
||||||
attachInterrupt(pinPress, onIntPress, RISING);
|
if (!isRAK || this->_pinDown != 0) {
|
||||||
attachInterrupt(this->_pinDown, onIntDown, RISING);
|
pinMode(this->_pinDown, INPUT_PULLUP);
|
||||||
attachInterrupt(this->_pinUp, onIntUp, RISING);
|
attachInterrupt(this->_pinDown, onIntDown, RISING);
|
||||||
|
}
|
||||||
|
if (!isRAK || this->_pinUp != 0) {
|
||||||
|
pinMode(this->_pinUp, INPUT_PULLUP);
|
||||||
|
attachInterrupt(this->_pinUp, onIntUp, RISING);
|
||||||
|
}
|
||||||
|
|
||||||
LOG_DEBUG("Up/down/press GPIO initialized (%d, %d, %d)", this->_pinUp, this->_pinDown, pinPress);
|
LOG_DEBUG("Up/down/press GPIO initialized (%d, %d, %d)", this->_pinUp, this->_pinDown, pinPress);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user