@@ -325,42 +325,97 @@ void paintBaseState()
325325 systemState == STATE_ROVER_RTK_FLOAT ||
326326 systemState == STATE_ROVER_RTK_FIX)
327327 {
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 )
330330 {
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):
340337 {
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)
343350 {
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+ }
348383 }
349- else
350- baseIconDisplayed = false ;
384+
351385 }
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 ;
363417 }
418+
364419 }
365420 else if (systemState == STATE_BASE_TEMP_SETTLE ||
366421 systemState == STATE_BASE_TEMP_SURVEY_STARTED // Turn on base icon solid (blink crosshair in paintHorzAcc)
@@ -412,7 +467,7 @@ void paintSIV()
412467 if (i2cGNSS.getFixType () == 3 || i2cGNSS.getFixType () == 4 || i2cGNSS.getFixType () == 5 ) // 3D, 3D+DR, or Time
413468 {
414469 // 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 );
416471 }
417472 else
418473 {
@@ -425,7 +480,7 @@ void paintSIV()
425480 satelliteDishIconDisplayed = true ;
426481
427482 // 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 );
429484 }
430485 else
431486 satelliteDishIconDisplayed = false ;
@@ -1316,12 +1371,15 @@ void paintSystemTest()
13161371 else
13171372 oled.print (F (" FAIL" ));
13181373
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+ }
13251383
13261384 oled.setCursor (xOffset, yOffset + (2 * charHeight) ); // x, y
13271385 oled.print (F (" Batt:" ));
@@ -1334,7 +1392,7 @@ void paintSystemTest()
13341392 oled.setCursor (xOffset, yOffset + (3 * charHeight) ); // x, y
13351393 oled.print (F (" GNSS:" ));
13361394 int satsInView = i2cGNSS.getSIV ();
1337- if (online.gnss == true && satsInView > 8 )
1395+ if (online.gnss == true && satsInView > 5 )
13381396 {
13391397 oled.print (F (" OK" ));
13401398 oled.print (F (" /" ));
@@ -1343,38 +1401,38 @@ void paintSystemTest()
13431401 else
13441402 oled.print (F (" FAIL" ));
13451403
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:" ));
13481408
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
13501410
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);
13541414
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+ }
13611424 else
13621425 oled.print (F (" FAIL" ));
13631426 }
1364- else
1365- oled.print (F (" FAIL" ));
13661427
13671428 // Display MAC address
13681429 oled.setCursor (xOffset, yOffset + (5 * charHeight) ); // x, y
13691430 oled.print (macAddress);
13701431 oled.print (" :" );
1371- if (incomingBTTest == 0 )
1432+ if (zedUartPassed == false )
13721433 oled.print (F (" FAIL" ));
13731434 else
1374- {
1375- oled.write (incomingBTTest);
1376- oled.print (F (" -OK" ));
1377- }
1435+ oled.print (F (" OK" ));
13781436 }
13791437}
13801438
0 commit comments