Skip to content

Commit 8fef0c7

Browse files
committed
LedFeedbackClass: fix led pin not initialized
1 parent 031dc54 commit 8fef0c7

File tree

2 files changed

+18
-14
lines changed

2 files changed

+18
-14
lines changed

src/utility/LEDFeedback.cpp

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ void LEDFeedbackClass::setMode(LEDFeedbackMode mode) {
180180
case LEDFeedbackMode::NONE:
181181
{
182182
_ledChangeInterval = 0;
183+
turnOFF();
183184
#ifdef BOARD_HAS_LED_MATRIX
184185
ledMatrixAnimationHandler.clear();
185186
#endif
@@ -293,7 +294,6 @@ void LEDFeedbackClass::update() {
293294
}
294295

295296
if(_ledChangeInterval == 0) {
296-
turnOFF();
297297
return;
298298
} else if (_ledChangeInterval == ALWAYS_ON_INTERVAL) {
299299
turnON();
@@ -330,11 +330,13 @@ void LEDFeedbackClass::update() {
330330
}
331331

332332
void LEDFeedbackClass::turnOFF() {
333-
#ifdef BOARD_USE_NINA
334-
WiFiDrv::digitalWrite(_ledPin, LED_OFF);
335-
#else
336-
digitalWrite(_ledPin, LED_OFF);
337-
#endif
333+
if(_ledPin != INVALID_LED_PIN) {
334+
#ifdef BOARD_USE_NINA
335+
WiFiDrv::digitalWrite(_ledPin, LED_OFF);
336+
#else
337+
digitalWrite(_ledPin, LED_OFF);
338+
#endif
339+
}
338340
#ifdef BOARD_HAS_LED_MATRIX
339341
if(_framePtr != nullptr){
340342
ledMatrixAnimationHandler.clear();
@@ -345,11 +347,13 @@ void LEDFeedbackClass::turnOFF() {
345347
}
346348

347349
void LEDFeedbackClass::turnON() {
348-
#ifdef BOARD_USE_NINA
349-
WiFiDrv::digitalWrite(_ledPin, LED_ON);
350-
#else
351-
digitalWrite(_ledPin, LED_ON);
352-
#endif
350+
if(_ledPin != INVALID_LED_PIN) {
351+
#ifdef BOARD_USE_NINA
352+
WiFiDrv::digitalWrite(_ledPin, LED_ON);
353+
#else
354+
digitalWrite(_ledPin, LED_ON);
355+
#endif
356+
}
353357
#ifdef BOARD_HAS_LED_MATRIX
354358
if(_framePtr != nullptr){
355359
ledMatrixAnimationHandler.loadFrame(_framePtr);

src/utility/LEDFeedback.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#pragma once
99
#include "Arduino.h"
1010

11-
11+
#define INVALID_LED_PIN -1
1212

1313
class LEDFeedbackClass {
1414
public:
@@ -37,8 +37,8 @@ class LEDFeedbackClass {
3737
uint32_t _lastUpdate = 0;
3838
uint32_t _count = 0;
3939
bool _ledState = false;
40-
uint16_t _ledPin = 0;
40+
int _ledPin = INVALID_LED_PIN;
4141
uint32_t* _framePtr = nullptr;
42-
int32_t _ledChangeInterval = 500;
42+
int32_t _ledChangeInterval = 0;
4343
bool stopped = false;
4444
};

0 commit comments

Comments
 (0)