Skip to content

Commit 5eb01e5

Browse files
committed
Print state only when state changes
1 parent 8eb95d5 commit 5eb01e5

File tree

1 file changed

+85
-79
lines changed

1 file changed

+85
-79
lines changed

Firmware/RTK_Surveyor/States.ino

Lines changed: 85 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -17,37 +17,37 @@ void updateSystemState()
1717
case (STATE_ROVER_NO_FIX):
1818
{
1919
if (i2cGNSS.getFixType() == 3) //3D
20-
systemState = STATE_ROVER_FIX;
20+
changeState(STATE_ROVER_FIX);
2121
}
2222
break;
2323

2424
case (STATE_ROVER_FIX):
2525
{
2626
byte rtkType = i2cGNSS.getCarrierSolutionType();
2727
if (rtkType == 1) //RTK Float
28-
systemState = STATE_ROVER_RTK_FLOAT;
28+
changeState(STATE_ROVER_RTK_FLOAT);
2929
else if (rtkType == 2) //RTK Fix
30-
systemState = STATE_ROVER_RTK_FIX;
30+
changeState(STATE_ROVER_RTK_FIX);
3131
}
3232
break;
3333

3434
case (STATE_ROVER_RTK_FLOAT):
3535
{
3636
byte rtkType = i2cGNSS.getCarrierSolutionType();
3737
if (rtkType == 0) //No RTK
38-
systemState = STATE_ROVER_FIX;
38+
changeState(STATE_ROVER_FIX);
3939
if (rtkType == 2) //RTK Fix
40-
systemState = STATE_ROVER_RTK_FIX;
40+
changeState(STATE_ROVER_RTK_FIX);
4141
}
4242
break;
4343

4444
case (STATE_ROVER_RTK_FIX):
4545
{
4646
byte rtkType = i2cGNSS.getCarrierSolutionType();
4747
if (rtkType == 0) //No RTK
48-
systemState = STATE_ROVER_FIX;
48+
changeState(STATE_ROVER_FIX);
4949
if (rtkType == 1) //RTK Float
50-
systemState = STATE_ROVER_RTK_FLOAT;
50+
changeState(STATE_ROVER_RTK_FLOAT);
5151
}
5252
break;
5353

@@ -70,7 +70,7 @@ void updateSystemState()
7070
if (surveyIn() == true) //Begin survey
7171
{
7272
displaySurveyStarted(); //Show 'Survey Started'
73-
systemState = STATE_BASE_TEMP_SURVEY_STARTED;
73+
changeState(STATE_BASE_TEMP_SURVEY_STARTED);
7474
}
7575
}
7676
}
@@ -83,7 +83,7 @@ void updateSystemState()
8383
if (i2cGNSS.getFixType() == 5) //We have a TIME fix which is survey in complete
8484
{
8585
Serial.println(F("Base survey complete! RTCM now broadcasting."));
86-
systemState = STATE_BASE_TEMP_TRANSMITTING;
86+
changeState(STATE_BASE_TEMP_TRANSMITTING);
8787
}
8888
else
8989
{
@@ -116,7 +116,7 @@ void updateSystemState()
116116

117117
beginBluetooth(); //Restart Bluetooth with 'Rover' name
118118

119-
systemState = STATE_ROVER_NO_FIX;
119+
changeState(STATE_ROVER_NO_FIX);
120120
displayRoverSuccess();
121121
}
122122
}
@@ -135,7 +135,7 @@ void updateSystemState()
135135
WiFi.begin(settings.wifiSSID, settings.wifiPW);
136136

