Skip to content

Commit 5564427

Browse files
committed
Increase all menu timeouts to 10minutes
Fix #305
1 parent 68ffeeb commit 5564427

File tree

7 files changed

+36
-51
lines changed

7 files changed

+36
-51
lines changed

Firmware/RTK_Surveyor/RTK_Surveyor.ino

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ const int FIRMWARE_VERSION_MINOR = 5;
2727

2828
#define COMPILE_WIFI //Comment out to remove WiFi functionality
2929
#define COMPILE_AP //Requires WiFi. Comment out to remove Access Point functionality
30-
//#define COMPILE_ESPNOW //Requires WiFi. Comment out to remove ESP-Now functionality.
31-
//#define COMPILE_BT //Comment out to remove Bluetooth functionality
30+
#define COMPILE_ESPNOW //Requires WiFi. Comment out to remove ESP-Now functionality.
31+
#define COMPILE_BT //Comment out to remove Bluetooth functionality
3232
#define COMPILE_L_BAND //Comment out to remove L-Band functionality
3333
#define ENABLE_DEVELOPER //Uncomment this line to enable special developer modes (don't check power button at startup)
3434

@@ -377,7 +377,7 @@ const uint8_t ESPNOW_MAX_PEERS = 5; //Maximum of 5 rovers
377377
uint8_t wifiMACAddress[6]; //Display this address in the system menu
378378
uint8_t btMACAddress[6]; //Display this address when Bluetooth is enabled, otherwise display wifiMACAddress
379379
char deviceName[70]; //The serial string that is broadcast. Ex: 'Surveyor Base-BC61'
380-
const byte menuTimeout = 15; //Menus will exit/timeout after this number of seconds
380+
const uint16_t menuTimeout = 60 * 10; //Menus will exit/timeout after this number of seconds
381381
int systemTime_minutes = 0; //Used to test if logging is less than max minutes
382382
uint32_t powerPressedStartTime = 0; //Times how long user has been holding power button, used for power down
383383
bool inMainMenu = false; //Set true when in the serial config menu system.

