Updating hsEventCallback with more events

This commit is contained in:
HomeSpan 2022-10-24 06:46:04 -04:00
parent 5b38c6a04a
commit 4e23c5e357
2 changed files with 42 additions and 9 deletions

View File

@ -341,7 +341,8 @@ void Span::commandMode(){
int mode=1; int mode=1;
boolean done=false; boolean done=false;
statusLED->start(500,0.3,mode,1000); statusLED->start(500,0.3,mode,1000);
if(hsEventCallback)
hsEventCallback(HS_CONFIG_MODE_EXIT);
unsigned long alarmTime=millis()+comModeLife; unsigned long alarmTime=millis()+comModeLife;
while(!done){ while(!done){
@ -360,6 +361,8 @@ void Span::commandMode(){
if(mode==6) if(mode==6)
mode=1; mode=1;
statusLED->start(500,0.3,mode,1000); statusLED->start(500,0.3,mode,1000);
if(hsEventCallback)
hsEventCallback((HS_EVENT)(HS_CONFIG_MODE_EXIT+mode-1));
} else { } else {
done=true; done=true;
} }
@ -373,13 +376,28 @@ void Span::commandMode(){
case 1: case 1:
Serial.print("*** NO ACTION\n\n"); Serial.print("*** NO ACTION\n\n");
if(strlen(network.wifiData.ssid)==0) if(strlen(network.wifiData.ssid)==0){
statusLED->start(LED_WIFI_NEEDED); statusLED->start(LED_WIFI_NEEDED);
if(hsEventCallback)
hsEventCallback(HS_WIFI_NEEDED);
}
else else
if(!HAPClient::nAdminControllers()) if(WiFi.status()!=WL_CONNECTED){
statusLED->start(LED_WIFI_CONNECTING);
if(hsEventCallback)
hsEventCallback(HS_WIFI_CONNECTING);
}
else
if(!HAPClient::nAdminControllers()){
statusLED->start(LED_PAIRING_NEEDED); statusLED->start(LED_PAIRING_NEEDED);
else if(hsEventCallback)
hsEventCallback(HS_PAIRING_NEEDED);
}
else{
statusLED->on(); statusLED->on();
if(hsEventCallback)
hsEventCallback(HS_PAIRED);
}
break; break;
case 2: case 2:
@ -411,12 +429,14 @@ void Span::checkConnect(){
if(WiFi.status()==WL_CONNECTED) if(WiFi.status()==WL_CONNECTED)
return; return;
addWebLog(true,"*** WiFi Connection Lost!"); // losing and re-establishing connection has not been tested addWebLog(true,"*** WiFi Connection Lost!");
connected++; connected++;
waitTime=60000; waitTime=60000;
alarmConnect=0; alarmConnect=0;
statusLED->start(LED_WIFI_CONNECTING); statusLED->start(LED_WIFI_CONNECTING);
} if(hsEventCallback)
hsEventCallback(HS_WIFI_CONNECTING);
}
if(WiFi.status()!=WL_CONNECTED){ if(WiFi.status()!=WL_CONNECTED){
if(millis()<alarmConnect) // not yet time to try to try connecting if(millis()<alarmConnect) // not yet time to try to try connecting
@ -442,10 +462,16 @@ void Span::checkConnect(){
return; return;
} }
if(!HAPClient::nAdminControllers()) if(!HAPClient::nAdminControllers()){
statusLED->start(LED_PAIRING_NEEDED); statusLED->start(LED_PAIRING_NEEDED);
else if(hsEventCallback)
hsEventCallback(HS_PAIRING_NEEDED);
}
else{
statusLED->on(); statusLED->on();
if(hsEventCallback)
hsEventCallback(HS_PAIRED);
}
connected++; connected++;

View File

@ -69,7 +69,14 @@ enum {
enum HS_EVENT { enum HS_EVENT {
HS_WIFI_NEEDED, HS_WIFI_NEEDED,
HS_WIFI_CONNECTING HS_WIFI_CONNECTING,
HS_PAIRING_NEEDED,
HS_PAIRED,
HS_CONFIG_MODE_EXIT,
HS_CONFIG_MODE_REBOOT,
HS_CONFIG_MODE_LAUNCH_AP,
HS_CONFIG_MODE_UNPAIR,
HS_CONFIG_MODE_ERASE_WIFI
}; };
/////////////////////////////// ///////////////////////////////