1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-13 19:40:31 +03:00

Merge pull request #11886 from jonmahoney15/ready-mode

Ready Mode
This commit is contained in:
haslinghuis 2022-10-25 03:29:03 +02:00 committed by GitHub
commit 022563ddd3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 14 additions and 1 deletions

View file

@ -1387,6 +1387,7 @@ const clivalue_t valueTable[] = {
{ "osd_disarmed_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_DISARMED]) },
{ "osd_nheading_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_NUMERICAL_HEADING]) },
{ "osd_up_down_reference_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_UP_DOWN_REFERENCE]) },
{ "osd_ready_mode_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_READY_MODE]) },
#ifdef USE_VARIO
{ "osd_nvario_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_NUMERICAL_VARIO]) },
#endif
@ -1425,7 +1426,6 @@ const clivalue_t valueTable[] = {
{ "osd_total_flights_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_TOTAL_FLIGHTS]) },
{ "osd_aux_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_AUX_VALUE]) },
// OSD stats enabled flags are stored as bitmapped values inside a 32bit parameter
{ "osd_stat_bitmask", VAR_UINT32 | MASTER_VALUE, .config.u32Max = UINT32_MAX, PG_OSD_CONFIG, offsetof(osdConfig_t, enabled_stats)},

View file

@ -77,6 +77,7 @@ typedef enum {
BOXMSPOVERRIDE,
BOXSTICKCOMMANDDISABLE,
BOXBEEPERMUTE,
BOXREADY,
CHECKBOX_ITEM_COUNT
} boxId_e;

View file

@ -100,6 +100,7 @@ static const box_t boxes[CHECKBOX_ITEM_COUNT] = {
{ .boxId = BOXMSPOVERRIDE, .boxName = "MSP OVERRIDE", .permanentId = 50},
{ .boxId = BOXSTICKCOMMANDDISABLE, .boxName = "STICK COMMANDS DISABLE", .permanentId = 51},
{ .boxId = BOXBEEPERMUTE, .boxName = "BEEPER MUTE", .permanentId = 52},
{ .boxId = BOXREADY, .boxName = "READY", .permanentId = 53}
};
// mask of enabled IDs, calculated on startup based on enabled features. boxId_e is used as bit index
@ -335,6 +336,7 @@ void initActiveBoxIds(void)
#endif
BME(BOXSTICKCOMMANDDISABLE);
BME(BOXREADY);
#undef BME
// check that all enabled IDs are in boxes array (check may be skipped when using findBoxById() functions)

View file

@ -163,6 +163,7 @@ typedef enum {
OSD_TX_UPLINK_POWER,
OSD_WATT_HOURS_DRAWN,
OSD_AUX_VALUE,
OSD_READY_MODE,
OSD_ITEM_COUNT // MUST BE LAST
} osd_items_e;

View file

@ -992,6 +992,13 @@ static void osdElementFlymode(osdElementParms_t *element)
}
}
static void osdElementReadyMode(osdElementParms_t *element)
{
if (IS_RC_MODE_ACTIVE(BOXREADY) && !ARMING_FLAG(ARMED)) {
strcpy(element->buff, "READY");
}
}
#ifdef USE_ACC
static void osdElementGForce(osdElementParms_t *element)
{
@ -1559,6 +1566,7 @@ static const uint8_t osdElementDisplayOrder[] = {
OSD_MAIN_BATT_USAGE,
OSD_DISARMED,
OSD_NUMERICAL_HEADING,
OSD_READY_MODE,
#ifdef USE_VARIO
OSD_NUMERICAL_VARIO,
#endif
@ -1644,6 +1652,7 @@ const osdElementDrawFn osdElementDrawFunction[OSD_ITEM_COUNT] = {
[OSD_PIDRATE_PROFILE] = osdElementPidRateProfile,
[OSD_WARNINGS] = osdElementWarnings,
[OSD_AVG_CELL_VOLTAGE] = osdElementAverageCellVoltage,
[OSD_READY_MODE] = osdElementReadyMode,
#ifdef USE_GPS
[OSD_GPS_LON] = osdElementGpsCoordinate,
[OSD_GPS_LAT] = osdElementGpsCoordinate,