@@ -12,6 +12,9 @@ void updateDisplay()
1212
1313 switch (systemState)
1414 {
15+ case (STATE_ROVER_NOT_STARTED):
16+ // Do nothing. Static display shown during state change.
17+ break ;
1518 case (STATE_ROVER_NO_FIX):
1619 paintRoverNoFix ();
1720 break ;
@@ -24,8 +27,11 @@ void updateDisplay()
2427 case (STATE_ROVER_RTK_FIX):
2528 paintRoverRTKFix ();
2629 break ;
27- case (STATE_BASE_TEMP_SURVEY_NOT_STARTED):
28- paintBaseTempSurveyNotStarted ();
30+ case (STATE_BASE_NOT_STARTED):
31+ // Do nothing. Static display shown during state change.
32+ break ;
33+ case (STATE_BASE_TEMP_SETTLE):
34+ paintBaseTempSettle ();
2935 break ;
3036 case (STATE_BASE_TEMP_SURVEY_STARTED):
3137 paintBaseTempSurveyStarted ();
@@ -45,6 +51,9 @@ void updateDisplay()
4551 case (STATE_BASE_TEMP_CASTER_CONNECTED):
4652 paintBaseTempCasterConnected ();
4753 break ;
54+ case (STATE_BASE_FIXED_NOT_STARTED):
55+ // Do nothing. Static display shown during state change.
56+ break ;
4857 case (STATE_BASE_FIXED_TRANSMITTING):
4958 paintBaseFixedTransmitting ();
5059 break ;
@@ -212,7 +221,7 @@ void paintHorizontalAccuracy()
212221 if (online.display == true )
213222 {
214223 // Blink crosshair icon until we achieve <5m horz accuracy (user definable)
215- if (systemState == STATE_BASE_TEMP_SURVEY_NOT_STARTED )
224+ if (systemState == STATE_BASE_TEMP_SETTLE )
216225 {
217226 if (millis () - lastCrosshairIconUpdate > 500 )
218227 {
@@ -292,8 +301,8 @@ void paintBaseState()
292301 {
293302 oled.drawIcon (27 , 3 , Rover_Width, Rover_Height, Rover, sizeof (Rover), true );
294303 }
295- else if (systemState == STATE_BASE_TEMP_SURVEY_STARTED ||
296- systemState == STATE_BASE_TEMP_SURVEY_NOT_STARTED // Turn on base icon solid (blink crosshair in paintHorzAcc)
304+ else if (systemState == STATE_BASE_TEMP_SETTLE ||
305+ systemState == STATE_BASE_TEMP_SURVEY_STARTED // Turn on base icon solid (blink crosshair in paintHorzAcc)
297306 )
298307 {
299308 // Blink base icon until survey is complete
@@ -469,7 +478,7 @@ void paintRoverRTKFix()
469478// Start of base / survey in / NTRIP mode
470479// Screen is displayed while we are waiting for horz accuracy to drop to appropriate level
471480// Blink crosshair icon until we have we have horz accuracy < user defined level
472- void paintBaseTempSurveyNotStarted ()
481+ void paintBaseTempSettle ()
473482{
474483 if (online.display == true )
475484 {
@@ -861,7 +870,7 @@ void paintBaseFixedCasterConnected()
861870// oled.print("Base Fail Please Reset");
862871// }
863872
864- void displayBaseStart ()
873+ void displayBaseStart (uint16_t displayTime )
865874{
866875 if (online.display == true )
867876 {
@@ -877,10 +886,12 @@ void displayBaseStart()
877886 printTextwithKerning ((char *)" Base" , textX, textY, textKerning);
878887
879888 oled.display ();
889+
890+ delay (displayTime);
880891 }
881892}
882893
883- void displayBaseSuccess ()
894+ void displayBaseSuccess (uint16_t displayTime )
884895{
885896 if (online.display == true )
886897 {
@@ -902,10 +913,12 @@ void displayBaseSuccess()
902913
903914 printTextwithKerning ((char *)" Started" , textX, textY, textKerning);
904915 oled.display ();
916+
917+ delay (displayTime);
905918 }
906919}
907920
908- void displayBaseFail ()
921+ void displayBaseFail (uint16_t displayTime )
909922{
910923 if (online.display == true )
911924 {
@@ -927,10 +940,12 @@ void displayBaseFail()
927940
928941 printTextwithKerning ((char *)" Failed" , textX, textY, textKerning);
929942 oled.display ();
943+
944+ delay (displayTime);
930945 }
931946}
932947
933- void displayRoverStart ()
948+ void displayRoverStart (uint16_t displayTime )
934949{
935950 if (online.display == true )
936951 {
@@ -946,10 +961,12 @@ void displayRoverStart()
946961 printTextwithKerning ((char *)" Rover" , textX, textY, textKerning);
947962
948963 oled.display ();
964+
965+ delay (displayTime);
949966 }
950967}
951968
952- void displayRoverSuccess ()
969+ void displayRoverSuccess (uint16_t displayTime )
953970{
954971 if (online.display == true )
955972 {
@@ -971,10 +988,12 @@ void displayRoverSuccess()
971988
972989 printTextwithKerning ((char *)" Started" , textX, textY, textKerning);
973990 oled.display ();
991+
992+ delay (displayTime);
974993 }
975994}
976995
977- void displayRoverFail ()
996+ void displayRoverFail (uint16_t displayTime )
978997{
979998 if (online.display == true )
980999 {
@@ -996,6 +1015,8 @@ void displayRoverFail()
9961015
9971016 printTextwithKerning ((char *)" Failed" , textX, textY, textKerning);
9981017 oled.display ();
1018+
1019+ delay (displayTime);
9991020 }
10001021}
10011022
@@ -1025,7 +1046,7 @@ void displaySerialConfig()
10251046 }
10261047}
10271048
1028- void displaySurveyStart ()
1049+ void displaySurveyStart (uint16_t displayTime )
10291050{
10301051 if (online.display == true )
10311052 {
@@ -1041,10 +1062,12 @@ void displaySurveyStart()
10411062 printTextwithKerning ((char *)" Survey" , textX, textY, textKerning);
10421063
10431064 oled.display ();
1065+
1066+ delay (displayTime);
10441067 }
10451068}
10461069
1047- void displaySurveyStarted ()
1070+ void displaySurveyStarted (uint16_t displayTime )
10481071{
10491072 if (online.display == true )
10501073 {
@@ -1066,23 +1089,13 @@ void displaySurveyStarted()
10661089
10671090 printTextwithKerning ((char *)" Started" , textX, textY, textKerning);
10681091 oled.display ();
1069- }
1070- }
10711092
1072- // Draw a frame at outside edge
1073- void drawFrame ()
1074- {
1075- // Init and draw box at edge to see screen alignment
1076- int xMax = 63 ;
1077- int yMax = 47 ;
1078- oled.line (0 , 0 , xMax, 0 ); // Top
1079- oled.line (0 , 0 , 0 , yMax); // Left
1080- oled.line (0 , yMax, xMax, yMax); // Bottom
1081- oled.line (xMax, 0 , xMax, yMax); // Right
1093+ delay (displayTime);
1094+ }
10821095}
10831096
10841097// If the SD card is detected but is not formatted correctly, display warning
1085- void displaySDFail ()
1098+ void displaySDFail (uint16_t displayTime )
10861099{
10871100 if (online.display == true )
10881101 {
@@ -1104,5 +1117,19 @@ void displaySDFail()
11041117
11051118 printTextwithKerning ((char *)" SD Card" , textX, textY, textKerning);
11061119 oled.display ();
1120+
1121+ delay (displayTime);
11071122 }
11081123}
1124+
1125+ // Draw a frame at outside edge
1126+ void drawFrame ()
1127+ {
1128+ // Init and draw box at edge to see screen alignment
1129+ int xMax = 63 ;
1130+ int yMax = 47 ;
1131+ oled.line (0 , 0 , xMax, 0 ); // Top
1132+ oled.line (0 , 0 , 0 , yMax); // Left
1133+ oled.line (0 , yMax, xMax, yMax); // Bottom
1134+ oled.line (xMax, 0 , xMax, yMax); // Right
1135+ }
0 commit comments