Skip to content

Commit c5e3545

Browse files
authored
Merge pull request #676 from LeeLeahy2/get-state
Print state as currentState --> newState, or *currentState w/timestamp
2 parents e7eb95f + a99aa90 commit c5e3545

File tree

1 file changed

+127
-145
lines changed

1 file changed

+127
-145
lines changed

Firmware/RTK_Surveyor/States.ino

Lines changed: 127 additions & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -1179,164 +1179,148 @@ void requestChangeState(SystemState requestedState)
11791179
log_d("Requested System State: %d", requestedSystemState);
11801180
}
11811181

1182+
// Print the current state
1183+
const char * getState(SystemState state, char * buffer)
1184+
{
1185+
switch (state)
1186+
{
1187+
case (STATE_ROVER_NOT_STARTED):
1188+
return "STATE_ROVER_NOT_STARTED";
1189+
case (STATE_ROVER_NO_FIX):
1190+
return "STATE_ROVER_NO_FIX";
1191+
case (STATE_ROVER_FIX):
1192+
return "STATE_ROVER_FIX";
1193+
case (STATE_ROVER_RTK_FLOAT):
1194+
return "STATE_ROVER_RTK_FLOAT";
1195+
case (STATE_ROVER_RTK_FIX):
1196+
return "STATE_ROVER_RTK_FIX";
1197+
case (STATE_BASE_NOT_STARTED):
1198+
return "STATE_BASE_NOT_STARTED";
1199+
case (STATE_BASE_TEMP_SETTLE):
1200+
return "STATE_BASE_TEMP_SETTLE";
1201+
case (STATE_BASE_TEMP_SURVEY_STARTED):
1202+
return "STATE_BASE_TEMP_SURVEY_STARTED";
1203+
case (STATE_BASE_TEMP_TRANSMITTING):
1204+
return "STATE_BASE_TEMP_TRANSMITTING";
1205+
case (STATE_BASE_FIXED_NOT_STARTED):
1206+
return "STATE_BASE_FIXED_NOT_STARTED";
1207+
case (STATE_BASE_FIXED_TRANSMITTING):
1208+
return "STATE_BASE_FIXED_TRANSMITTING";
1209+
case (STATE_BUBBLE_LEVEL):
1210+
return "STATE_BUBBLE_LEVEL";
1211+
case (STATE_MARK_EVENT):
1212+
return "STATE_MARK_EVENT";
1213+
case (STATE_DISPLAY_SETUP):
1214+
return "STATE_DISPLAY_SETUP";
1215+
case (STATE_WIFI_CONFIG_NOT_STARTED):
1216+
return "STATE_WIFI_CONFIG_NOT_STARTED";
1217+
case (STATE_WIFI_CONFIG):
1218+
return "STATE_WIFI_CONFIG";
1219+
case (STATE_TEST):
1220+
return "STATE_TEST";
1221+
case (STATE_TESTING):
1222+
return "STATE_TESTING";
1223+
case (STATE_PROFILE):
1224+
return "STATE_PROFILE";
1225+
#ifdef COMPILE_L_BAND
1226+
case (STATE_KEYS_STARTED):
1227+
return "STATE_KEYS_STARTED";
1228+
case (STATE_KEYS_NEEDED):
1229+
return "STATE_KEYS_NEEDED";
1230+
case (STATE_KEYS_WIFI_STARTED):
1231+
return "STATE_KEYS_WIFI_STARTED";
1232+
case (STATE_KEYS_WIFI_CONNECTED):
1233+
return "STATE_KEYS_WIFI_CONNECTED";
1234+
case (STATE_KEYS_WIFI_TIMEOUT):
1235+
return "STATE_KEYS_WIFI_TIMEOUT";
1236+
case (STATE_KEYS_EXPIRED):
1237+
return "STATE_KEYS_EXPIRED";
1238+
case (STATE_KEYS_DAYS_REMAINING):
1239+
return "STATE_KEYS_DAYS_REMAINING";
1240+
case (STATE_KEYS_LBAND_CONFIGURE):
1241+
return "STATE_KEYS_LBAND_CONFIGURE";
1242+
case (STATE_KEYS_LBAND_ENCRYPTED):
1243+
return "STATE_KEYS_LBAND_ENCRYPTED";
1244+
case (STATE_KEYS_PROVISION_WIFI_STARTED):
1245+
return "STATE_KEYS_PROVISION_WIFI_STARTED";
1246+
case (STATE_KEYS_PROVISION_WIFI_CONNECTED):
1247+
return "STATE_KEYS_PROVISION_WIFI_CONNECTED";
1248+
case (STATE_KEYS_PROVISION_WIFI_TIMEOUT):
1249+
return "STATE_KEYS_PROVISION_WIFI_TIMEOUT";
1250+
#endif // COMPILE_L_BAND
1251+
1252+
case (STATE_ESPNOW_PAIRING_NOT_STARTED):
1253+
return "STATE_ESPNOW_PAIRING_NOT_STARTED";
1254+
case (STATE_ESPNOW_PAIRING):
1255+
return "STATE_ESPNOW_PAIRING";
1256+
1257+
case (STATE_NTPSERVER_NOT_STARTED):
1258+
return "STATE_NTPSERVER_NOT_STARTED";
1259+
case (STATE_NTPSERVER_NO_SYNC):
1260+
return "STATE_NTPSERVER_NO_SYNC";
1261+
case (STATE_NTPSERVER_SYNC):
1262+
return "STATE_NTPSERVER_SYNC";
1263+
1264+
case (STATE_CONFIG_VIA_ETH_NOT_STARTED):
1265+
return "STATE_CONFIG_VIA_ETH_NOT_STARTED";
1266+
case (STATE_CONFIG_VIA_ETH_STARTED):
1267+
return "STATE_CONFIG_VIA_ETH_STARTED";
1268+
case (STATE_CONFIG_VIA_ETH):
1269+
return "STATE_CONFIG_VIA_ETH";
1270+
case (STATE_CONFIG_VIA_ETH_RESTART_BASE):
1271+
return "STATE_CONFIG_VIA_ETH_RESTART_BASE";
1272+
1273+
case (STATE_SHUTDOWN):
1274+
return "STATE_SHUTDOWN";
1275+
case (STATE_NOT_SET):
1276+
return "STATE_NOT_SET";
1277+
}
1278+
1279+
// Handle the unknown case
1280+
sprintf(buffer, "Unknown: %d", state);
1281+
return buffer;
1282+
}
1283+
11821284
// Change states and print the new state
11831285
void changeState(SystemState newState)
11841286
{
1287+
char string1[30];
1288+
char string2[30];
1289+
const char * arrow;
1290+
const char * asterisk;
1291+
const char * initialState;
1292+
const char * endingState;
1293+
11851294
// Log the heap size at the state change
11861295
reportHeapNow(false);
11871296

11881297
// Debug print of new state, add leading asterisk for repeated states
11891298
if ((!settings.enablePrintDuplicateStates) && (newState == systemState))
11901299
return;
11911300

1192-
if (settings.enablePrintStates && (newState == systemState))
1193-
systemPrint("*");
1301+
if (settings.enablePrintStates)
1302+
{
1303+
arrow = "";
1304+
asterisk = "";
1305+
initialState = "";
1306+
if (newState == systemState)
1307+
asterisk = "*";
1308+
else
1309+
{
1310+
initialState = getState(systemState, string1);
1311+
arrow = " --> ";
1312+
}
1313+
}
11941314

11951315
// Set the new state
11961316
systemState = newState;
1197-
11981317
if (settings.enablePrintStates)
11991318
{
1200-
switch (systemState)
1201-
{
1202-
case (STATE_ROVER_NOT_STARTED):
1203-
systemPrint("State: Rover - Not Started");
1204-
break;
1205-
case (STATE_ROVER_NO_FIX):
1206-
systemPrint("State: Rover - No Fix");
1207-
break;
1208-
case (STATE_ROVER_FIX):
1209-
systemPrint("State: Rover - Fix");
1210-
break;
1211-
case (STATE_ROVER_RTK_FLOAT):
1212-
systemPrint("State: Rover - RTK Float");
1213-
break;
1214-
case (STATE_ROVER_RTK_FIX):
1215-
systemPrint("State: Rover - RTK Fix");
1216-
break;
1217-
case (STATE_BASE_NOT_STARTED):
1218-
systemPrint("State: Base - Not Started");
1219-
break;
1220-
case (STATE_BASE_TEMP_SETTLE):
1221-
systemPrint("State: Base-Temp - Settle");
1222-
break;
1223-
case (STATE_BASE_TEMP_SURVEY_STARTED):
1224-
systemPrint("State: Base-Temp - Survey Started");
1225-
break;
1226-
case (STATE_BASE_TEMP_TRANSMITTING):
1227-
systemPrint("State: Base-Temp - Transmitting");
1228-
break;
1229-
case (STATE_BASE_FIXED_NOT_STARTED):
1230-
systemPrint("State: Base-Fixed - Not Started");
1231-
break;
1232-
case (STATE_BASE_FIXED_TRANSMITTING):
1233-
systemPrint("State: Base-Fixed - Transmitting");
1234-
break;
1235-
case (STATE_BUBBLE_LEVEL):
1236-
systemPrint("State: Bubble level");
1237-
break;
1238-
case (STATE_MARK_EVENT):
1239-
systemPrint("State: Mark Event");
1240-
break;
1241-
case (STATE_DISPLAY_SETUP):
1242-
systemPrint("State: Display Setup");
1243-
break;
1244-
case (STATE_WIFI_CONFIG_NOT_STARTED):
1245-
systemPrint("State: WiFi Config Not Started");
1246-
break;
1247-
case (STATE_WIFI_CONFIG):
1248-
systemPrint("State: WiFi Config");
1249-
break;
1250-
case (STATE_TEST):
1251-
systemPrint("State: System Test Setup");
1252-
break;
1253-
case (STATE_TESTING):
1254-
systemPrint("State: System Testing");
1255-
break;
1256-
case (STATE_PROFILE):
1257-
systemPrint("State: Profile");
1258-
break;
1259-
#ifdef COMPILE_L_BAND
1260-
case (STATE_KEYS_STARTED):
1261-
systemPrint("State: Keys Started ");
1262-
break;
1263-
case (STATE_KEYS_NEEDED):
1264-
systemPrint("State: Keys Needed");
1265-
break;
1266-
case (STATE_KEYS_WIFI_STARTED):
1267-
systemPrint("State: Keys WiFi Started");
1268-
break;
1269-
case (STATE_KEYS_WIFI_CONNECTED):
1270-
systemPrint("State: Keys WiFi Connected");
1271-
break;
1272-
case (STATE_KEYS_WIFI_TIMEOUT):
1273-
systemPrint("State: Keys WiFi Timeout");
1274-
break;
1275-
case (STATE_KEYS_EXPIRED):
1276-
systemPrint("State: Keys Expired");
1277-
break;
1278-
case (STATE_KEYS_DAYS_REMAINING):
1279-
systemPrint("State: Keys Days Remaining");
1280-
break;
1281-
case (STATE_KEYS_LBAND_CONFIGURE):
1282-
systemPrint("State: Keys L-Band Configure");
1283-
break;
1284-
case (STATE_KEYS_LBAND_ENCRYPTED):
1285-
systemPrint("State: Keys L-Band Encrypted");
1286-
break;
1287-
case (STATE_KEYS_PROVISION_WIFI_STARTED):
1288-
systemPrint("State: Keys Provision - WiFi Started");
1289-
break;
1290-
case (STATE_KEYS_PROVISION_WIFI_CONNECTED):
1291-
systemPrint("State: Keys Provision - WiFi Connected");
1292-
break;
1293-
case (STATE_KEYS_PROVISION_WIFI_TIMEOUT):
1294-
systemPrint("State: Keys Provision - WiFi Timeout");
1295-
break;
1296-
#endif // COMPILE_L_BAND
1319+
endingState = getState(newState, string2);
12971320

1298-
case (STATE_ESPNOW_PAIRING_NOT_STARTED):
1299-
systemPrint("State: ESP-Now Pairing Not Started");
1300-
break;
1301-
case (STATE_ESPNOW_PAIRING):
1302-
systemPrint("State: ESP-Now Pairing");
1303-
break;
1304-
1305-
case (STATE_NTPSERVER_NOT_STARTED):
1306-
systemPrint("State: NTP Server - Not Started");
1307-
break;
1308-
case (STATE_NTPSERVER_NO_SYNC):
1309-
systemPrint("State: NTP Server - No Sync");
1310-
break;
1311-
case (STATE_NTPSERVER_SYNC):
1312-
systemPrint("State: NTP Server - Sync");
1313-
break;
1314-
1315-
case (STATE_CONFIG_VIA_ETH_NOT_STARTED):
1316-
systemPrint("State: Configure Via Ethernet - Not Started");
1317-
break;
1318-
case (STATE_CONFIG_VIA_ETH_STARTED):
1319-
systemPrint("State: Configure Via Ethernet - Started");
1320-
break;
1321-
case (STATE_CONFIG_VIA_ETH):
1322-
systemPrint("State: Configure Via Ethernet");
1323-
break;
1324-
case (STATE_CONFIG_VIA_ETH_RESTART_BASE):
1325-
systemPrint("State: Configure Via Ethernet - Restarting Base");
1326-
break;
1327-
1328-
case (STATE_SHUTDOWN):
1329-
systemPrint("State: Shut Down");
1330-
break;
1331-
case (STATE_NOT_SET):
1332-
systemPrint("State: Not Set");
1333-
break;
1334-
default:
1335-
systemPrintf("Change State Unknown: %d", systemState);
1336-
break;
1337-
}
1338-
1339-
if (online.rtc)
1321+
if (!online.rtc)
1322+
systemPrintf("%s%s%s%s\r\n", asterisk, initialState, arrow, endingState);
1323+
else
13401324
{
13411325
// Timestamp the state change
13421326
// 1 2
@@ -1345,9 +1329,7 @@ void changeState(SystemState newState)
13451329
struct tm timeinfo = rtc.getTimeStruct();
13461330
char s[30];
13471331
strftime(s, sizeof(s), "%Y-%m-%d %H:%M:%S", &timeinfo);
1348-
systemPrintf(", %s.%03ld", s, rtc.getMillis());
1332+
systemPrintf("%s%s%s%s, %s.%03ld\r\n", asterisk, initialState, arrow, endingState, s, rtc.getMillis());
13491333
}
1350-
1351-
systemPrintln();
13521334
}
13531335
}

0 commit comments

Comments
 (0)