@@ -180,6 +180,7 @@ void LEDFeedbackClass::setMode(LEDFeedbackMode mode) {
180
180
case LEDFeedbackMode::NONE:
181
181
{
182
182
_ledChangeInterval = 0 ;
183
+ turnOFF ();
183
184
#ifdef BOARD_HAS_LED_MATRIX
184
185
ledMatrixAnimationHandler.clear ();
185
186
#endif
@@ -293,7 +294,6 @@ void LEDFeedbackClass::update() {
293
294
}
294
295
295
296
if (_ledChangeInterval == 0 ) {
296
- turnOFF ();
297
297
return ;
298
298
} else if (_ledChangeInterval == ALWAYS_ON_INTERVAL) {
299
299
turnON ();
@@ -330,11 +330,13 @@ void LEDFeedbackClass::update() {
330
330
}
331
331
332
332
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
+ }
338
340
#ifdef BOARD_HAS_LED_MATRIX
339
341
if (_framePtr != nullptr ){
340
342
ledMatrixAnimationHandler.clear ();
@@ -345,11 +347,13 @@ void LEDFeedbackClass::turnOFF() {
345
347
}
346
348
347
349
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
+ }
353
357
#ifdef BOARD_HAS_LED_MATRIX
354
358
if (_framePtr != nullptr ){
355
359
ledMatrixAnimationHandler.loadFrame (_framePtr);
0 commit comments