@@ -1177,164 +1177,148 @@ void requestChangeState(SystemState requestedState)
11771177 log_d (" Requested System State: %d" , requestedSystemState);
11781178}
11791179
1180+ // Print the current state
1181+ const char * getState (SystemState state, char * buffer)
1182+ {
1183+ switch (state)
1184+ {
1185+ case (STATE_ROVER_NOT_STARTED):
1186+ return " STATE_ROVER_NOT_STARTED" ;
1187+ case (STATE_ROVER_NO_FIX):
1188+ return " STATE_ROVER_NO_FIX" ;
1189+ case (STATE_ROVER_FIX):
1190+ return " STATE_ROVER_FIX" ;
1191+ case (STATE_ROVER_RTK_FLOAT):
1192+ return " STATE_ROVER_RTK_FLOAT" ;
1193+ case (STATE_ROVER_RTK_FIX):
1194+ return " STATE_ROVER_RTK_FIX" ;
1195+ case (STATE_BASE_NOT_STARTED):
1196+ return " STATE_BASE_NOT_STARTED" ;
1197+ case (STATE_BASE_TEMP_SETTLE):
1198+ return " STATE_BASE_TEMP_SETTLE" ;
1199+ case (STATE_BASE_TEMP_SURVEY_STARTED):
1200+ return " STATE_BASE_TEMP_SURVEY_STARTED" ;
1201+ case (STATE_BASE_TEMP_TRANSMITTING):
1202+ return " STATE_BASE_TEMP_TRANSMITTING" ;
1203+ case (STATE_BASE_FIXED_NOT_STARTED):
1204+ return " STATE_BASE_FIXED_NOT_STARTED" ;
1205+ case (STATE_BASE_FIXED_TRANSMITTING):
1206+ return " STATE_BASE_FIXED_TRANSMITTING" ;
1207+ case (STATE_BUBBLE_LEVEL):
1208+ return " STATE_BUBBLE_LEVEL" ;
1209+ case (STATE_MARK_EVENT):
1210+ return " STATE_MARK_EVENT" ;
1211+ case (STATE_DISPLAY_SETUP):
1212+ return " STATE_DISPLAY_SETUP" ;
1213+ case (STATE_WIFI_CONFIG_NOT_STARTED):
1214+ return " STATE_WIFI_CONFIG_NOT_STARTED" ;
1215+ case (STATE_WIFI_CONFIG):
1216+ return " STATE_WIFI_CONFIG" ;
1217+ case (STATE_TEST):
1218+ return " STATE_TEST" ;
1219+ case (STATE_TESTING):
1220+ return " STATE_TESTING" ;
1221+ case (STATE_PROFILE):
1222+ return " STATE_PROFILE" ;
1223+ #ifdef COMPILE_L_BAND
1224+ case (STATE_KEYS_STARTED):
1225+ return " STATE_KEYS_STARTED" ;
1226+ case (STATE_KEYS_NEEDED):
1227+ return " STATE_KEYS_NEEDED" ;
1228+ case (STATE_KEYS_WIFI_STARTED):
1229+ return " STATE_KEYS_WIFI_STARTED" ;
1230+ case (STATE_KEYS_WIFI_CONNECTED):
1231+ return " STATE_KEYS_WIFI_CONNECTED" ;
1232+ case (STATE_KEYS_WIFI_TIMEOUT):
1233+ return " STATE_KEYS_WIFI_TIMEOUT" ;
1234+ case (STATE_KEYS_EXPIRED):
1235+ return " STATE_KEYS_EXPIRED" ;
1236+ case (STATE_KEYS_DAYS_REMAINING):
1237+ return " STATE_KEYS_DAYS_REMAINING" ;
1238+ case (STATE_KEYS_LBAND_CONFIGURE):
1239+ return " STATE_KEYS_LBAND_CONFIGURE" ;
1240+ case (STATE_KEYS_LBAND_ENCRYPTED):
1241+ return " STATE_KEYS_LBAND_ENCRYPTED" ;
1242+ case (STATE_KEYS_PROVISION_WIFI_STARTED):
1243+ return " STATE_KEYS_PROVISION_WIFI_STARTED" ;
1244+ case (STATE_KEYS_PROVISION_WIFI_CONNECTED):
1245+ return " STATE_KEYS_PROVISION_WIFI_CONNECTED" ;
1246+ case (STATE_KEYS_PROVISION_WIFI_TIMEOUT):
1247+ return " STATE_KEYS_PROVISION_WIFI_TIMEOUT" ;
1248+ #endif // COMPILE_L_BAND
1249+
1250+ case (STATE_ESPNOW_PAIRING_NOT_STARTED):
1251+ return " STATE_ESPNOW_PAIRING_NOT_STARTED" ;
1252+ case (STATE_ESPNOW_PAIRING):
1253+ return " STATE_ESPNOW_PAIRING" ;
1254+
1255+ case (STATE_NTPSERVER_NOT_STARTED):
1256+ return " STATE_NTPSERVER_NOT_STARTED" ;
1257+ case (STATE_NTPSERVER_NO_SYNC):
1258+ return " STATE_NTPSERVER_NO_SYNC" ;
1259+ case (STATE_NTPSERVER_SYNC):
1260+ return " STATE_NTPSERVER_SYNC" ;
1261+
1262+ case (STATE_CONFIG_VIA_ETH_NOT_STARTED):
1263+ return " STATE_CONFIG_VIA_ETH_NOT_STARTED" ;
1264+ case (STATE_CONFIG_VIA_ETH_STARTED):
1265+ return " STATE_CONFIG_VIA_ETH_STARTED" ;
1266+ case (STATE_CONFIG_VIA_ETH):
1267+ return " STATE_CONFIG_VIA_ETH" ;
1268+ case (STATE_CONFIG_VIA_ETH_RESTART_BASE):
1269+ return " STATE_CONFIG_VIA_ETH_RESTART_BASE" ;
1270+
1271+ case (STATE_SHUTDOWN):
1272+ return " STATE_SHUTDOWN" ;
1273+ case (STATE_NOT_SET):
1274+ return " STATE_NOT_SET" ;
1275+ }
1276+
1277+ // Handle the unknown case
1278+ sprintf (buffer, " Unknown: %d" , state);
1279+ return buffer;
1280+ }
1281+
11801282// Change states and print the new state
11811283void changeState (SystemState newState)
11821284{
1285+ char string1[30 ];
1286+ char string2[30 ];
1287+ const char * arrow;
1288+ const char * asterisk;
1289+ const char * initialState;
1290+ const char * endingState;
1291+
11831292 // Log the heap size at the state change
11841293 reportHeapNow (false );
11851294
11861295 // Debug print of new state, add leading asterisk for repeated states
11871296 if ((!settings.enablePrintDuplicateStates ) && (newState == systemState))
11881297 return ;
11891298
1190- if (settings.enablePrintStates && (newState == systemState))
1191- systemPrint (" *" );
1299+ if (settings.enablePrintStates )
1300+ {
1301+ arrow = " " ;
1302+ asterisk = " " ;
1303+ initialState = " " ;
1304+ if (newState == systemState)
1305+ asterisk = " *" ;
1306+ else
1307+ {
1308+ initialState = getState (systemState, string1);
1309+ arrow = " --> " ;
1310+ }
1311+ }
11921312
11931313 // Set the new state
11941314 systemState = newState;
1195-
11961315 if (settings.enablePrintStates )
11971316 {
1198- switch (systemState)
1199- {
1200- case (STATE_ROVER_NOT_STARTED):
1201- systemPrint (" State: Rover - Not Started" );
1202- break ;
1203- case (STATE_ROVER_NO_FIX):
1204- systemPrint (" State: Rover - No Fix" );
1205- break ;
1206- case (STATE_ROVER_FIX):
1207- systemPrint (" State: Rover - Fix" );
1208- break ;
1209- case (STATE_ROVER_RTK_FLOAT):
1210- systemPrint (" State: Rover - RTK Float" );
1211- break ;
1212- case (STATE_ROVER_RTK_FIX):
1213- systemPrint (" State: Rover - RTK Fix" );
1214- break ;
1215- case (STATE_BASE_NOT_STARTED):
1216- systemPrint (" State: Base - Not Started" );
1217- break ;
1218- case (STATE_BASE_TEMP_SETTLE):
1219- systemPrint (" State: Base-Temp - Settle" );
1220- break ;
1221- case (STATE_BASE_TEMP_SURVEY_STARTED):
1222- systemPrint (" State: Base-Temp - Survey Started" );
1223- break ;
1224- case (STATE_BASE_TEMP_TRANSMITTING):
1225- systemPrint (" State: Base-Temp - Transmitting" );
1226- break ;
1227- case (STATE_BASE_FIXED_NOT_STARTED):
1228- systemPrint (" State: Base-Fixed - Not Started" );
1229- break ;
1230- case (STATE_BASE_FIXED_TRANSMITTING):
1231- systemPrint (" State: Base-Fixed - Transmitting" );
1232- break ;
1233- case (STATE_BUBBLE_LEVEL):
1234- systemPrint (" State: Bubble level" );
1235- break ;
1236- case (STATE_MARK_EVENT):
1237- systemPrint (" State: Mark Event" );
1238- break ;
1239- case (STATE_DISPLAY_SETUP):
1240- systemPrint (" State: Display Setup" );
1241- break ;
1242- case (STATE_WIFI_CONFIG_NOT_STARTED):
1243- systemPrint (" State: WiFi Config Not Started" );
1244- break ;
1245- case (STATE_WIFI_CONFIG):
1246- systemPrint (" State: WiFi Config" );
1247- break ;
1248- case (STATE_TEST):
1249- systemPrint (" State: System Test Setup" );
1250- break ;
1251- case (STATE_TESTING):
1252- systemPrint (" State: System Testing" );
1253- break ;
1254- case (STATE_PROFILE):
1255- systemPrint (" State: Profile" );
1256- break ;
1257- #ifdef COMPILE_L_BAND
1258- case (STATE_KEYS_STARTED):
1259- systemPrint (" State: Keys Started " );
1260- break ;
1261- case (STATE_KEYS_NEEDED):
1262- systemPrint (" State: Keys Needed" );
1263- break ;
1264- case (STATE_KEYS_WIFI_STARTED):
1265- systemPrint (" State: Keys WiFi Started" );
1266- break ;
1267- case (STATE_KEYS_WIFI_CONNECTED):
1268- systemPrint (" State: Keys WiFi Connected" );
1269- break ;
1270- case (STATE_KEYS_WIFI_TIMEOUT):
1271- systemPrint (" State: Keys WiFi Timeout" );
1272- break ;
1273- case (STATE_KEYS_EXPIRED):
1274- systemPrint (" State: Keys Expired" );
1275- break ;
1276- case (STATE_KEYS_DAYS_REMAINING):
1277- systemPrint (" State: Keys Days Remaining" );
1278- break ;
1279- case (STATE_KEYS_LBAND_CONFIGURE):
1280- systemPrint (" State: Keys L-Band Configure" );
1281- break ;
1282- case (STATE_KEYS_LBAND_ENCRYPTED):
1283- systemPrint (" State: Keys L-Band Encrypted" );
1284- break ;
1285- case (STATE_KEYS_PROVISION_WIFI_STARTED):
1286- systemPrint (" State: Keys Provision - WiFi Started" );
1287- break ;
1288- case (STATE_KEYS_PROVISION_WIFI_CONNECTED):
1289- systemPrint (" State: Keys Provision - WiFi Connected" );
1290- break ;
1291- case (STATE_KEYS_PROVISION_WIFI_TIMEOUT):
1292- systemPrint (" State: Keys Provision - WiFi Timeout" );
1293- break ;
1294- #endif // COMPILE_L_BAND
1317+ endingState = getState (newState, string2);
12951318
1296- case (STATE_ESPNOW_PAIRING_NOT_STARTED):
1297- systemPrint (" State: ESP-Now Pairing Not Started" );
1298- break ;
1299- case (STATE_ESPNOW_PAIRING):
1300- systemPrint (" State: ESP-Now Pairing" );
1301- break ;
1302-
1303- case (STATE_NTPSERVER_NOT_STARTED):
1304- systemPrint (" State: NTP Server - Not Started" );
1305- break ;
1306- case (STATE_NTPSERVER_NO_SYNC):
1307- systemPrint (" State: NTP Server - No Sync" );
1308- break ;
1309- case (STATE_NTPSERVER_SYNC):
1310- systemPrint (" State: NTP Server - Sync" );
1311- break ;
1312-
1313- case (STATE_CONFIG_VIA_ETH_NOT_STARTED):
1314- systemPrint (" State: Configure Via Ethernet - Not Started" );
1315- break ;
1316- case (STATE_CONFIG_VIA_ETH_STARTED):
1317- systemPrint (" State: Configure Via Ethernet - Started" );
1318- break ;
1319- case (STATE_CONFIG_VIA_ETH):
1320- systemPrint (" State: Configure Via Ethernet" );
1321- break ;
1322- case (STATE_CONFIG_VIA_ETH_RESTART_BASE):
1323- systemPrint (" State: Configure Via Ethernet - Restarting Base" );
1324- break ;
1325-
1326- case (STATE_SHUTDOWN):
1327- systemPrint (" State: Shut Down" );
1328- break ;
1329- case (STATE_NOT_SET):
1330- systemPrint (" State: Not Set" );
1331- break ;
1332- default :
1333- systemPrintf (" Change State Unknown: %d" , systemState);
1334- break ;
1335- }
1336-
1337- if (online.rtc )
1319+ if (!online.rtc )
1320+ systemPrintf (" %s%s%s%s\r\n " , asterisk, initialState, arrow, endingState);
1321+ else
13381322 {
13391323 // Timestamp the state change
13401324 // 1 2
@@ -1343,9 +1327,7 @@ void changeState(SystemState newState)
13431327 struct tm timeinfo = rtc.getTimeStruct ();
13441328 char s[30 ];
13451329 strftime (s, sizeof (s), " %Y-%m-%d %H:%M:%S" , &timeinfo);
1346- systemPrintf (" , %s.%03ld" , s, rtc.getMillis ());
1330+ systemPrintf (" %s%s%s%s , %s.%03ld\r\n " , asterisk, initialState, arrow, endingState , s, rtc.getMillis ());
13471331 }
1348-
1349- systemPrintln ();
13501332 }
13511333}
0 commit comments