1
0
Fork 0
mirror of https://github.com/iNavFlight/inav.git synced 2025-07-26 01:35:35 +03:00

rssi alarm

(cherry picked from commit ac60206909a91e6094439f8a89aefd2126c51562)
This commit is contained in:
Alexander van Saase 2021-05-14 16:38:06 +02:00
parent a3c6924d83
commit 161ad10b5a
3 changed files with 12 additions and 1 deletions

View file

@ -3109,6 +3109,13 @@ groups:
field: link_quality_alarm field: link_quality_alarm
min: 0 min: 0
max: 100 max: 100
- name: osd_rssi_dbm_alarm
condition: USE_SERIALRX_CRSF
description: "RSSI-dBm indicator blinks below this value [dBm]. 0 disables this alarm"
default_value: -100
field: rssi_dbm_alarm
min: -130
max: 0
- name: osd_temp_label_align - name: osd_temp_label_align
description: "Allows to chose between left and right alignment for the OSD temperature sensor labels. Valid values are `LEFT` and `RIGHT`" description: "Allows to chose between left and right alignment for the OSD temperature sensor labels. Valid values are `LEFT` and `RIGHT`"
default_value: "LEFT" default_value: "LEFT"

View file

@ -194,7 +194,7 @@ static bool osdDisplayHasCanvas;
#define AH_MAX_PITCH_DEFAULT 20 // Specify default maximum AHI pitch value displayed (degrees) #define AH_MAX_PITCH_DEFAULT 20 // Specify default maximum AHI pitch value displayed (degrees)
PG_REGISTER_WITH_RESET_TEMPLATE(osdConfig_t, osdConfig, PG_OSD_CONFIG, 2); PG_REGISTER_WITH_RESET_TEMPLATE(osdConfig_t, osdConfig, PG_OSD_CONFIG, 3);
PG_REGISTER_WITH_RESET_FN(osdLayoutsConfig_t, osdLayoutsConfig, PG_OSD_LAYOUTS_CONFIG, 0); PG_REGISTER_WITH_RESET_FN(osdLayoutsConfig_t, osdLayoutsConfig, PG_OSD_LAYOUTS_CONFIG, 0);
static int digitCount(int32_t value) static int digitCount(int32_t value)
@ -1858,6 +1858,8 @@ static bool osdDrawSingleElement(uint8_t item)
} }
if (!failsafeIsReceivingRxData()){ if (!failsafeIsReceivingRxData()){
TEXT_ATTRIBUTES_ADD_BLINK(elemAttr); TEXT_ATTRIBUTES_ADD_BLINK(elemAttr);
} else if (osdConfig()->rssi_dbm_alarm && rssi < osdConfig()->rssi_dbm_alarm) {
TEXT_ATTRIBUTES_ADD_BLINK(elemAttr);
} }
break; break;
} }
@ -2881,6 +2883,7 @@ PG_RESET_TEMPLATE(osdConfig_t, osdConfig,
.snr_alarm = SETTING_OSD_SNR_ALARM_DEFAULT, .snr_alarm = SETTING_OSD_SNR_ALARM_DEFAULT,
.crsf_lq_format = SETTING_OSD_CRSF_LQ_FORMAT_DEFAULT, .crsf_lq_format = SETTING_OSD_CRSF_LQ_FORMAT_DEFAULT,
.link_quality_alarm = SETTING_OSD_LINK_QUALITY_ALARM_DEFAULT, .link_quality_alarm = SETTING_OSD_LINK_QUALITY_ALARM_DEFAULT,
.rssi_dbm_alarm = SETTING_OSD_RSSI_DMB_ALARM_DEFAULT,
#endif #endif
#ifdef USE_TEMPERATURE_SENSOR #ifdef USE_TEMPERATURE_SENSOR
.temp_label_align = SETTING_OSD_TEMP_LABEL_ALIGN_DEFAULT, .temp_label_align = SETTING_OSD_TEMP_LABEL_ALIGN_DEFAULT,

View file

@ -312,6 +312,7 @@ typedef struct osdConfig_s {
#ifdef USE_SERIALRX_CRSF #ifdef USE_SERIALRX_CRSF
int8_t snr_alarm; //CRSF SNR alarm in dB int8_t snr_alarm; //CRSF SNR alarm in dB
int8_t link_quality_alarm; int8_t link_quality_alarm;
int8_t rssi_dbm_alarm; // in dBm
#endif #endif
#ifdef USE_BARO #ifdef USE_BARO
int16_t baro_temp_alarm_min; int16_t baro_temp_alarm_min;