Skip to content

Commit e6ec7b6

Browse files
committed
Add delays to show display states. Reset RTCM counts on state changes.
1 parent e0c0c94 commit e6ec7b6

File tree

1 file changed

+57
-36
lines changed

1 file changed

+57
-36
lines changed

Firmware/RTK_Surveyor/States.ino

Lines changed: 57 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ void updateSystemState()
5656
{
5757
//Blink base LED slowly while we wait for first fix
5858
if (millis() - lastBaseLEDupdate > 1000)
59-
{
59+
{
6060
lastBaseLEDupdate = millis();
6161
digitalWrite(baseStatusLED, !digitalRead(baseStatusLED));
6262
}
@@ -67,19 +67,31 @@ void updateSystemState()
6767
float f_accuracy = accuracy;
6868
f_accuracy = f_accuracy / 10000.0; // Convert the horizontal accuracy (mm * 10^-1) to a float
6969

70-
Serial.printf("Waiting for Horz Accuracy < %0.2f meters: %0.2f\n", settings.surveyInStartingAccuracy, f_accuracy);
71-
7270
if (f_accuracy > 0.0 && f_accuracy < settings.surveyInStartingAccuracy)
7371
{
74-
displaySurveyStart(); //Show 'Survey Started'
72+
displayBaseStart(); //Show 'Base'
7573
if (configureUbloxModuleBase() == true)
7674
{
75+
displayBaseSuccess(); //Show 'Base Started'
76+
delay(500);
77+
displaySurveyStart(); //Show 'Survey'
78+
7779
if (surveyIn() == true) //Begin survey
7880
{
81+
Serial.printf("Waiting for Horz Accuracy < %0.2f meters: %0.2f\n", settings.surveyInStartingAccuracy, f_accuracy);
82+
7983
displaySurveyStarted(); //Show 'Survey Started'
84+
delay(500);
85+
8086
changeState(STATE_BASE_TEMP_SURVEY_STARTED);
8187
}
8288
}
89+
else
90+
{
91+
Serial.println(F("Base config failed!"));
92+
displayBaseFail();
93+
delay(1000);
94+
}
8395
}
8496
}
8597
break;
@@ -89,7 +101,7 @@ void updateSystemState()
89101
{
90102
//Blink base LED quickly during survey in
91103
if (millis() - lastBaseLEDupdate > 500)
92-
{
104+
{
93105
lastBaseLEDupdate = millis();
94106
digitalWrite(baseStatusLED, !digitalRead(baseStatusLED));
95107
}
@@ -98,6 +110,8 @@ void updateSystemState()
98110
{
99111
Serial.println(F("Base survey complete! RTCM now broadcasting."));
100112
digitalWrite(baseStatusLED, HIGH); //Indicate survey complete
113+
114+
rtcmPacketsSent = 0; //Reset any previous number
101115
changeState(STATE_BASE_TEMP_TRANSMITTING);
102116
}
103117
else
@@ -166,20 +180,20 @@ void updateSystemState()
166180

167181
changeState(STATE_BASE_TEMP_WIFI_CONNECTED);
168182
}
169-
else
170-
{
171-
Serial.print(F("WiFi Status: "));
172-
switch (wifiStatus) {
173-
case WL_NO_SHIELD: Serial.println(F("WL_NO_SHIELD"));
174-
case WL_IDLE_STATUS: Serial.println(F("WL_IDLE_STATUS"));
175-
case WL_NO_SSID_AVAIL: Serial.println(F("WL_NO_SSID_AVAIL"));
176-
case WL_SCAN_COMPLETED: Serial.println(F("WL_SCAN_COMPLETED"));
177-
case WL_CONNECTED: Serial.println(F("WL_CONNECTED"));
178-
case WL_CONNECT_FAILED: Serial.println(F("WL_CONNECT_FAILED"));
179-
case WL_CONNECTION_LOST: Serial.println(F("WL_CONNECTION_LOST"));
180-
case WL_DISCONNECTED: Serial.println(F("WL_DISCONNECTED"));
181-
}
182-
}
183+
// else
184+
// {
185+
// Serial.print(F("WiFi Status: "));
186+
// switch (wifiStatus) {
187+
// case WL_NO_SHIELD: Serial.println(F("WL_NO_SHIELD")); break;
188+
// case WL_IDLE_STATUS: Serial.println(F("WL_IDLE_STATUS")); break;
189+
// case WL_NO_SSID_AVAIL: Serial.println(F("WL_NO_SSID_AVAIL")); break;
190+
// case WL_SCAN_COMPLETED: Serial.println(F("WL_SCAN_COMPLETED")); break;
191+
// case WL_CONNECTED: Serial.println(F("WL_CONNECTED")); break;
192+
// case WL_CONNECT_FAILED: Serial.println(F("WL_CONNECT_FAILED")); break;
193+
// case WL_CONNECTION_LOST: Serial.println(F("WL_CONNECTION_LOST")); break;
194+
// case WL_DISCONNECTED: Serial.println(F("WL_DISCONNECTED")); break;
195+
// }
196+
// }
183197
}
184198
break;
185199

@@ -254,6 +268,8 @@ void updateSystemState()
254268
lastServerSent_ms = millis();
255269
casterBytesSent = 0;
256270

271+
rtcmPacketsSent = 0; //Reset any previous number
272+
257273
changeState(STATE_BASE_TEMP_CASTER_CONNECTED);
258274
}
259275
}
@@ -283,6 +299,9 @@ void updateSystemState()
283299
WiFi.begin(settings.wifiSSID, settings.wifiPW);
284300