137137
radioState = WIFI_ON_NOCONNECTION;
138-
systemState = STATE_BASE_TEMP_WIFI_STARTED;
138+
changeState(STATE_BASE_TEMP_WIFI_STARTED);
139139
}
140140
}
141141
break;
@@ -148,7 +148,7 @@ void updateSystemState()
148148
{
149149
radioState = WIFI_CONNECTED;
150150

151-
systemState = STATE_BASE_TEMP_WIFI_CONNECTED;
151+
changeState(STATE_BASE_TEMP_WIFI_CONNECTED);
152152
}
153153
else
154154
{
@@ -174,7 +174,7 @@ void updateSystemState()
174174
//Open connection to caster service
175175
if (caster.connect(settings.casterHost, settings.casterPort) == true) //Attempt connection
176176
{
177-
systemState = STATE_BASE_TEMP_CASTER_STARTED;
177+
changeState(STATE_BASE_TEMP_CASTER_STARTED);
178178

179179
Serial.printf("Connected to %s:%d\n", settings.casterHost, settings.casterPort);
180180

@@ -205,7 +205,7 @@ void updateSystemState()
205205
caster.stop();
206206
delay(10); //Yield to RTOS
207207

208-
systemState = STATE_BASE_TEMP_WIFI_CONNECTED; //Return to previous state
208+
changeState(STATE_BASE_TEMP_WIFI_CONNECTED); //Return to previous state
209209
}
210210
}
211211
else
@@ -227,7 +227,7 @@ void updateSystemState()
227227
if (connectionSuccess == false)
228228
{
229229
Serial.printf("Caster responded with bad news: %s. Are you sure your caster credentials are correct?", response);
230-
systemState = STATE_BASE_TEMP_WIFI_CONNECTED; //Return to previous state
230+
changeState(STATE_BASE_TEMP_WIFI_CONNECTED); //Return to previous state
231231
}
232232
else
233233
{
@@ -239,7 +239,7 @@ void updateSystemState()
239239
lastServerSent_ms = millis();
240240
serverBytesSent = 0;
241241

242-
systemState = STATE_BASE_TEMP_CASTER_CONNECTED;
242+
changeState(STATE_BASE_TEMP_CASTER_CONNECTED);
243243
}
244244
}
245245
}
@@ -250,7 +250,7 @@ void updateSystemState()
250250
{
251251
if (caster.connected() == false)
252252
{
253-
systemState = STATE_BASE_TEMP_WIFI_CONNECTED; //Return to 2 earlier states to try to reconnect
253+
changeState(STATE_BASE_TEMP_WIFI_CONNECTED); //Return to 2 earlier states to try to reconnect
254254
}
255255
}
256256
break;
@@ -267,7 +267,7 @@ void updateSystemState()
267267
WiFi.begin(settings.wifiSSID, settings.wifiPW);
268268

269269
radioState = WIFI_ON_NOCONNECTION;
270-
systemState = STATE_BASE_FIXED_WIFI_STARTED;
270+
changeState(STATE_BASE_FIXED_WIFI_STARTED);
271271
}
272272
}
273273
break;
@@ -280,7 +280,7 @@ void updateSystemState()
280280
{
281281
radioState = WIFI_CONNECTED;
282282

283-
systemState = STATE_BASE_FIXED_WIFI_CONNECTED;
283+
changeState(STATE_BASE_FIXED_WIFI_CONNECTED);
284284
}
285285
else
286286
{
@@ -306,7 +306,7 @@ void updateSystemState()
306306
//Open connection to caster service
307307
if (caster.connect(settings.casterHost, settings.casterPort) == true) //Attempt connection
308308
{
309-
systemState = STATE_BASE_FIXED_CASTER_STARTED;
309+
changeState(STATE_BASE_FIXED_CASTER_STARTED);
310310

311311
Serial.printf("Connected to %s:%d\n", settings.casterHost, settings.casterPort);
312312

@@ -337,7 +337,7 @@ void updateSystemState()
337337
caster.stop();
338338
delay(10); //Yield to RTOS
339339

340-
systemState = STATE_BASE_FIXED_WIFI_CONNECTED; //Return to previous state
340+
changeState(STATE_BASE_FIXED_WIFI_CONNECTED); //Return to previous state
341341
}
342342
}
343343
else
@@ -359,7 +359,7 @@ void updateSystemState()
359359
if (connectionSuccess == false)
360360
{
361361
Serial.printf("Caster responded with bad news: %s. Are you sure your caster credentials are correct?", response);
362-
systemState = STATE_BASE_FIXED_WIFI_CONNECTED; //Return to previous state
362+
changeState(STATE_BASE_FIXED_WIFI_CONNECTED); //Return to previous state
363363
}
364364
else
365365
{
@@ -371,7 +371,7 @@ void updateSystemState()
371371
lastServerSent_ms = millis();
372372
serverBytesSent = 0;
373373

374-
systemState = STATE_BASE_FIXED_CASTER_CONNECTED;
374+
changeState(STATE_BASE_FIXED_CASTER_CONNECTED);
375375
}
376376
}
377377
}
@@ -382,67 +382,73 @@ void updateSystemState()
382382
{
383383
if (caster.connected() == false)
384384
{
385-
systemState = STATE_BASE_FIXED_WIFI_CONNECTED; //Return to 2 earlier states to try to reconnect
385+
changeState(STATE_BASE_FIXED_WIFI_CONNECTED);
386386
}
387387
}
388388
break;
389389

390390
}
391+
}
392+
}
391393

