1
0
Fork 0
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:
Darren Lines 2023-10-04 08:21:12 +01:00 committed by GitHub
commit ed9c412f8a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 12 deletions

View file

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

View file

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