285301
radioState = WIFI_ON_NOCONNECTION;
302+
303+
rtcmPacketsSent = 0; //Reset any previous number
304+
286305
changeState(STATE_BASE_FIXED_WIFI_STARTED);
287306
}
288307
}
@@ -298,20 +317,20 @@ void updateSystemState()
298317

299318
changeState(STATE_BASE_FIXED_WIFI_CONNECTED);
300319
}
301-
else
302-
{
303-
Serial.print(F("WiFi Status: "));
304-
switch (wifiStatus) {
305-
case WL_NO_SHIELD: Serial.println(F("WL_NO_SHIELD")); break;
306-
case WL_IDLE_STATUS: Serial.println(F("WL_IDLE_STATUS")); break;
307-
case WL_NO_SSID_AVAIL: Serial.println(F("WL_NO_SSID_AVAIL")); break;
308-
case WL_SCAN_COMPLETED: Serial.println(F("WL_SCAN_COMPLETED")); break;
309-
case WL_CONNECTED: Serial.println(F("WL_CONNECTED")); break;
310-
case WL_CONNECT_FAILED: Serial.println(F("WL_CONNECT_FAILED")); break;
311-
case WL_CONNECTION_LOST: Serial.println(F("WL_CONNECTION_LOST")); break;
312-
case WL_DISCONNECTED: Serial.println(F("WL_DISCONNECTED")); break;
313-
}
314-
}
320+
// else
321+
// {
322+
// Serial.print(F("WiFi Status: "));
323+
// switch (wifiStatus) {
324+
// case WL_NO_SHIELD: Serial.println(F("WL_NO_SHIELD")); break;
325+
// case WL_IDLE_STATUS: Serial.println(F("WL_IDLE_STATUS")); break;
326+
// case WL_NO_SSID_AVAIL: Serial.println(F("WL_NO_SSID_AVAIL")); break;
327+
// case WL_SCAN_COMPLETED: Serial.println(F("WL_SCAN_COMPLETED")); break;
328+
// case WL_CONNECTED: Serial.println(F("WL_CONNECTED")); break;
329+
// case WL_CONNECT_FAILED: Serial.println(F("WL_CONNECT_FAILED")); break;
330+
// case WL_CONNECTION_LOST: Serial.println(F("WL_CONNECTION_LOST")); break;
331+
// case WL_DISCONNECTED: Serial.println(F("WL_DISCONNECTED")); break;
332+
// }
333+
// }
315334
}
316335
break;
317336

@@ -332,7 +351,7 @@ void updateSystemState()
332351
snprintf(serverBuffer, SERVER_BUFFER_SIZE, "SOURCE %s /%s\r\nSource-Agent: NTRIP %s/%s\r\n\r\n",
333352
settings.mountPointPW, settings.mountPoint, ntrip_server_name, "App Version 1.0");
334353

335-
Serial.printf("Sending credentials:\n%s\n", serverBuffer);
354+
//Serial.printf("Sending credentials:\n%s\n", serverBuffer);
336355
caster.write(serverBuffer, strlen(serverBuffer));
337356

338357
casterResponseWaitStartTime = millis();
@@ -370,7 +389,7 @@ void updateSystemState()
370389
if (responseSpot == 512 - 1) break;
371390
}
372391
response[responseSpot] = '\0';
373-
Serial.printf("Caster responded with: %s\n", response);
392+
//Serial.printf("Caster responded with: %s\n", response);
374393

375394
if (connectionSuccess == false)
376395
{
@@ -380,13 +399,15 @@ void updateSystemState()
380399
else
381400
{
382401
//We're connected!
383-
Serial.println(F("Connected to caster"));
402+
//Serial.println(F("Connected to caster"));
384403

385404
//Reset flags
386405
lastServerReport_ms = millis();
387406
lastServerSent_ms = millis();
388407
casterBytesSent = 0;
389408

409+
rtcmPacketsSent = 0; //Reset any previous number
410+
390411
changeState(STATE_BASE_FIXED_CASTER_CONNECTED);
391412
}
392413
}

0 commit comments

Comments
 (0)