@@ -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