@@ -2289,18 +2289,13 @@ void paintProfile(uint8_t profileUnit)
2289
2289
// External connections: Loop back test on DATA
2290
2290
void paintSystemTest ()
2291
2291
{
2292
+ static uint8_t systemTestDisplayNumber = 0 ; // Tracks which test screen we're looking at.
2293
+ static unsigned long systemTestDisplayTime = millis (); // Timestamp for swapping the graphic during testing
2294
+
2292
2295
if (online.display == true )
2293
2296
{
2294
- // Toggle between two displays
2295
- if (millis () - systemTestDisplayTime > 3000 )
2296
- {
2297
- systemTestDisplayTime = millis ();
2298
- systemTestDisplayNumber++;
2299
- systemTestDisplayNumber %= 2 ;
2300
- }
2301
-
2302
2297
// Main info display
2303
- if (systemTestDisplayNumber == 1 )
2298
+ if (systemTestDisplayNumber == 0 )
2304
2299
{
2305
2300
int xOffset = 2 ;
2306
2301
int yOffset = 2 ;
@@ -2312,13 +2307,27 @@ void paintSystemTest()
2312
2307
// Test SD, accel, batt, GNSS, mux
2313
2308
oled.setFont (QW_FONT_5X7); // Set font to smallest
2314
2309
2315
- oled.setCursor (xOffset, yOffset); // x, y
2310
+ oled.setCursor (xOffset, yOffset + ( 0 * charHeight) ); // x, y
2316
2311
oled.print (" ZV:" );
2317
2312
oled.print (zedFirmwareVersionInt);
2318
- if (zedFirmwareVersionInt < 150 )
2319
- oled.print (" -FAIL" );
2320
- else
2321
- oled.print (" -OK" );
2313
+
2314
+ // ZED-F9P goes to 150
2315
+ if (zedModuleType == PLATFORM_F9P)
2316
+ {
2317
+ if (zedFirmwareVersionInt < 150 )
2318
+ oled.print (" -FAI" );
2319
+ else
2320
+ oled.print (" -OK" );
2321
+ }
2322
+
2323
+ // ZED-F9R goes to 130
2324
+ else if (zedModuleType == PLATFORM_F9R)
2325
+ {
2326
+ if (zedFirmwareVersionInt < 130 )
2327
+ oled.print (" -FAI" );
2328
+ else
2329
+ oled.print (" -OK" );
2330
+ }
2322
2331
2323
2332
oled.setCursor (xOffset, yOffset + (1 * charHeight)); // x, y
2324
2333
oled.print (" SD:" );
@@ -2339,8 +2348,9 @@ void paintSystemTest()
2339
2348
oled.print (" FAIL" );
2340
2349
}
2341
2350
2351
+ // Check for satellites in view
2342
2352
oled.setCursor (xOffset, yOffset + (3 * charHeight)); // x, y
2343
- oled.print (" GNSS :" );
2353
+ oled.print (" SIV :" );
2344
2354
if (online.gnss == true )
2345
2355
{
2346
2356
theGNSS.checkUblox (); // Regularly poll to get latest data and any RTCM
@@ -2421,30 +2431,38 @@ void paintSystemTest()
2421
2431
}
2422
2432
else
2423
2433
oled.print (" OK" );
2424
- } // End display 1
2434
+ } // End display 0
2425
2435
2426
2436
// Display LBand Info
2427
- if (productVariant == RTK_FACET_LBAND )
2437
+ if (systemTestDisplayNumber == 1 )
2428
2438
{
2429
- if (systemTestDisplayNumber == 0 )
2430
- {
2431
- int xOffset = 2 ;
2432
- int yOffset = 2 ;
2439
+ int xOffset = 2 ;
2440
+ int yOffset = 2 ;
2433
2441
2434
- int charHeight = 7 ;
2442
+ int charHeight = 7 ;
2435
2443
2436
- drawFrame (); // Outside edge
2444
+ drawFrame (); // Outside edge
2437
2445
2438
- // Test L-Band
2439
- oled.setFont (QW_FONT_5X7); // Set font to smallest
2446
+ // Test L-Band
2447
+ oled.setFont (QW_FONT_5X7); // Set font to smallest
2440
2448
2441
- oled.setCursor (xOffset, yOffset + (1 * charHeight)); // x, y
2442
- oled.print (" LBand:" );
2443
- if (online.lband == true )
2444
- oled.print (" OK" );
2445
- else
2446
- oled.print (" FAIL" );
2447
- } // End display 0
2449
+ oled.setCursor (xOffset, yOffset + (0 * charHeight)); // x, y
2450
+ oled.print (" LBand:" );
2451
+ if (online.lband == true )
2452
+ oled.print (" OK" );
2453
+ else
2454
+ oled.print (" FAIL" );
2455
+ } // End display 1
2456
+
2457
+ if (productVariant == RTK_FACET_LBAND || productVariant == RTK_FACET_LBAND_DIRECT)
2458
+ {
2459
+ // Toggle between two displays
2460
+ if (millis () - systemTestDisplayTime > 3000 )
2461
+ {
2462
+ systemTestDisplayTime = millis ();
2463
+ systemTestDisplayNumber++;
2464
+ systemTestDisplayNumber %= 2 ;
2465
+ }
2448
2466
}
2449
2467
}
2450
2468
}
0 commit comments