diff --git a/src/HomeSpan.cpp b/src/HomeSpan.cpp index 1fbb585..b14aad7 100644 --- a/src/HomeSpan.cpp +++ b/src/HomeSpan.cpp @@ -228,7 +228,7 @@ void Span::commandMode(){ if(controlButton.triggered(10,3000)){ if(!controlButton.longPress()){ mode++; - if(mode==5) + if(mode==6) mode=1; statusLED.start(500,0.3,mode,1000); } else { @@ -254,17 +254,21 @@ void Span::commandMode(){ break; case 2: + processSerialCommand("R"); + break; + + case 3: processSerialCommand("A"); break; - case 3: + case 4: processSerialCommand("U"); break; - case 4: + case 5: processSerialCommand("X"); break; - + } // switch Serial.print("*** EXITING COMMAND MODE ***\n\n"); @@ -526,7 +530,6 @@ void Span::processSerialCommand(char *c){ ESP.restart(); // re-start device } break; - case 'X': { @@ -550,6 +553,15 @@ void Span::processSerialCommand(char *c){ } break; + case 'R': { + + Serial.print("\n*** Restarting...\n\n"); + delay(1000); + statusLED.off(); + ESP.restart(); + } + break; + case 'F': { nvs_erase_all(HAPClient::hapNVS); @@ -629,6 +641,7 @@ void Span::processSerialCommand(char *c){ Serial.print(" U - unpair device by deleting all Controller data\n"); Serial.print(" H - delete HomeKit Device ID & Pairing data and restart\n"); Serial.print("\n"); + Serial.print(" R - restart device\n"); Serial.print(" F - factory reset and restart\n"); Serial.print(" E - delete all stored data and restart\n"); Serial.print("\n"); diff --git a/src/Settings.h b/src/Settings.h index 934701d..42aeb9a 100644 --- a/src/Settings.h +++ b/src/Settings.h @@ -34,12 +34,12 @@ ///////////////////////////////////////////////////// // STATUS LED SETTINGS // -#define LED_WIFI_NEEDED 3000,0.05 // slow single-blink -#define LED_PAIRING_NEEDED 300,0.5,2,2550 // slow double-blink +#define LED_WIFI_NEEDED 300,0.5,1,2700 // slow single-blink +#define LED_PAIRING_NEEDED 300,0.5,2,2400 // slow double-blink #define LED_ALERT 100 // rapid flashing #define LED_WIFI_CONNECTING 2000 // slow flashing -#define LED_AP_STARTED 100,0.5,2,500 // rapid double-blink -#define LED_AP_CONNECTED 500,0.3,2,1000 // slow double-blink +#define LED_AP_STARTED 100,0.5,2,300 // rapid double-blink +#define LED_AP_CONNECTED 500,0.3,2,1000 // medium double-blink ///////////////////////////////////////////////////// // Message Log Level Control Macros // diff --git a/src/Utils.cpp b/src/Utils.cpp index ff055e3..97e4a7e 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp @@ -227,7 +227,7 @@ void Blinker::isrTimer(void *arg){ void Blinker::start(int period, float dutyCycle){ - start(period, dutyCycle, 1, period-dutyCycle*period); + start(period, dutyCycle, 1, 0); } ////////////////////////////////////// @@ -237,7 +237,7 @@ void Blinker::start(int period, float dutyCycle, int nBlinks, int delayTime){ period*=10; onTime=dutyCycle*period; offTime=period-onTime; - this->delayTime=delayTime*10; + this->delayTime=delayTime*10+offTime; this->nBlinks=nBlinks; count=nBlinks; timer_set_counter_value(group,idx,0);