diff --git a/src/main/fc/fc_msp_box.c b/src/main/fc/fc_msp_box.c index 54bdf68b05..5cfe9a35bf 100644 --- a/src/main/fc/fc_msp_box.c +++ b/src/main/fc/fc_msp_box.c @@ -57,6 +57,7 @@ static const box_t boxes[CHECKBOX_ITEM_COUNT + 1] = { { BOXBEEPERON, "BEEPER", 13 }, { BOXLEDLOW, "LEDLOW", 15 }, { BOXLIGHTS, "LIGHTS", 16 }, + { BOXOSD, "OSD SW", 19 }, { BOXTELEMETRY, "TELEMETRY", 20 }, { BOXAUTOTUNE, "AUTO TUNE", 21 }, { BOXBLACKBOX, "BLACKBOX", 26 }, @@ -221,6 +222,8 @@ void initActiveBoxIds(void) } #endif + activeBoxIds[activeBoxIdCount++] = BOXOSD; + #ifdef USE_TELEMETRY if (feature(FEATURE_TELEMETRY) && telemetryConfig()->telemetry_switch) activeBoxIds[activeBoxIdCount++] = BOXTELEMETRY; @@ -275,6 +278,7 @@ void packBoxModeFlags(boxBitmask_t * mspBoxModeFlags) CHECK_ACTIVE_BOX(IS_ENABLED(IS_RC_MODE_ACTIVE(BOXBEEPERON)), BOXBEEPERON); CHECK_ACTIVE_BOX(IS_ENABLED(IS_RC_MODE_ACTIVE(BOXLEDLOW)), BOXLEDLOW); CHECK_ACTIVE_BOX(IS_ENABLED(IS_RC_MODE_ACTIVE(BOXLIGHTS)), BOXLIGHTS); + CHECK_ACTIVE_BOX(IS_ENABLED(IS_RC_MODE_ACTIVE(BOXOSD)), BOXOSD); CHECK_ACTIVE_BOX(IS_ENABLED(IS_RC_MODE_ACTIVE(BOXTELEMETRY)), BOXTELEMETRY); CHECK_ACTIVE_BOX(IS_ENABLED(ARMING_FLAG(ARMED)), BOXARM); CHECK_ACTIVE_BOX(IS_ENABLED(IS_RC_MODE_ACTIVE(BOXBLACKBOX)), BOXBLACKBOX); diff --git a/src/main/fc/rc_modes.h b/src/main/fc/rc_modes.h index 33bade3195..3f90845f4a 100755 --- a/src/main/fc/rc_modes.h +++ b/src/main/fc/rc_modes.h @@ -39,7 +39,7 @@ typedef enum { BOXLEDLOW = 12, BOXLIGHTS = 13, BOXNAVLAUNCH = 14, - // BOXOSD = 15, + BOXOSD = 15, BOXTELEMETRY = 16, BOXBLACKBOX = 17, BOXFAILSAFE = 18, diff --git a/src/main/io/osd.c b/src/main/io/osd.c index a28b268742..cfd216871a 100755 --- a/src/main/io/osd.c +++ b/src/main/io/osd.c @@ -2224,6 +2224,12 @@ static void osdRefresh(timeUs_t currentTimeUs) { static timeUs_t lastTimeUs = 0; + if (IS_RC_MODE_ACTIVE(BOXOSD) && (!cmsInMenu)) { + displayClearScreen(osdDisplayPort); + armState = ARMING_FLAG(ARMED); + return; + } + // detect arm/disarm if (armState != ARMING_FLAG(ARMED)) { if (ARMING_FLAG(ARMED)) {