@@ -1507,58 +1507,114 @@ void paintClockAccuracy(displayCoords textCoords)
15071507// Draw the rover icon depending on screen
15081508void paintDynamicModel (std::vector<iconPropertyBlinking> *iconList)
15091509{
1510- if (online. gnss == true )
1510+ if (present. dynamicModel && online. gnss )
15111511 {
15121512 iconPropertyBlinking prop;
1513+ prop.icon .bitmap = nullptr ; // Use this as the test a valid icon
15131514 prop.duty = 0b11111111 ;
15141515
1515- // Display icon associated with current Dynamic Model
1516- switch (settings.dynamicModel )
1516+ if (present.gnss_zedf9p )
15171517 {
1518- default :
1519- break ;
1520-
15211518#ifdef COMPILE_ZED
1522- case (DYN_MODEL_PORTABLE):
1523- prop.icon = DynamicModel_1_Properties.iconDisplay [present.display_type ];
1524- break ;
1525- case (DYN_MODEL_STATIONARY):
1526- prop.icon = DynamicModel_2_Properties.iconDisplay [present.display_type ];
1527- break ;
1528- case (DYN_MODEL_PEDESTRIAN):
1529- prop.icon = DynamicModel_3_Properties.iconDisplay [present.display_type ];
1530- break ;
1531- case (DYN_MODEL_AUTOMOTIVE):
1532- prop.icon = DynamicModel_4_Properties.iconDisplay [present.display_type ];
1533- break ;
1534- case (DYN_MODEL_SEA):
1535- prop.icon = DynamicModel_5_Properties.iconDisplay [present.display_type ];
1536- break ;
1537- case (DYN_MODEL_AIRBORNE1g):
1538- prop.icon = DynamicModel_6_Properties.iconDisplay [present.display_type ];
1539- break ;
1540- case (DYN_MODEL_AIRBORNE2g):
1541- prop.icon = DynamicModel_7_Properties.iconDisplay [present.display_type ];
1542- break ;
1543- case (DYN_MODEL_AIRBORNE4g):
1544- prop.icon = DynamicModel_8_Properties.iconDisplay [present.display_type ];
1545- break ;
1546- case (DYN_MODEL_WRIST):
1547- prop.icon = DynamicModel_9_Properties.iconDisplay [present.display_type ];
1548- break ;
1549- case (DYN_MODEL_BIKE):
1550- prop.icon = DynamicModel_10_Properties.iconDisplay [present.display_type ];
1551- break ;
1552- case (DYN_MODEL_MOWER):
1553- prop.icon = DynamicModel_11_Properties.iconDisplay [present.display_type ];
1554- break ;
1555- case (DYN_MODEL_ESCOOTER):
1556- prop.icon = DynamicModel_12_Properties.iconDisplay [present.display_type ];
1557- break ;
1519+ // Display icon associated with current Dynamic Model
1520+ switch (settings.dynamicModel )
1521+ {
1522+ default :
1523+ break ;
1524+
1525+ case (DYN_MODEL_PORTABLE): // 0
1526+ prop.icon = DynamicModel_1_Properties.iconDisplay [present.display_type ];
1527+ break ;
1528+ case (DYN_MODEL_STATIONARY): // 2
1529+ prop.icon = DynamicModel_2_Properties.iconDisplay [present.display_type ];
1530+ break ;
1531+ case (DYN_MODEL_PEDESTRIAN):
1532+ prop.icon = DynamicModel_3_Properties.iconDisplay [present.display_type ];
1533+ break ;
1534+ case (DYN_MODEL_AUTOMOTIVE):
1535+ prop.icon = DynamicModel_4_Properties.iconDisplay [present.display_type ];
1536+ break ;
1537+ case (DYN_MODEL_SEA):
1538+ prop.icon = DynamicModel_5_Properties.iconDisplay [present.display_type ];
1539+ break ;
1540+ case (DYN_MODEL_AIRBORNE1g):
1541+ prop.icon = DynamicModel_6_Properties.iconDisplay [present.display_type ];
1542+ break ;
1543+ case (DYN_MODEL_AIRBORNE2g):
1544+ prop.icon = DynamicModel_7_Properties.iconDisplay [present.display_type ];
1545+ break ;
1546+ case (DYN_MODEL_AIRBORNE4g):
1547+ prop.icon = DynamicModel_8_Properties.iconDisplay [present.display_type ];
1548+ break ;
1549+ case (DYN_MODEL_WRIST):
1550+ prop.icon = DynamicModel_9_Properties.iconDisplay [present.display_type ];
1551+ break ;
1552+ case (DYN_MODEL_BIKE):
1553+ prop.icon = DynamicModel_10_Properties.iconDisplay [present.display_type ];
1554+ break ;
1555+ case (DYN_MODEL_MOWER):
1556+ prop.icon = DynamicModel_11_Properties.iconDisplay [present.display_type ];
1557+ break ;
1558+ case (DYN_MODEL_ESCOOTER):
1559+ prop.icon = DynamicModel_12_Properties.iconDisplay [present.display_type ];
1560+ break ;
1561+ }
15581562#endif // COMPILE_ZED
15591563 }
1564+ else if (present.gnss_um980 )
1565+ {
1566+ #ifdef COMPILE_UM980
1567+ // Display icon associated with current Dynamic Model
1568+ switch (settings.dynamicModel )
1569+ {
1570+ default :
1571+ break ;
15601572
1561- iconList->push_back (prop);
1573+ case UM980_DYN_MODEL_SURVEY:
1574+ prop.icon = DynamicModel_2_Properties.iconDisplay [present.display_type ]; // Stationary
1575+ break ;
1576+ case UM980_DYN_MODEL_UAV:
1577+ prop.icon = DynamicModel_6_Properties.iconDisplay [present.display_type ]; // Airborne1g
1578+ break ;
1579+ case UM980_DYN_MODEL_AUTOMOTIVE:
1580+ prop.icon = DynamicModel_4_Properties.iconDisplay [present.display_type ]; // Automotive
1581+ break ;
1582+ }
1583+ #endif // COMPILE_UM980
1584+ }
1585+ else if (present.gnss_mosaicX5 )
1586+ {
1587+ #ifdef COMPILE_MOSAICX5
1588+ // Display icon associated with current Dynamic Model
1589+ switch (settings.dynamicModel )
1590+ {
1591+ default :
1592+ break ;
1593+
1594+ case MOSAIC_DYN_MODEL_STATIC:
1595+ case MOSAIC_DYN_MODEL_QUASISTATIC:
1596+ prop.icon = DynamicModel_2_Properties.iconDisplay [present.display_type ]; // Stationary
1597+ break ;
1598+ case MOSAIC_DYN_MODEL_PEDESTRIAN:
1599+ prop.icon = DynamicModel_3_Properties.iconDisplay [present.display_type ]; // Pedestrian
1600+ break ;
1601+ case MOSAIC_DYN_MODEL_AUTOMOTIVE:
1602+ case MOSAIC_DYN_MODEL_RACECAR:
1603+ case MOSAIC_DYN_MODEL_HEAVYMACHINERY:
1604+ prop.icon = DynamicModel_4_Properties.iconDisplay [present.display_type ]; // Automotive
1605+ break ;
1606+ case MOSAIC_DYN_MODEL_UAV:
1607+ prop.icon = DynamicModel_6_Properties.iconDisplay [present.display_type ]; // Airborne1g
1608+ break ;
1609+ case MOSAIC_DYN_MODEL_UNLIMITED:
1610+ prop.icon = DynamicModel_8_Properties.iconDisplay [present.display_type ]; // Airborne4g
1611+ break ;
1612+ }
1613+ #endif // COMPILE_MOSAICX5
1614+ }
1615+
1616+ if (prop.icon .bitmap )
1617+ iconList->push_back (prop);
15621618 }
15631619}
15641620
0 commit comments