Firmware/RTK_Surveyor/menuBase.ino

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
//Set the ECEF coordinates for a known location
33
void menuBase()
44
{
5-
int menuTimeoutExtended = 30; //Increase time needed for complex data entry (mount point ID, ECEF coords, etc).
6-
75
while (1)
86
{
97
Serial.println();
@@ -91,7 +89,7 @@ void menuBase()
9189

9290
Serial.println("x) Exit");
9391

94-
int incoming = getNumber(menuTimeoutExtended); //Timeout after x seconds
92+
int incoming = getNumber(menuTimeout); //Timeout after x seconds
9593

9694
if (incoming == 1)
9795
{
@@ -110,21 +108,21 @@ void menuBase()
110108
Serial.println("Enter the fixed ECEF coordinates that will be used in Base mode:");
111109

112110
Serial.print("ECEF X in meters (ex: -1280182.920): ");
113-
double fixedEcefX = getDouble(menuTimeoutExtended); //Timeout after x seconds
111+
double fixedEcefX = getDouble(menuTimeout); //Timeout after x seconds
114112

115113
//Progress with additional prompts only if the user enters valid data
116114
if (fixedEcefX != STATUS_GETNUMBER_TIMEOUT && fixedEcefX != STATUS_PRESSED_X)
117115
{
118116
settings.fixedEcefX = fixedEcefX;
119117

120118
Serial.print("\nECEF Y in meters (ex: -4716808.5807): ");
121-
double fixedEcefY = getDouble(menuTimeoutExtended);
119+
double fixedEcefY = getDouble(menuTimeout);
122120
if (fixedEcefY != STATUS_GETNUMBER_TIMEOUT && fixedEcefY != STATUS_PRESSED_X)
123121
{
124122
settings.fixedEcefY = fixedEcefY;
125123

126124
Serial.print("\nECEF Z in meters (ex: 4086669.6393): ");
127-
double fixedEcefZ = getDouble(menuTimeoutExtended);
125+
double fixedEcefZ = getDouble(menuTimeout);
128126
if (fixedEcefZ != STATUS_GETNUMBER_TIMEOUT && fixedEcefZ != STATUS_PRESSED_X)
129127
settings.fixedEcefZ = fixedEcefZ;
130128
}
@@ -135,21 +133,21 @@ void menuBase()
135133
Serial.println("Enter the fixed Lat/Long/Altitude coordinates that will be used in Base mode:");
136134

137135
Serial.print("Lat in degrees (ex: 40.090335429): ");
138-
double fixedLat = getDouble(menuTimeoutExtended); //Timeout after x seconds
136+
double fixedLat = getDouble(menuTimeout); //Timeout after x seconds
139137

140138
//Progress with additional prompts only if the user enters valid data
141139
if (fixedLat != STATUS_GETNUMBER_TIMEOUT && fixedLat != STATUS_PRESSED_X)
142140
{
143141
settings.fixedLat = fixedLat;
144142

145143
Serial.print("\nLong in degrees (ex: -105.184774720): ");
146-
double fixedLong = getDouble(menuTimeoutExtended);
144+
double fixedLong = getDouble(menuTimeout);
147145
if (fixedLong != STATUS_GETNUMBER_TIMEOUT && fixedLong != STATUS_PRESSED_X)
148146
{
149147
settings.fixedLong = fixedLong;
150148

151149
Serial.print("\nAltitude in meters (ex: 1560.2284): ");
152-
double fixedAltitude = getDouble(menuTimeoutExtended);
150+
double fixedAltitude = getDouble(menuTimeout);
153151
if (fixedAltitude != STATUS_GETNUMBER_TIMEOUT && fixedAltitude != STATUS_PRESSED_X)
154152
settings.fixedAltitude = fixedAltitude;
155153
}
@@ -227,26 +225,26 @@ void menuBase()
227225
else if (incoming == 7 && settings.enableNtripServer == true)
228226
{
229227
Serial.print("Enter local WiFi SSID: ");
230-
readLine(settings.ntripServer_wifiSSID, sizeof(settings.ntripServer_wifiSSID), menuTimeoutExtended);
228+
readLine(settings.ntripServer_wifiSSID, sizeof(settings.ntripServer_wifiSSID), menuTimeout);
231229
restartBase = true;
232230
}
233231
else if (incoming == 8 && settings.enableNtripServer == true)
234232
{
235233
Serial.printf("Enter password for WiFi network %s: ", settings.ntripServer_wifiSSID);
236-
readLine(settings.ntripServer_wifiPW, sizeof(settings.ntripServer_wifiPW), menuTimeoutExtended);
234+
readLine(settings.ntripServer_wifiPW, sizeof(settings.ntripServer_wifiPW), menuTimeout);
237235
restartBase = true;
238236
}
239237
else if (incoming == 9 && settings.enableNtripServer == true)
240238
{
241239
Serial.print("Enter new Caster Address: ");
242-
readLine(settings.ntripServer_CasterHost, sizeof(settings.ntripServer_CasterHost), menuTimeoutExtended);
240+
readLine(settings.ntripServer_CasterHost, sizeof(settings.ntripServer_CasterHost), menuTimeout);
243241
restartBase = true;
244242
}
245243
else if (incoming == 10 && settings.enableNtripServer == true)
246244
{
247245
Serial.print("Enter new Caster Port: ");
248246

249-
int ntripServer_CasterPort = getNumber(menuTimeoutExtended); //Timeout after x seconds
247+
int ntripServer_CasterPort = getNumber(menuTimeout); //Timeout after x seconds
250248
if (ntripServer_CasterPort < 1 || ntripServer_CasterPort > 99999) //Arbitrary 99k max port #
251249
Serial.println("Error: Caster Port out of range");
252250
else
@@ -256,13 +254,13 @@ void menuBase()
256254
else if (incoming == 11 && settings.enableNtripServer == true)
257255
{
258256
Serial.print("Enter new Mount Point: ");
259-
readLine(settings.ntripServer_MountPoint, sizeof(settings.ntripServer_MountPoint), menuTimeoutExtended);
257+
readLine(settings.ntripServer_MountPoint, sizeof(settings.ntripServer_MountPoint), menuTimeout);
260258
restartBase = true;
261259
}
262260
else if (incoming == 12 && settings.enableNtripServer == true)
263261
{
264262
Serial.printf("Enter password for Mount Point %s: ", settings.ntripServer_MountPoint);
265-
readLine(settings.ntripServer_MountPointPW, sizeof(settings.ntripServer_MountPointPW), menuTimeoutExtended);
263+
readLine(settings.ntripServer_MountPointPW, sizeof(settings.ntripServer_MountPointPW), menuTimeout);
266264
restartBase = true;
267265
}
268266
else if ((!settings.fixedBase) && (incoming == 13))

Firmware/RTK_Surveyor/menuGNSS.ino

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
//Update rate, constellations, etc
33
void menuGNSS()
44
{
5-
int menuTimeoutExtended = 30; //Increase time needed for complex data entry (mount point ID, caster credentials, etc).
6-
75
restartRover = false; //If user modifies any NTRIP settings, we need to restart the rover
86

97
while (1)
@@ -165,26 +163,26 @@ void menuGNSS()
165163
else if (incoming == 6 && settings.enableNtripClient == true)
166164
{
167165
Serial.print("Enter local WiFi SSID: ");
168-
readLine(settings.ntripClient_wifiSSID, sizeof(settings.ntripClient_wifiSSID), menuTimeoutExtended);
166+
readLine(settings.ntripClient_wifiSSID, sizeof(settings.ntripClient_wifiSSID), menuTimeout);
169167
restartRover = true;
170168
}
171169
else if (incoming == 7 && settings.enableNtripClient == true)
172170
{
173171
Serial.printf("Enter password for WiFi network %s: ", settings.ntripClient_wifiSSID);
174-
readLine(settings.ntripClient_wifiPW, sizeof(settings.ntripClient_wifiPW), menuTimeoutExtended);
172+
readLine(settings.ntripClient_wifiPW, sizeof(settings.ntripClient_wifiPW), menuTimeout);
175173
restartRover = true;
176174
}
177175
else if (incoming == 8 && settings.enableNtripClient == true)
178176
{
179177
Serial.print("Enter new Caster Address: ");
180-
readLine(settings.ntripClient_CasterHost, sizeof(settings.ntripClient_CasterHost), menuTimeoutExtended);
178+
readLine(settings.ntripClient_CasterHost, sizeof(settings.ntripClient_CasterHost), menuTimeout);
181179
restartRover = true;
182180
}
183181
else if (incoming == 9 && settings.enableNtripClient == true)
184182
{
185183
Serial.print("Enter new Caster Port: ");
186184

187-
int ntripClient_CasterPort = getNumber(menuTimeoutExtended); //Timeout after x seconds
185+
int ntripClient_CasterPort = getNumber(menuTimeout); //Timeout after x seconds
188186
if (ntripClient_CasterPort < 1 || ntripClient_CasterPort > 99999) //Arbitrary 99k max port #
189187
Serial.println("Error: Caster Port out of range");
190188
else
@@ -194,25 +192,25 @@ void menuGNSS()
194192
else if (incoming == 10 && settings.enableNtripClient == true)
195193
{
196194
Serial.printf("Enter user name for %s: ", settings.ntripClient_CasterHost);
197-
readLine(settings.ntripClient_CasterUser, sizeof(settings.ntripClient_CasterUser), menuTimeoutExtended);
195+
readLine(settings.ntripClient_CasterUser, sizeof(settings.ntripClient_CasterUser), menuTimeout);
198196
restartRover = true;
199197
}
200198
else if (incoming == 11 && settings.enableNtripClient == true)
201199
{
202200
Serial.printf("Enter user password for %s: ", settings.ntripClient_CasterHost);
203-
readLine(settings.ntripClient_CasterUserPW, sizeof(settings.ntripClient_CasterUserPW), menuTimeoutExtended);
201+
readLine(settings.ntripClient_CasterUserPW, sizeof(settings.ntripClient_CasterUserPW), menuTimeout);
204202
restartRover = true;
205203
}
206204
else if (incoming == 12 && settings.enableNtripClient == true)
207205
{
208206
Serial.print("Enter new Mount Point: ");
209-
readLine(settings.ntripClient_MountPoint, sizeof(settings.ntripClient_MountPoint), menuTimeoutExtended);
207+
readLine(settings.ntripClient_MountPoint, sizeof(settings.ntripClient_MountPoint), menuTimeout);
210208
restartRover = true;
211209
}
212210
else if (incoming == 13 && settings.enableNtripClient == true)
213211
{
214212
Serial.printf("Enter password for Mount Point %s: ", settings.ntripClient_MountPoint);
215-
readLine(settings.ntripClient_MountPointPW, sizeof(settings.ntripClient_MountPointPW), menuTimeoutExtended);
213+
readLine(settings.ntripClient_MountPointPW, sizeof(settings.ntripClient_MountPointPW), menuTimeout);
216214
restartRover = true;
217215
}
218216
else if (incoming == 14 && settings.enableNtripClient == true)

Firmware/RTK_Surveyor/menuMain.ino

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,6 @@ void menuMain()
137137
//Factory reset - updatesZEDSettings = true by default
138138
void menuUserProfiles()
139139
{
140-
int menuTimeoutExtended = 30; //Increase time needed for complex data entry (mount point ID, ECEF coords, etc).
141140
uint8_t originalProfileNumber = profileNumber;
142141

143142
bool forceReset = false; //If we reset a profile to default, the profile number has not changed, but we still need to reset
@@ -177,7 +176,7 @@ void menuUserProfiles()
177176
else if (incoming == MAX_PROFILE_COUNT + 1)
178177
{
179178
Serial.print("Enter new profile name: ");
180-
readLine(settings.profileName, sizeof(settings.profileName), menuTimeoutExtended);
179+
readLine(settings.profileName, sizeof(settings.profileName), menuTimeout);
181180
recordSystemSettings(); //We need to update this immediately in case user lists the available profiles again
182181
setProfileName(profileNumber);
183182
}

Firmware/RTK_Surveyor/menuPP.ino

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ void checkRXMCOR(UBX_RXM_COR_data_t *ubxDataStruct);
3030

3131
void menuPointPerfectKeys()
3232
{
33-
int menuTimeoutExtended = 30; //Increase time needed for complex data entry (mount point ID, caster credentials, etc).
34-
3533
while (1)
3634
{
3735
Serial.println();
@@ -100,12 +98,12 @@ void menuPointPerfectKeys()
10098
if (incoming == 1)
10199
{
102100
Serial.print("Enter Device Profile Token: ");
103-
readLine(settings.pointPerfectDeviceProfileToken, sizeof(settings.pointPerfectDeviceProfileToken), menuTimeoutExtended);
101+
readLine(settings.pointPerfectDeviceProfileToken, sizeof(settings.pointPerfectDeviceProfileToken), menuTimeout);
104102
}
105103
else if (incoming == 2)
106104
{
107105
Serial.print("Enter Current Key: ");
108-
readLine(settings.pointPerfectCurrentKey, sizeof(settings.pointPerfectCurrentKey), menuTimeoutExtended);
106+
readLine(settings.pointPerfectCurrentKey, sizeof(settings.pointPerfectCurrentKey), menuTimeout);
109107
}
110108
else if (incoming == 3)
111109
{
@@ -135,7 +133,7 @@ void menuPointPerfectKeys()
135133
else if (incoming == 4)
136134
{
137135
Serial.print("Enter Next Key: ");
138-
readLine(settings.pointPerfectNextKey, sizeof(settings.pointPerfectNextKey), menuTimeoutExtended);
136+
readLine(settings.pointPerfectNextKey, sizeof(settings.pointPerfectNextKey), menuTimeout);
139137
}
140138
else if (incoming == 5)
141139
{
@@ -517,20 +515,18 @@ void mqttCallback(char* topic, byte* message, unsigned int length)
517515
//https://www.includehelp.com/c-programs/validate-date.aspx
518516
bool getDate(uint8_t &dd, uint8_t &mm, uint16_t &yy)
519517
{
520-
int menuTimeoutExtended = 30; //Increase time needed for complex data entry (mount point ID, caster credentials, etc).
521-
522518
char temp[10];
523519

524520
Serial.print("Enter Day: ");
525-
readLine(temp, sizeof(temp), menuTimeoutExtended);
521+
readLine(temp, sizeof(temp), menuTimeout);
526522
dd = atoi(temp);
527523

528524
Serial.print("Enter Month: ");
529-
readLine(temp, sizeof(temp), menuTimeoutExtended);
525+
readLine(temp, sizeof(temp), menuTimeout);
530526
mm = atoi(temp);
531527

532528
Serial.print("Enter Year (YYYY): ");
533-
readLine(temp, sizeof(temp), menuTimeoutExtended);
529+
readLine(temp, sizeof(temp), menuTimeout);
534530
yy = atoi(temp);
535531

536532
//check year
@@ -935,8 +931,6 @@ void beginLBand()
935931
void menuPointPerfect()
936932
{
937933
#ifdef COMPILE_L_BAND
938-
int menuTimeoutExtended = 30; //Increase time needed for complex data entry (mount point ID, caster credentials, etc).
939-
940934
while (1)
941935
{
942936
Serial.println();
@@ -987,12 +981,12 @@ void menuPointPerfect()
987981
else if (incoming == '2')
988982
{
989983
Serial.print("Enter Home WiFi SSID: ");
990-
readLine(settings.home_wifiSSID, sizeof(settings.home_wifiSSID), menuTimeoutExtended);
984+
readLine(settings.home_wifiSSID, sizeof(settings.home_wifiSSID), menuTimeout);
991985
}
992986
else if (incoming == '3')
993987
{
994988
Serial.printf("Enter password for Home WiFi network %s: ", settings.home_wifiSSID);
995-
readLine(settings.home_wifiPW, sizeof(settings.home_wifiPW), menuTimeoutExtended);
989+
readLine(settings.home_wifiPW, sizeof(settings.home_wifiPW), menuTimeout);
996990
}
997991
else if (incoming == '4')
998992
{

Firmware/RTK_Surveyor/menuPorts.ino

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -182,8 +182,6 @@ void menuPortsMultiplexed()
182182
//Most often used for logging events (inputs) and when external triggers (outputs) occur
183183
void menuPortHardwareTriggers()
184184
{
185-
int menuTimeoutExtended = 30; //Increase time needed for complex data entry (mount point ID, ECEF coords, etc).
186-
187185
while (1)
188186
{
189187
Serial.println();
@@ -223,7 +221,7 @@ void menuPortHardwareTriggers()
223221
else if (incoming == '2' && settings.enableExternalPulse == true)
224222
{
225223
Serial.print("Time between pulses in milliseconds: ");
226-
double pulseTime = getDouble(menuTimeoutExtended); //Timeout after x seconds
224+
double pulseTime = getDouble(menuTimeout); //Timeout after x seconds
227225

228226
if (pulseTime != STATUS_GETNUMBER_TIMEOUT && pulseTime != STATUS_PRESSED_X)
229227
{
@@ -233,7 +231,7 @@ void menuPortHardwareTriggers()
233231
else if (incoming == '3' && settings.enableExternalPulse == true)
234232
{
235233
Serial.print("Pulse length in milliseconds: ");
236-
double pulseLength = getDouble(menuTimeoutExtended); //Timeout after x seconds
234+
double pulseLength = getDouble(menuTimeout); //Timeout after x seconds
237235

238236
if (pulseLength != STATUS_GETNUMBER_TIMEOUT && pulseLength != STATUS_PRESSED_X)
239237
{

Firmware/RTK_Surveyor/menuSystem.ino

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -386,8 +386,6 @@ void menuSystem()
386386
//Toggle control of heap reports and I2C GNSS debug
387387
void menuDebug()
388388
{
389-
int menuTimeoutExtended = 30; //Increase time needed as it's a large menu
390-
391389
while (1)
392390
{
393391
Serial.println();
@@ -498,7 +496,7 @@ void menuDebug()
498496
Serial.println("x) Exit");
499497

500498
int incoming;
501-
int digits = getMenuChoice(&incoming, menuTimeoutExtended); //Timeout after x seconds
499+
int digits = getMenuChoice(&incoming, menuTimeout); //Timeout after x seconds
502500

503501
//Handle input timeout
504502
if (digits == GMCS_TIMEOUT)

0 commit comments

Comments
 (0)