392-
//Debug print
393-
switch (systemState)
394-
{
395-
case (STATE_ROVER_NO_FIX):
396-
Serial.println(F("State: Rover - No Fix"));
397-
break;
398-
case (STATE_ROVER_FIX):
399-
Serial.println(F("State: Rover - Fix"));
400-
break;
401-
case (STATE_ROVER_RTK_FLOAT):
402-
Serial.println(F("State: Rover - RTK Float"));
403-
break;
404-
case (STATE_ROVER_RTK_FIX):
405-
Serial.println(F("State: Rover - RTK Fix"));
406-
break;
407-
case (STATE_BASE_TEMP_SURVEY_NOT_STARTED):
408-
Serial.println(F("State: Base-Temp - Survey Not Started"));
409-
break;
410-
case (STATE_BASE_TEMP_SURVEY_STARTED):
411-
Serial.println(F("State: Base-Temp - Survey Started"));
412-
break;
413-
case (STATE_BASE_TEMP_TRANSMITTING):
414-
Serial.println(F("State: Base-Temp - Transmitting"));
415-
break;
416-
case (STATE_BASE_TEMP_WIFI_STARTED):
417-
Serial.println(F("State: Base-Temp - WiFi Started"));
418-
break;
419-
case (STATE_BASE_TEMP_WIFI_CONNECTED):
420-
Serial.println(F("State: Base-Temp - WiFi Connected"));
421-
break;
422-
case (STATE_BASE_TEMP_CASTER_STARTED):
423-
Serial.println(F("State: Base-Temp - Caster Started"));
424-
break;
425-
case (STATE_BASE_TEMP_CASTER_CONNECTED):
426-
Serial.println(F("State: Base-Temp - Caster Connected"));
427-
break;
428-
case (STATE_BASE_FIXED_TRANSMITTING):
429-
Serial.println(F("State: Base-Fixed - Transmitting"));
430-
break;
431-
case (STATE_BASE_FIXED_WIFI_STARTED):
432-
Serial.println(F("State: Base-Fixed - WiFi Started"));
433-
break;
434-
case (STATE_BASE_FIXED_WIFI_CONNECTED):
435-
Serial.println(F("State: Base-Fixed - WiFi Connected"));
436-
break;
437-
case (STATE_BASE_FIXED_CASTER_STARTED):
438-
Serial.println(F("State: Base-Fixed - Caster Started"));
439-
break;
440-
case (STATE_BASE_FIXED_CASTER_CONNECTED):
441-
Serial.println(F("State: Base-Fixed - Caster Connected"));
442-
break;
443-
default:
444-
Serial.printf("State Unknown: %d\n", systemState);
445-
break;
446-
}
394+
//Change states and print the new state
395+
void changeState(SystemState newState)
396+
{
397+
systemState = newState;
398+
399+
//Debug print
400+
switch (systemState)
401+
{
402+
case (STATE_ROVER_NO_FIX):
403+
Serial.println(F("State: Rover - No Fix"));
404+
break;
405+
case (STATE_ROVER_FIX):
406+
Serial.println(F("State: Rover - Fix"));
407+
break;
408+
case (STATE_ROVER_RTK_FLOAT):
409+
Serial.println(F("State: Rover - RTK Float"));
410+
break;
411+
case (STATE_ROVER_RTK_FIX):
412+
Serial.println(F("State: Rover - RTK Fix"));
413+
break;
414+
case (STATE_BASE_TEMP_SURVEY_NOT_STARTED):
415+
Serial.println(F("State: Base-Temp - Survey Not Started"));
416+
break;
417+
case (STATE_BASE_TEMP_SURVEY_STARTED):
418+
Serial.println(F("State: Base-Temp - Survey Started"));
419+
break;
420+
case (STATE_BASE_TEMP_TRANSMITTING):
421+
Serial.println(F("State: Base-Temp - Transmitting"));
422+
break;
423+
case (STATE_BASE_TEMP_WIFI_STARTED):
424+
Serial.println(F("State: Base-Temp - WiFi Started"));
425+
break;
426+
case (STATE_BASE_TEMP_WIFI_CONNECTED):
427+
Serial.println(F("State: Base-Temp - WiFi Connected"));
428+
break;
429+
case (STATE_BASE_TEMP_CASTER_STARTED):
430+
Serial.println(F("State: Base-Temp - Caster Started"));
431+
break;
432+
case (STATE_BASE_TEMP_CASTER_CONNECTED):
433+
Serial.println(F("State: Base-Temp - Caster Connected"));
434+
break;
435+
case (STATE_BASE_FIXED_TRANSMITTING):
436+
Serial.println(F("State: Base-Fixed - Transmitting"));
437+
break;
438+
case (STATE_BASE_FIXED_WIFI_STARTED):
439+
Serial.println(F("State: Base-Fixed - WiFi Started"));
440+
break;
441+
case (STATE_BASE_FIXED_WIFI_CONNECTED):
442+
Serial.println(F("State: Base-Fixed - WiFi Connected"));
443+
break;
444+
case (STATE_BASE_FIXED_CASTER_STARTED):
445+
Serial.println(F("State: Base-Fixed - Caster Started"));
446+
break;
447+
case (STATE_BASE_FIXED_CASTER_CONNECTED):
448+
Serial.println(F("State: Base-Fixed - Caster Connected"));
449+
break;
450+
default:
451+
Serial.printf("State Unknown: %d\n", systemState);
452+
break;
447453
}
448454
}

0 commit comments

Comments
 (0)