@@ -16,25 +16,27 @@ ResetInput &ResetInput::getInstance() {
16
16
return instance;
17
17
}
18
18
19
- ResetInput::ResetInput ():
20
- _pin {PIN_RECONFIGURE}
21
- {
22
- _expired = false ;
23
- _startPressed = 0 ;
24
- _fireEvent = false ;
25
- _pressedCustomCallback = nullptr ;
26
- }
19
+ ResetInput::ResetInput () {
20
+ _pin = PIN_RECONFIGURE;
21
+ _expired = false ;
22
+ _startPressed = 0 ;
23
+ _fireEvent = false ;
24
+ _pressedCustomCallback = nullptr ;
25
+ }
27
26
28
27
void ResetInput::begin () {
28
+ if (_pin == DISABLE_PIN){
29
+ return ;
30
+ }
29
31
#ifdef ARDUINO_OPTA
30
- pinMode (PIN_RECONFIGURE , INPUT);
32
+ pinMode (_pin , INPUT);
31
33
#else
32
- pinMode (PIN_RECONFIGURE , INPUT_PULLUP);
34
+ pinMode (_pin , INPUT_PULLUP);
33
35
#endif
34
36
pinMode (LED_RECONFIGURE, OUTPUT);
35
37
digitalWrite (LED_RECONFIGURE, LED_OFF);
36
38
37
- attachInterrupt (digitalPinToInterrupt (PIN_RECONFIGURE ),_pressedCallback, CHANGE);
39
+ attachInterrupt (digitalPinToInterrupt (_pin ),_pressedCallback, CHANGE);
38
40
}
39
41
40
42
bool ResetInput::isEventFired () {
@@ -55,15 +57,19 @@ void ResetInput::setPinChangedCallback(ResetInputCallback callback) {
55
57
_pressedCustomCallback = callback;
56
58
}
57
59
58
- void ResetInput::setPin (uint32_t pin) {
59
- _pin = pin;
60
+ void ResetInput::setPin (int pin) {
61
+ if (pin < 0 ){
62
+ _pin = DISABLE_PIN;
63
+ }else {
64
+ _pin = pin;
65
+ }
60
66
}
61
67
62
68
void ResetInput::_pressedCallback () {
63
69
#if defined(ARDUINO_NANO_RP2040_CONNECT)
64
- if (digitalRead (PIN_RECONFIGURE ) == HIGH){
70
+ if (digitalRead (_pin ) == HIGH){
65
71
#else
66
- if (digitalRead (PIN_RECONFIGURE ) == LOW){
72
+ if (digitalRead (_pin ) == LOW){
67
73
#endif
68
74
#if !defined(ARDUINO_NANO_RP2040_CONNECT) && !defined(ARDUINO_SAMD_MKRWIFI1010)
69
75
LEDFeedbackClass::getInstance ().stop ();
0 commit comments