diff --git a/src/main/cms/cms.c b/src/main/cms/cms.c index ebfd9524eb..cbf6ae56bd 100644 --- a/src/main/cms/cms.c +++ b/src/main/cms/cms.c @@ -246,6 +246,7 @@ static int cmsDrawMenuEntry(displayPort_t *pDisplay, OSD_Entry *p, uint8_t row) } break; case OME_Submenu: + case OME_Funcall: if (IS_PRINTVALUE(p)) { cnt = displayWrite(pDisplay, RIGHT_MENU_COLUMN(pDisplay), row, ">"); CLR_PRINTVALUE(p); @@ -639,6 +640,7 @@ static uint16_t cmsHandleKey(displayPort_t *pDisplay, uint8_t key) switch (p->type) { case OME_Submenu: + case OME_Funcall: case OME_OSD_Exit: if (p->func && key == KEY_RIGHT) { p->func(pDisplay, p->data); diff --git a/src/main/cms/cms_menu_blackbox.c b/src/main/cms/cms_menu_blackbox.c index 67b180802d..661ba9c4cc 100644 --- a/src/main/cms/cms_menu_blackbox.c +++ b/src/main/cms/cms_menu_blackbox.c @@ -93,7 +93,7 @@ static OSD_Entry cmsx_menuBlackboxEntries[] = { "RATE DENOM", OME_UINT8, NULL, &(OSD_UINT8_t){ &masterConfig.blackbox_rate_denom,1,32,1 }, 0 }, #ifdef USE_FLASHFS - { "ERASE FLASH", OME_Submenu, cmsx_EraseFlash, NULL, 0 }, + { "ERASE FLASH", OME_Funcall, cmsx_EraseFlash, NULL, 0 }, #endif // USE_FLASHFS { "BACK", OME_Back, NULL, NULL, 0 }, diff --git a/src/main/cms/cms_types.h b/src/main/cms/cms_types.h index a2336e2c77..de46c34ea8 100644 --- a/src/main/cms/cms_types.h +++ b/src/main/cms/cms_types.h @@ -32,6 +32,7 @@ typedef enum OME_Back, OME_OSD_Exit, OME_Submenu, + OME_Funcall, OME_Bool, OME_INT8, OME_UINT8,