@@ -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
332332void 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
347349void 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);
0 commit comments