1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-24 16:55:36 +03:00

Use coloured fonts if supported (#13005)

This commit is contained in:
Steve Evans 2023-08-06 09:06:50 +01:00 committed by GitHub
parent 5d29a0be06
commit fb9587b2ec
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 7 deletions

View file

@ -1498,13 +1498,18 @@ static void osdElementRtcTime(osdElementParms_t *element)
static void osdElementRssiDbm(osdElementParms_t *element)
{
const int8_t antenna = getActiveAntenna();
const int16_t osdRssiDbm = getRssiDbm();
static bool diversity = false;
if (osdRssiDbm < osdConfig()->rssi_dbm_alarm) {
element->attr = DISPLAYPORT_SEVERITY_CRITICAL;
}
if (antenna || diversity) {
diversity = true;
tfp_sprintf(element->buff, "%c%3d:%d", SYM_RSSI, getRssiDbm(), antenna + 1);
tfp_sprintf(element->buff, "%c%3d:%d", SYM_RSSI, osdRssiDbm, antenna + 1);
} else {
tfp_sprintf(element->buff, "%c%3d", SYM_RSSI, getRssiDbm());
tfp_sprintf(element->buff, "%c%3d", SYM_RSSI, osdRssiDbm);
}
}
#endif // USE_RX_RSSI_DBM
@ -2144,6 +2149,14 @@ void osdUpdateAlarms(void)
CLR_BLINK(OSD_RSSI_VALUE);
}
#ifdef USE_RX_RSSI_DBM
if (getRssiDbm() < osdConfig()->rssi_dbm_alarm) {
SET_BLINK(OSD_RSSI_DBM_VALUE);
} else {
CLR_BLINK(OSD_RSSI_DBM_VALUE);
}
#endif
#ifdef USE_RX_LINK_QUALITY_INFO
if (rxGetLinkQualityPercent() < osdConfig()->link_quality_alarm) {
SET_BLINK(OSD_LINK_QUALITY);

View file

@ -173,7 +173,7 @@ void renderOsdWarning(char *warningText, bool *blinking, uint8_t *displayAttr)
// RSSI
if (osdWarnGetState(OSD_WARNING_RSSI) && (getRssiPercent() < osdConfig()->rssi_alarm)) {
tfp_sprintf(warningText, "RSSI LOW");
*displayAttr = DISPLAYPORT_SEVERITY_WARNING;
*displayAttr = DISPLAYPORT_SEVERITY_CRITICAL;
*blinking = true;
return;
}
@ -181,7 +181,7 @@ void renderOsdWarning(char *warningText, bool *blinking, uint8_t *displayAttr)
// rssi dbm
if (osdWarnGetState(OSD_WARNING_RSSI_DBM) && (getRssiDbm() < osdConfig()->rssi_dbm_alarm)) {
tfp_sprintf(warningText, "RSSI DBM");
*displayAttr = DISPLAYPORT_SEVERITY_WARNING;
*displayAttr = DISPLAYPORT_SEVERITY_CRITICAL;
*blinking = true;
return;
}
@ -190,7 +190,7 @@ void renderOsdWarning(char *warningText, bool *blinking, uint8_t *displayAttr)
// rsnr
if (osdWarnGetState(OSD_WARNING_RSNR) && (getRsnr() < osdConfig()->rsnr_alarm)) {
tfp_sprintf(warningText, "RSNR LOW");
*displayAttr = DISPLAYPORT_SEVERITY_WARNING;
*displayAttr = DISPLAYPORT_SEVERITY_CRITICAL;
*blinking = true;
return;
}
@ -200,7 +200,7 @@ void renderOsdWarning(char *warningText, bool *blinking, uint8_t *displayAttr)
// Link Quality
if (osdWarnGetState(OSD_WARNING_LINK_QUALITY) && (rxGetLinkQualityPercent() < osdConfig()->link_quality_alarm)) {
tfp_sprintf(warningText, "LINK QUALITY");
*displayAttr = DISPLAYPORT_SEVERITY_WARNING;
*displayAttr = DISPLAYPORT_SEVERITY_CRITICAL;
*blinking = true;
return;
}

View file

@ -30,7 +30,14 @@
#if defined(USE_MSP_DISPLAYPORT)
PG_REGISTER(displayPortProfile_t, displayPortProfileMsp, PG_DISPLAY_PORT_MSP_CONFIG, 1);
PG_REGISTER_WITH_RESET_FN(displayPortProfile_t, displayPortProfileMsp, PG_DISPLAY_PORT_MSP_CONFIG, 1);
void pgResetFn_displayPortProfileMsp(displayPortProfile_t *displayPortProfile)
{
for (uint8_t font = 0; font < DISPLAYPORT_SEVERITY_COUNT; font++) {
displayPortProfile->fontSelection[font] = font;
}
}
#endif