mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-26 01:35:35 +03:00
Merge pull request #9333 from iNavFlight/MrD_Fix-Flight-Distance-value
This commit is contained in:
commit
ed9c412f8a
2 changed files with 13 additions and 12 deletions
|
@ -209,8 +209,8 @@ float calculateRemainingFlightTimeBeforeRTH(bool takeWindIntoAccount) {
|
||||||
// returns meters
|
// returns meters
|
||||||
float calculateRemainingDistanceBeforeRTH(bool takeWindIntoAccount) {
|
float calculateRemainingDistanceBeforeRTH(bool takeWindIntoAccount) {
|
||||||
|
|
||||||
// Fixed wing only for now
|
// Fixed wing only for now, and must be armed
|
||||||
if (!(STATE(FIXED_WING_LEGACY) || ARMING_FLAG(ARMED))) {
|
if (!STATE(AIRPLANE) || !ARMING_FLAG(ARMED)) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2147,37 +2147,38 @@ static bool osdDrawSingleElement(uint8_t item)
|
||||||
updatedTimestamp = currentTimeUs;
|
updatedTimestamp = currentTimeUs;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
//buff[0] = SYM_TRIP_DIST;
|
|
||||||
displayWriteChar(osdDisplayPort, elemPosX, elemPosY, SYM_FLIGHT_DIST_REMAINING);
|
displayWriteChar(osdDisplayPort, elemPosX, elemPosY, SYM_FLIGHT_DIST_REMAINING);
|
||||||
|
|
||||||
if ((!ARMING_FLAG(ARMED)) || (distanceMeters == -1)) {
|
if ((!ARMING_FLAG(ARMED)) || (distanceMeters == -1)) {
|
||||||
buff[4] = SYM_BLANK;
|
buff[3] = SYM_BLANK;
|
||||||
buff[5] = '\0';
|
buff[4] = '\0';
|
||||||
strcpy(buff + 1, "---");
|
strcpy(buff, "---");
|
||||||
} else if (distanceMeters == -2) {
|
} else if (distanceMeters == -2) {
|
||||||
// Wind is too strong to come back with cruise throttle
|
// Wind is too strong to come back with cruise throttle
|
||||||
buff[1] = buff[2] = buff[3] = SYM_WIND_HORIZONTAL;
|
buff[0] = buff[1] = buff[2] = SYM_WIND_HORIZONTAL;
|
||||||
switch ((osd_unit_e)osdConfig()->units){
|
switch ((osd_unit_e)osdConfig()->units){
|
||||||
case OSD_UNIT_UK:
|
case OSD_UNIT_UK:
|
||||||
FALLTHROUGH;
|
FALLTHROUGH;
|
||||||
case OSD_UNIT_IMPERIAL:
|
case OSD_UNIT_IMPERIAL:
|
||||||
buff[4] = SYM_DIST_MI;
|
buff[3] = SYM_DIST_MI;
|
||||||
break;
|
break;
|
||||||
case OSD_UNIT_METRIC_MPH:
|
case OSD_UNIT_METRIC_MPH:
|
||||||
FALLTHROUGH;
|
FALLTHROUGH;
|
||||||
case OSD_UNIT_METRIC:
|
case OSD_UNIT_METRIC:
|
||||||
buff[4] = SYM_DIST_KM;
|
buff[3] = SYM_DIST_KM;
|
||||||
break;
|
break;
|
||||||
case OSD_UNIT_GA:
|
case OSD_UNIT_GA:
|
||||||
buff[4] = SYM_DIST_NM;
|
buff[3] = SYM_DIST_NM;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
buff[5] = '\0';
|
buff[4] = '\0';
|
||||||
TEXT_ATTRIBUTES_ADD_BLINK(elemAttr);
|
TEXT_ATTRIBUTES_ADD_BLINK(elemAttr);
|
||||||
} else {
|
} else {
|
||||||
osdFormatDistanceSymbol(buff + 1, distanceMeters * 100, 0);
|
osdFormatDistanceSymbol(buff, distanceMeters * 100, 0);
|
||||||
if (distanceMeters == 0)
|
if (distanceMeters == 0)
|
||||||
TEXT_ATTRIBUTES_ADD_BLINK(elemAttr);
|
TEXT_ATTRIBUTES_ADD_BLINK(elemAttr);
|
||||||
}
|
}
|
||||||
|
elemPosX++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OSD_FLYMODE:
|
case OSD_FLYMODE:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue