Skip to content

Commit 1711c44

Browse files
committed
Add dynamic model icons for um980 and mosaicX5
1 parent bd263e2 commit 1711c44

File tree

1 file changed

+99
-43
lines changed

1 file changed

+99
-43
lines changed

Firmware/RTK_Everywhere/Display.ino

Lines changed: 99 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1507,58 +1507,114 @@ void paintClockAccuracy(displayCoords textCoords)
15071507
// Draw the rover icon depending on screen
15081508
void 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

Comments
 (0)