1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-19 22:35:23 +03:00

Add osd warning for fail safe state.

This commit is contained in:
jflyper 2018-08-22 00:44:11 +09:00
parent ce925f863e
commit 82268b7a4e
4 changed files with 9 additions and 0 deletions

View file

@ -946,6 +946,7 @@ const clivalue_t valueTable[] = {
#ifdef USE_ADC_INTERNAL #ifdef USE_ADC_INTERNAL
{ "osd_warn_core_temp", VAR_UINT16 | MASTER_VALUE | MODE_BITSET, .config.bitpos = OSD_WARNING_CORE_TEMPERATURE, PG_OSD_CONFIG, offsetof(osdConfig_t, enabledWarnings)}, { "osd_warn_core_temp", VAR_UINT16 | MASTER_VALUE | MODE_BITSET, .config.bitpos = OSD_WARNING_CORE_TEMPERATURE, PG_OSD_CONFIG, offsetof(osdConfig_t, enabledWarnings)},
#endif #endif
{ "osd_warn_fail_safe", VAR_UINT16 | MASTER_VALUE | MODE_BITSET, .config.bitpos = OSD_WARNING_FAIL_SAFE, PG_OSD_CONFIG, offsetof(osdConfig_t, enabledWarnings)},
{ "osd_rssi_alarm", VAR_UINT8 | MASTER_VALUE, .config.minmax = { 0, 100 }, PG_OSD_CONFIG, offsetof(osdConfig_t, rssi_alarm) }, { "osd_rssi_alarm", VAR_UINT8 | MASTER_VALUE, .config.minmax = { 0, 100 }, PG_OSD_CONFIG, offsetof(osdConfig_t, rssi_alarm) },
{ "osd_cap_alarm", VAR_UINT16 | MASTER_VALUE, .config.minmax = { 0, 20000 }, PG_OSD_CONFIG, offsetof(osdConfig_t, cap_alarm) }, { "osd_cap_alarm", VAR_UINT16 | MASTER_VALUE, .config.minmax = { 0, 20000 }, PG_OSD_CONFIG, offsetof(osdConfig_t, cap_alarm) },

View file

@ -67,6 +67,7 @@
#include "fc/fc_rc.h" #include "fc/fc_rc.h"
#include "fc/runtime_config.h" #include "fc/runtime_config.h"
#include "flight/failsafe.h"
#include "flight/position.h" #include "flight/position.h"
#include "flight/imu.h" #include "flight/imu.h"
#ifdef USE_ESC_SENSOR #ifdef USE_ESC_SENSOR
@ -768,6 +769,10 @@ static bool osdDrawSingleElement(uint8_t item)
break; break;
} }
#endif #endif
if (osdWarnGetState(OSD_WARNING_FAIL_SAFE) && failsafeIsActive()) {
osdFormatMessage(buff, OSD_FORMAT_MESSAGE_BUFFER_SIZE, "FAIL SAFE");
break;
}
if (osdWarnGetState(OSD_WARNING_BATTERY_CRITICAL) && batteryState == BATTERY_CRITICAL) { if (osdWarnGetState(OSD_WARNING_BATTERY_CRITICAL) && batteryState == BATTERY_CRITICAL) {
osdFormatMessage(buff, OSD_FORMAT_MESSAGE_BUFFER_SIZE, " LAND NOW"); osdFormatMessage(buff, OSD_FORMAT_MESSAGE_BUFFER_SIZE, " LAND NOW");

View file

@ -165,6 +165,7 @@ typedef enum {
OSD_WARNING_ESC_FAIL, OSD_WARNING_ESC_FAIL,
OSD_WARNING_CORE_TEMPERATURE, OSD_WARNING_CORE_TEMPERATURE,
OSD_WARNING_RC_SMOOTHING, OSD_WARNING_RC_SMOOTHING,
OSD_WARNING_FAIL_SAFE,
OSD_WARNING_COUNT // MUST BE LAST OSD_WARNING_COUNT // MUST BE LAST
} osdWarningsFlags_e; } osdWarningsFlags_e;

View file

@ -1047,4 +1047,6 @@ extern "C" {
} }
bool pidOsdAntiGravityActive(void) { return false; } bool pidOsdAntiGravityActive(void) { return false; }
bool failsafeIsActive(void) { return false; }
} }