133,9 → 133,9 |
|
if (COSD_FLAGS_CONFIG & COSD_FLAG_FEET) { |
// feet |
write_ndigit_number_u(24, top_line + 1, naviData.HomePositionDeviation.Distance / 10 * 32 / 10, 3, 0); |
write_ndigit_number_u(23, top_line + 1, naviData.HomePositionDeviation.Distance / 10 * 32 / 10, 4, 0); |
} else { |
write_ndigit_number_u(24, top_line + 1, naviData.HomePositionDeviation.Distance / 10, 3, 0); |
write_ndigit_number_u(23, top_line + 1, naviData.HomePositionDeviation.Distance / 10, 4, 0); |
} |
|
// center |
167,6 → 167,11 |
// motors are on, assume we were/are flying |
COSD_FLAGS_RUNTIME |= COSD_WASFLYING; |
} else { |
if ((old_MKFlags & FLAG_MOTOR_RUN)) { // motors just stopped |
clear(); // clear whole screen in case there is horizon stuff left |
// update flags to paint display again if needed |
COSD_FLAGS_RUNTIME &= ~COSD_ICONS_WRITTEN; |
} |
// stats |
if ((COSD_FLAGS_RUNTIME & COSD_WASFLYING) && (COSD_FLAGS_MODES & COSD_FLAG_STATS)) { |
uint8_t line = 3; |
175,18 → 180,18 |
write_ascii_string_pgm(1, ++line, (const char *) (pgm_read_word(&(stats_item_pointers[2])))); // max Distance |
|
if (COSD_FLAGS_CONFIG & COSD_FLAG_FEET) { |
write_ndigit_number_s(16, line, max_Altimeter * 32 / 10, 4, 0); |
write_ndigit_number_s(16, line - 2, max_Altimeter * 32 / 10, 4, 0); |
write_char_xy(20, line - 2, 0x7E); // small feet ft |
write_ndigit_number_u(17, line, (uint16_t) (((uint32_t) max_GroundSpeed * (uint32_t) 279) / (uint32_t) 12500), 3, 0); |
write_ndigit_number_u(17, line - 1, (uint16_t)(((uint32_t)max_GroundSpeed * (uint32_t)279) / (uint32_t)12500), 3, 0); |
write_char_xy(20, line - 1, 0x7D); // mp/h |
write_ndigit_number_u(17, line, max_Distance / 10 * 32 / 10, 3, 0); |
write_ndigit_number_u(17, line - 0, max_Distance / 10 * 32 / 10, 3, 0); |
write_char_xy(20, line - 0, 0x7E); // small feet ft |
} else { |
write_ndigit_number_s(16, line, max_Altimeter, 4, 0); |
write_ndigit_number_s(16, line - 2, max_Altimeter, 4, 0); |
write_char_xy(20, line - 2, 204); // small meters m |
write_ndigit_number_u(17, line, (uint16_t) (((uint32_t) max_GroundSpeed * (uint32_t) 9) / (uint32_t) 250), 3, 0); |
write_ndigit_number_u(17, line - 1, (uint16_t)(((uint32_t)max_GroundSpeed * (uint32_t)9) / (uint32_t)250), 3, 0); |
write_char_xy(20, line - 1, 203); // km/h |
write_ndigit_number_u(17, line, max_Distance / 10, 3, 0); |
write_ndigit_number_u(17, line - 0, max_Distance / 10, 3, 0); |
write_char_xy(20, line - 0, 204); // small meters m |
} |
|