@@ -325,42 +325,97 @@ void paintBaseState()
325
325
systemState == STATE_ROVER_RTK_FLOAT ||
326
326
systemState == STATE_ROVER_RTK_FIX)
327
327
{
328
- // Normal rover for ZED-F9P, fusion rover for ZED-F9R
329
- if (zedModuleType == PLATFORM_F9P )
328
+ // Display icon associated with current Dynamic Model
329
+ switch (settings. dynamicModel )
330
330
{
331
- oled.drawIcon (27 , 3 , Rover_Width, Rover_Height, Rover, sizeof (Rover), true );
332
- }
333
- else if (zedModuleType == PLATFORM_F9R)
334
- {
335
- // Blink fusion rover until we have calibration
336
- if (i2cGNSS.packetUBXESFSTATUS ->data .fusionMode == 0 ) // Initializing
337
- {
338
- // Blink Fusion Rover icon until sensor calibration is complete
339
- if (millis () - lastBaseIconUpdate > 500 )
331
+ case (DYN_MODEL_PORTABLE):
332
+ {
333
+ oled.drawIcon (27 , 0 , DynamicModel_Width, DynamicModel_Height, DynamicModel_1_Portable, sizeof (DynamicModel_1_Portable), true );
334
+ }
335
+ break ;
336
+ case (DYN_MODEL_STATIONARY):
340
337
{
341
- lastBaseIconUpdate = millis ();
342
- if (baseIconDisplayed == false )
338
+ oled.drawIcon (27 , 0 , DynamicModel_Width, DynamicModel_Height, DynamicModel_2_Stationary, sizeof (DynamicModel_2_Stationary), true );
339
+ }
340
+ break ;
341
+ case (DYN_MODEL_PEDESTRIAN):
342
+ {
343
+ oled.drawIcon (27 , 0 , DynamicModel_Width, DynamicModel_Height, DynamicModel_3_Pedestrian, sizeof (DynamicModel_3_Pedestrian), true );
344
+ }
345
+ break ;
346
+ case (DYN_MODEL_AUTOMOTIVE):
347
+ {
348
+ // Normal rover for ZED-F9P, fusion rover for ZED-F9R
349
+ if (zedModuleType == PLATFORM_F9P)
343
350
{
344
- baseIconDisplayed = true ;
345
-
346
- // Draw the icon
347
- oled.drawIcon (27 , 2 , Rover_Fusion_Width, Rover_Fusion_Height, Rover_Fusion, sizeof (Rover_Fusion), true );
351
+ oled.drawIcon (27 , 0 , DynamicModel_Width, DynamicModel_Height, DynamicModel_4_Automotive, sizeof (DynamicModel_4_Automotive), true );
352
+ }
353
+ else if (zedModuleType == PLATFORM_F9R)
354
+ {
355
+ // Blink fusion rover until we have calibration
356
+ if (i2cGNSS.packetUBXESFSTATUS ->data .fusionMode == 0 ) // Initializing
357
+ {
358
+ // Blink Fusion Rover icon until sensor calibration is complete
359
+ if (millis () - lastBaseIconUpdate > 500 )
360
+ {
361
+ lastBaseIconUpdate = millis ();
362
+ if (baseIconDisplayed == false )
363
+ {
364
+ baseIconDisplayed = true ;
365
+
366
+ // Draw the icon
367
+ oled.drawIcon (27 , 2 , Rover_Fusion_Width, Rover_Fusion_Height, Rover_Fusion, sizeof (Rover_Fusion), true );
368
+ }
369
+ else
370
+ baseIconDisplayed = false ;
371
+ }
372
+ }
373
+ else if (i2cGNSS.packetUBXESFSTATUS ->data .fusionMode == 1 ) // Calibrated
374
+ {
375
+ // Solid fusion rover
376
+ oled.drawIcon (27 , 2 , Rover_Fusion_Width, Rover_Fusion_Height, Rover_Fusion, sizeof (Rover_Fusion), true );
377
+ }
378
+ else if (i2cGNSS.packetUBXESFSTATUS ->data .fusionMode == 2 || i2cGNSS.packetUBXESFSTATUS ->data .fusionMode == 3 ) // Suspended or disabled
379
+ {
380
+ // Empty rover
381
+ oled.drawIcon (27 , 2 , Rover_Fusion_Empty_Width, Rover_Fusion_Empty_Height, Rover_Fusion_Empty, sizeof (Rover_Fusion_Empty), true );
382
+ }
348
383
}
349
- else
350
- baseIconDisplayed = false ;
384
+
351
385
}
352
- }
353
- else if (i2cGNSS.packetUBXESFSTATUS ->data .fusionMode == 1 ) // Calibrated
354
- {
355
- // Solid fusion rover
356
- oled.drawIcon (27 , 2 , Rover_Fusion_Width, Rover_Fusion_Height, Rover_Fusion, sizeof (Rover_Fusion), true );
357
- }
358
- else if (i2cGNSS.packetUBXESFSTATUS ->data .fusionMode == 2 || i2cGNSS.packetUBXESFSTATUS ->data .fusionMode == 3 ) // Suspended or disabled
359
- {
360
- // Empty rover
361
- oled.drawIcon (27 , 2 , Rover_Fusion_Empty_Width, Rover_Fusion_Empty_Height, Rover_Fusion_Empty, sizeof (Rover_Fusion_Empty), true );
362
- }
386
+ break ;
387
+ case (DYN_MODEL_SEA):
388
+ {
389
+ oled.drawIcon (27 , 0 , DynamicModel_Width, DynamicModel_Height, DynamicModel_5_Sea, sizeof (DynamicModel_5_Sea), true );
390
+ }
391
+ break ;
392
+ case (DYN_MODEL_AIRBORNE1g):
393
+ {
394
+ oled.drawIcon (27 , 0 , DynamicModel_Width, DynamicModel_Height, DynamicModel_6_Airborne1g, sizeof (DynamicModel_6_Airborne1g), true );
395
+ }
396
+ break ;
397
+ case (DYN_MODEL_AIRBORNE2g):
398
+ {
399
+ oled.drawIcon (27 , 0 , DynamicModel_Width, DynamicModel_Height, DynamicModel_7_Airborne2g, sizeof (DynamicModel_7_Airborne2g), true );
400
+ }
401
+ break ;
402
+ case (DYN_MODEL_AIRBORNE4g):
403
+ {
404
+ oled.drawIcon (27 , 0 , DynamicModel_Width, DynamicModel_Height, DynamicModel_8_Airborne4g, sizeof (DynamicModel_8_Airborne4g), true );
405
+ }
406
+ break ;
407
+ case (DYN_MODEL_WRIST):
408
+ {
409
+ oled.drawIcon (27 , 0 , DynamicModel_Width, DynamicModel_Height, DynamicModel_9_Wrist, sizeof (DynamicModel_9_Wrist), true );
410
+ }
411
+ break ;
412
+ case (DYN_MODEL_BIKE):
413
+ {
414
+ oled.drawIcon (27 , 0 , DynamicModel_Width, DynamicModel_Height, DynamicModel_10_Bike, sizeof (DynamicModel_10_Bike), true );
415
+ }
416
+ break ;
363
417
}
418
+
364
419
}
365
420
else if (systemState == STATE_BASE_TEMP_SETTLE ||
366
421
systemState == STATE_BASE_TEMP_SURVEY_STARTED // Turn on base icon solid (blink crosshair in paintHorzAcc)
@@ -412,7 +467,7 @@ void paintSIV()
412
467
if (i2cGNSS.getFixType () == 3 || i2cGNSS.getFixType () == 4 || i2cGNSS.getFixType () == 5 ) // 3D, 3D+DR, or Time
413
468
{
414
469
// Fix, turn on icon
415
- oled.drawIcon (2 , 35 , Antenna_Width, Antenna_Height, Antenna , sizeof (Antenna ), true );
470
+ oled.drawIcon (2 , 35 , SIV_Antenna_Width, SIV_Antenna_Height, SIV_Antenna , sizeof (SIV_Antenna ), true );
416
471
}
417
472
else
418
473
{
@@ -425,7 +480,7 @@ void paintSIV()
425
480
satelliteDishIconDisplayed = true ;
426
481
427
482
// Draw the icon
428
- oled.drawIcon (2 , 35 , Antenna_Width, Antenna_Height, Antenna , sizeof (Antenna ), true );
483
+ oled.drawIcon (2 , 35 , SIV_Antenna_Width, SIV_Antenna_Height, SIV_Antenna , sizeof (SIV_Antenna ), true );
429
484
}
430
485
else
431
486
satelliteDishIconDisplayed = false ;
@@ -1316,12 +1371,15 @@ void paintSystemTest()
1316
1371
else
1317
1372
oled.print (F (" FAIL" ));
1318
1373
1319
- oled.setCursor (xOffset, yOffset + (1 * charHeight) ); // x, y
1320
- oled.print (F (" Accel:" ));
1321
- if (online.accelerometer == true )
1322
- oled.print (F (" OK" ));
1323
- else
1324
- oled.print (F (" FAIL" ));
1374
+ if (productVariant == RTK_EXPRESS || productVariant == RTK_EXPRESS_PLUS || productVariant == RTK_FACET)
1375
+ {
1376
+ oled.setCursor (xOffset, yOffset + (1 * charHeight) ); // x, y
1377
+ oled.print (F (" Accel:" ));
1378
+ if (online.accelerometer == true )
1379
+ oled.print (F (" OK" ));
1380
+ else
1381
+ oled.print (F (" FAIL" ));
1382
+ }
1325
1383
1326
1384
oled.setCursor (xOffset, yOffset + (2 * charHeight) ); // x, y
1327
1385
oled.print (F (" Batt:" ));
@@ -1334,7 +1392,7 @@ void paintSystemTest()
1334
1392
oled.setCursor (xOffset, yOffset + (3 * charHeight) ); // x, y
1335
1393
oled.print (F (" GNSS:" ));
1336
1394
int satsInView = i2cGNSS.getSIV ();
1337
- if (online.gnss == true && satsInView > 8 )
1395
+ if (online.gnss == true && satsInView > 5 )
1338
1396
{
1339
1397
oled.print (F (" OK" ));
1340
1398
oled.print (F (" /" ));
@@ -1343,38 +1401,38 @@ void paintSystemTest()
1343
1401
else
1344
1402
oled.print (F (" FAIL" ));
1345
1403
1346
- oled.setCursor (xOffset, yOffset + (4 * charHeight) ); // x, y
1347
- oled.print (F (" Mux:" ));
1404
+ if (productVariant == RTK_EXPRESS || productVariant == RTK_EXPRESS_PLUS || productVariant == RTK_FACET)
1405
+ {
1406
+ oled.setCursor (xOffset, yOffset + (4 * charHeight) ); // x, y
1407
+ oled.print (F (" Mux:" ));
1348
1408
1349
- // Set mux to channel 3 and toggle pin and verify with loop back jumper wire inserted by test technician
1409
+ // Set mux to channel 3 and toggle pin and verify with loop back jumper wire inserted by test technician
1350
1410
1351
- setMuxport (MUX_ADC_DAC); // Set mux to DAC so we can toggle back/forth
1352
- pinMode (pin_dac26, OUTPUT);
1353
- pinMode (pin_adc39, INPUT_PULLUP);
1411
+ setMuxport (MUX_ADC_DAC); // Set mux to DAC so we can toggle back/forth
1412
+ pinMode (pin_dac26, OUTPUT);
1413
+ pinMode (pin_adc39, INPUT_PULLUP);
1354
1414
1355
- digitalWrite (pin_dac26, HIGH);
1356
- if (digitalRead (pin_adc39) == HIGH)
1357
- {
1358
- digitalWrite (pin_dac26, LOW);
1359
- if (digitalRead (pin_adc39) == LOW)
1360
- oled.print (F (" OK" ));
1415
+ digitalWrite (pin_dac26, HIGH);
1416
+ if (digitalRead (pin_adc39) == HIGH)
1417
+ {
1418
+ digitalWrite (pin_dac26, LOW);
1419
+ if (digitalRead (pin_adc39) == LOW)
1420
+ oled.print (F (" OK" ));
1421
+ else
1422
+ oled.print (F (" FAIL" ));
1423
+ }
1361
1424
else
1362
1425
oled.print (F (" FAIL" ));
1363
1426
}
1364
- else
1365
- oled.print (F (" FAIL" ));
1366
1427
1367
1428
// Display MAC address
1368
1429
oled.setCursor (xOffset, yOffset + (5 * charHeight) ); // x, y
1369
1430
oled.print (macAddress);
1370
1431
oled.print (" :" );
1371
- if (incomingBTTest == 0 )
1432
+ if (zedUartPassed == false )
1372
1433
oled.print (F (" FAIL" ));
1373
1434
else
1374
- {
1375
- oled.write (incomingBTTest);
1376
- oled.print (F (" -OK" ));
1377
- }
1435
+ oled.print (F (" OK" ));
1378
1436
}
1379
1437
}
1380
1438
0 commit comments