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

Move most CMS entry definitions to macros

This will make the transition to using const values where possible
much easier and cleaner.
This commit is contained in:
Alberto García Hierro 2018-03-05 23:51:34 +00:00
parent 741b6c3242
commit 0131e3e066
11 changed files with 213 additions and 176 deletions

View file

@ -77,11 +77,12 @@ static bool cmsx_Blackbox_Enabled(bool *enabled)
static OSD_Entry cmsx_menuBlackboxEntries[] = static OSD_Entry cmsx_menuBlackboxEntries[] =
{ {
{ "-- BLACKBOX --", OME_Label, NULL, NULL, 0}, OSD_LABEL_ENTRY("-- BLACKBOX --"),
{ "ENABLED", OME_BoolFunc, NULL, cmsx_Blackbox_Enabled, 0 }, OSD_BOOL_FUNC_ENTRY("ENABLED", cmsx_Blackbox_Enabled),
OSD_SETTING_ENTRY("RATE DENOM", SETTING_BLACKBOX_RATE_DENOM), OSD_SETTING_ENTRY("RATE DENOM", SETTING_BLACKBOX_RATE_DENOM),
#ifdef USE_FLASHFS #ifdef USE_FLASHFS
{ "ERASE FLASH",OME_Funcall, cmsx_EraseFlash, NULL, 0 }, OSD_FUNC_CALL_ENTRY("ERASE FLASH", cmsx_EraseFlash),
#endif // USE_FLASHFS #endif // USE_FLASHFS
OSD_BACK_ENTRY, OSD_BACK_ENTRY,

View file

@ -74,11 +74,12 @@ static long cmsx_InfoInit(void)
} }
static OSD_Entry menuInfoEntries[] = { static OSD_Entry menuInfoEntries[] = {
{ "--- INFO ---", OME_Label, NULL, NULL, 0 }, OSD_LABEL_ENTRY("--- INFO ---"),
{ "FWID", OME_String, NULL, INAV_IDENTIFIER, 0 }, OSD_STRING_ENTRY("FWID", INAV_IDENTIFIER),
{ "FWVER", OME_String, NULL, FC_VERSION_STRING, 0 }, OSD_STRING_ENTRY("FWVER", FC_VERSION_STRING),
{ "GITREV", OME_String, NULL, infoGitRev, 0 }, OSD_STRING_ENTRY("GITREV", infoGitRev),
{ "TARGET", OME_String, NULL, infoTargetName, 0 }, OSD_STRING_ENTRY("TARGET", infoTargetName),
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,
}; };
@ -98,25 +99,26 @@ static CMS_Menu menuInfo = {
static OSD_Entry menuFeaturesEntries[] = static OSD_Entry menuFeaturesEntries[] =
{ {
{"--- FEATURES ---", OME_Label, NULL, NULL, 0}, OSD_LABEL_ENTRY("--- FEATURES ---"),
{"BLACKBOX", OME_Submenu, cmsMenuChange, &cmsx_menuBlackbox, 0}, OSD_SUBMENU_ENTRY("BLACKBOX", &cmsx_menuBlackbox),
#if defined(USE_NAV) #if defined(USE_NAV)
{"NAVIGATION", OME_Submenu, cmsMenuChange, &cmsx_menuNavigation, 0}, OSD_SUBMENU_ENTRY("NAVIGATION", &cmsx_menuNavigation),
#endif #endif
#if defined(VTX) || defined(USE_RTC6705) #if defined(VTX) || defined(USE_RTC6705)
{"VTX", OME_Submenu, cmsMenuChange, &cmsx_menuVtx, 0}, OSD_SUBMENU_ENTRY("VTX", &cmsx_menuVtx),
#endif // VTX || USE_RTC6705 #endif // VTX || USE_RTC6705
#if defined(VTX_CONTROL) #if defined(VTX_CONTROL)
#if defined(VTX_SMARTAUDIO) #if defined(VTX_SMARTAUDIO)
{"VTX SA", OME_Submenu, cmsMenuChange, &cmsx_menuVtxSmartAudio, 0}, OSD_SUBMENU_ENTRY("VTX SA", &cmsx_menuVtxSmartAudio),
#endif #endif
#if defined(VTX_TRAMP) #if defined(VTX_TRAMP)
{"VTX TR", OME_Submenu, cmsMenuChange, &cmsx_menuVtxTramp, 0}, OSD_SUBMENU_ENTRY("VTX TR", &cmsx_menuVtxTramp),
#endif #endif
#endif // VTX_CONTROL #endif // VTX_CONTROL
#ifdef USE_LED_STRIP #ifdef USE_LED_STRIP
{"LED STRIP", OME_Submenu, cmsMenuChange, &cmsx_menuLedstrip, 0}, OSD_SUBMENU_ENTRY("LED STRIP", &cmsx_menuLedstrip),
#endif // LED_STRIP #endif // LED_STRIP
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,
}; };
@ -136,23 +138,24 @@ static CMS_Menu menuFeatures = {
static OSD_Entry menuMainEntries[] = static OSD_Entry menuMainEntries[] =
{ {
{"-- MAIN --", OME_Label, NULL, NULL, 0}, OSD_LABEL_ENTRY("-- MAIN --"),
{"PID TUNING", OME_Submenu, cmsMenuChange, &cmsx_menuImu, 0}, OSD_SUBMENU_ENTRY("PID TUNING", &cmsx_menuImu),
{"FEATURES", OME_Submenu, cmsMenuChange, &menuFeatures, 0}, OSD_SUBMENU_ENTRY("FEATURES", &menuFeatures),
#ifdef USE_OSD #ifdef USE_OSD
{"SCR LAYOUT", OME_Submenu, cmsMenuChange, &cmsx_menuOsdLayout, 0}, OSD_SUBMENU_ENTRY("SCR LAYOUT", &cmsx_menuOsdLayout),
{"ALARMS", OME_Submenu, cmsMenuChange, &cmsx_menuAlarms, 0}, OSD_SUBMENU_ENTRY("ALARMS", &cmsx_menuAlarms),
#endif #endif
{"FC&FW INFO", OME_Submenu, cmsMenuChange, &menuInfo, 0}, OSD_SUBMENU_ENTRY("FC&FW INFO", &menuInfo),
{"MISC", OME_Submenu, cmsMenuChange, &cmsx_menuMisc, 0}, OSD_SUBMENU_ENTRY("MISC", &cmsx_menuMisc),
{"SAVE&REBOOT", OME_OSD_Exit, cmsMenuExit, (void*)CMS_EXIT_SAVEREBOOT, 0}, {"SAVE&REBOOT", OME_OSD_Exit, cmsMenuExit, (void*)CMS_EXIT_SAVEREBOOT, 0},
{"EXIT", OME_OSD_Exit, cmsMenuExit, (void*)CMS_EXIT, 0}, {"EXIT", OME_OSD_Exit, cmsMenuExit, (void*)CMS_EXIT, 0},
#ifdef CMS_MENU_DEBUG #ifdef CMS_MENU_DEBUG
{"ERR SAMPLE", OME_Submenu, cmsMenuChange, &menuInfoEntries[0], 0}, OSD_SUBMENU_ENTRY("ERR SAMPLE", &menuInfoEntries[0]),
#endif #endif
{NULL,OME_END, NULL, NULL, 0} OSD_END_ENTRY,
}; };
CMS_Menu menuMain = { CMS_Menu menuMain = {

View file

@ -131,19 +131,19 @@ static long cmsx_PidWriteback(const OSD_Entry *self)
static OSD_Entry cmsx_menuPidEntries[] = static OSD_Entry cmsx_menuPidEntries[] =
{ {
{ "-- PID --", OME_Label, NULL, profileIndexString, 0}, OSD_LABEL_DATA_ENTRY("-- PID --", profileIndexString),
{ "ROLL P", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidRoll[0], 0, 200, 1 }, 0 }, OSD_UINT8_ENTRY("ROLL P", (&(OSD_UINT8_t){ &cmsx_pidRoll[0], 0, 200, 1 })),
{ "ROLL I", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidRoll[1], 0, 200, 1 }, 0 }, OSD_UINT8_ENTRY("ROLL I", (&(OSD_UINT8_t){ &cmsx_pidRoll[1], 0, 200, 1 })),
{ "ROLL D", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidRoll[2], 0, 200, 1 }, 0 }, OSD_UINT8_ENTRY("ROLL D", (&(OSD_UINT8_t){ &cmsx_pidRoll[2], 0, 200, 1 })),
{ "PITCH P", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidPitch[0], 0, 200, 1 }, 0 }, OSD_UINT8_ENTRY("PITCH P", (&(OSD_UINT8_t){ &cmsx_pidPitch[0], 0, 200, 1 })),
{ "PITCH I", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidPitch[1], 0, 200, 1 }, 0 }, OSD_UINT8_ENTRY("PITCH I", (&(OSD_UINT8_t){ &cmsx_pidPitch[1], 0, 200, 1 })),
{ "PITCH D", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidPitch[2], 0, 200, 1 }, 0 }, OSD_UINT8_ENTRY("PITCH D", (&(OSD_UINT8_t){ &cmsx_pidPitch[2], 0, 200, 1 })),
{ "YAW P", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidYaw[0], 0, 200, 1 }, 0 }, OSD_UINT8_ENTRY("YAW P", (&(OSD_UINT8_t){ &cmsx_pidYaw[0], 0, 200, 1 })),
{ "YAW I", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidYaw[1], 0, 200, 1 }, 0 }, OSD_UINT8_ENTRY("YAW I", (&(OSD_UINT8_t){ &cmsx_pidYaw[1], 0, 200, 1 })),
{ "YAW D", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidYaw[2], 0, 200, 1 }, 0 }, OSD_UINT8_ENTRY("YAW D", (&(OSD_UINT8_t){ &cmsx_pidYaw[2], 0, 200, 1 })),
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,
@ -186,16 +186,18 @@ static long cmsx_menuPidAltMag_onExit(const OSD_Entry *self)
return 0; return 0;
} }
static OSD_Entry cmsx_menuPidAltMagEntries[] = { static OSD_Entry cmsx_menuPidAltMagEntries[] =
{ "-- ALT&MAG --", OME_Label, NULL, profileIndexString, 0}, {
OSD_LABEL_DATA_ENTRY("-- ALT&MAG --", profileIndexString),
{ "ALT P", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidPosZ[0], 0, 255, 1 }, 0 }, OSD_UINT8_ENTRY("ALT P", (&(OSD_UINT8_t){ &cmsx_pidPosZ[0], 0, 255, 1 })),
{ "ALT I", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidPosZ[1], 0, 255, 1 }, 0 }, OSD_UINT8_ENTRY("ALT I", (&(OSD_UINT8_t){ &cmsx_pidPosZ[1], 0, 255, 1 })),
{ "ALT D", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidPosZ[2], 0, 255, 1 }, 0 }, OSD_UINT8_ENTRY("ALT D", (&(OSD_UINT8_t){ &cmsx_pidPosZ[2], 0, 255, 1 })),
{ "VEL P", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidVelZ[0], 0, 255, 1 }, 0 }, OSD_UINT8_ENTRY("VEL P", (&(OSD_UINT8_t){ &cmsx_pidVelZ[0], 0, 255, 1 })),
{ "VEL I", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidVelZ[1], 0, 255, 1 }, 0 }, OSD_UINT8_ENTRY("VEL I", (&(OSD_UINT8_t){ &cmsx_pidVelZ[1], 0, 255, 1 })),
{ "VEL D", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidVelZ[2], 0, 255, 1 }, 0 }, OSD_UINT8_ENTRY("VEL D", (&(OSD_UINT8_t){ &cmsx_pidVelZ[2], 0, 255, 1 })),
{ "MAG P", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidHead[0], 0, 255, 1 }, 0 },
OSD_UINT8_ENTRY("MAG P", (&(OSD_UINT8_t){ &cmsx_pidHead[0], 0, 255, 1 })),
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,
@ -235,14 +237,15 @@ static long cmsx_menuPidGpsnav_onExit(const OSD_Entry *self)
return 0; return 0;
} }
static OSD_Entry cmsx_menuPidGpsnavEntries[] = { static OSD_Entry cmsx_menuPidGpsnavEntries[] =
{ "-- GPSNAV --", OME_Label, NULL, profileIndexString, 0}, {
OSD_LABEL_DATA_ENTRY("-- GPSNAV --", profileIndexString),
{ "POS P", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidPosXY[0], 0, 255, 1 }, 0 }, OSD_UINT8_ENTRY("POS P", (&(OSD_UINT8_t){ &cmsx_pidPosXY[0], 0, 255, 1 })),
{ "POS I", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidPosXY[1], 0, 255, 1 }, 0 }, OSD_UINT8_ENTRY("POS I", (&(OSD_UINT8_t){ &cmsx_pidPosXY[1], 0, 255, 1 })),
{ "POSR P", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidVelXY[0], 0, 255, 1 }, 0 }, OSD_UINT8_ENTRY("POSR P", (&(OSD_UINT8_t){ &cmsx_pidVelXY[0], 0, 255, 1 })),
{ "POSR I", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidVelXY[1], 0, 255, 1 }, 0 }, OSD_UINT8_ENTRY("POSR I", (&(OSD_UINT8_t){ &cmsx_pidVelXY[1], 0, 255, 1 })),
{ "POSR D", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_pidVelXY[2], 0, 255, 1 }, 0 }, OSD_UINT8_ENTRY("POSR D", (&(OSD_UINT8_t){ &cmsx_pidVelXY[2], 0, 255, 1 })),
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,
@ -264,7 +267,7 @@ static CMS_Menu cmsx_menuPidGpsnav = {
// //
static OSD_Entry cmsx_menuManualRateProfileEntries[] = static OSD_Entry cmsx_menuManualRateProfileEntries[] =
{ {
{ "-- MANUAL RATE --", OME_Label, NULL, profileIndexString, 0 }, OSD_LABEL_DATA_ENTRY("-- MANUAL RATE --", profileIndexString),
OSD_SETTING_ENTRY("MANU ROLL RATE", SETTING_MANUAL_ROLL_RATE), OSD_SETTING_ENTRY("MANU ROLL RATE", SETTING_MANUAL_ROLL_RATE),
OSD_SETTING_ENTRY("MANU PITCH RATE", SETTING_MANUAL_PITCH_RATE), OSD_SETTING_ENTRY("MANU PITCH RATE", SETTING_MANUAL_PITCH_RATE),
@ -293,7 +296,7 @@ static CMS_Menu cmsx_menuManualRateProfile = {
// //
static OSD_Entry cmsx_menuRateProfileEntries[] = static OSD_Entry cmsx_menuRateProfileEntries[] =
{ {
{ "-- RATE --", OME_Label, NULL, profileIndexString, 0 }, OSD_LABEL_DATA_ENTRY("-- RATE --", profileIndexString),
#if 0 #if 0
{ "RC RATE", OME_FLOAT, NULL, &(OSD_FLOAT_t){ &rateProfile.rcRate8, 0, 255, 1, 10 }, 0 }, { "RC RATE", OME_FLOAT, NULL, &(OSD_FLOAT_t){ &rateProfile.rcRate8, 0, 255, 1, 10 }, 0 },
@ -393,7 +396,7 @@ static CMS_Menu cmsx_menuProfileOther = {
// //
static OSD_Entry cmsx_menuFilterPerProfileEntries[] = static OSD_Entry cmsx_menuFilterPerProfileEntries[] =
{ {
{ "-- FILTER PP --", OME_Label, NULL, profileIndexString, 0 }, OSD_LABEL_DATA_ENTRY("-- FILTER PP --", profileIndexString),
OSD_SETTING_ENTRY("DTERM LPF", SETTING_DTERM_LPF_HZ), OSD_SETTING_ENTRY("DTERM LPF", SETTING_DTERM_LPF_HZ),
OSD_SETTING_ENTRY("GYRO SLPF", SETTING_GYRO_LPF_HZ), OSD_SETTING_ENTRY("GYRO SLPF", SETTING_GYRO_LPF_HZ),
@ -417,7 +420,7 @@ static CMS_Menu cmsx_menuFilterPerProfile = {
static OSD_Entry cmsx_menuGyroEntries[] = static OSD_Entry cmsx_menuGyroEntries[] =
{ {
{ "-- GYRO GLB --", OME_Label, NULL, profileIndexString, 0}, OSD_LABEL_DATA_ENTRY("-- GYRO GLB --", profileIndexString),
OSD_SETTING_ENTRY("GYRO SYNC", SETTING_GYRO_SYNC), OSD_SETTING_ENTRY("GYRO SYNC", SETTING_GYRO_SYNC),
OSD_SETTING_ENTRY("GYRO DENOM", SETTING_GYRO_SYNC_DENOM), OSD_SETTING_ENTRY("GYRO DENOM", SETTING_GYRO_SYNC_DENOM),
@ -440,22 +443,22 @@ static CMS_Menu cmsx_menuGyro = {
static OSD_Entry cmsx_menuImuEntries[] = static OSD_Entry cmsx_menuImuEntries[] =
{ {
{ "-- PID TUNING --", OME_Label, NULL, NULL, 0}, OSD_LABEL_ENTRY("-- PID TUNING --"),
// Profile dependent // Profile dependent
{"PID PROF", OME_UINT8, cmsx_profileIndexOnChange, &(OSD_UINT8_t){ &tmpProfileIndex, 1, MAX_PROFILE_COUNT, 1}, 0}, OSD_UINT8_CALLBACK_ENTRY("PID PROF", cmsx_profileIndexOnChange, (&(OSD_UINT8_t){ &tmpProfileIndex, 1, MAX_PROFILE_COUNT, 1})),
{"PID", OME_Submenu, cmsMenuChange, &cmsx_menuPid, 0}, OSD_SUBMENU_ENTRY("PID", &cmsx_menuPid),
{"PID ALTMAG", OME_Submenu, cmsMenuChange, &cmsx_menuPidAltMag, 0}, OSD_SUBMENU_ENTRY("PID ALTMAG", &cmsx_menuPidAltMag),
{"PID GPSNAV", OME_Submenu, cmsMenuChange, &cmsx_menuPidGpsnav, 0}, OSD_SUBMENU_ENTRY("PID GPSNAV", &cmsx_menuPidGpsnav),
{"FILT PP", OME_Submenu, cmsMenuChange, &cmsx_menuFilterPerProfile, 0}, OSD_SUBMENU_ENTRY("FILT PP", &cmsx_menuFilterPerProfile),
// Rate profile dependent // Rate profile dependent
{"RATE PROF", OME_UINT8, cmsx_profileIndexOnChange, &(OSD_UINT8_t){ &tmpProfileIndex, 1, MAX_CONTROL_RATE_PROFILE_COUNT, 1}, 0}, OSD_UINT8_CALLBACK_ENTRY("RATE PROF", cmsx_profileIndexOnChange, (&(OSD_UINT8_t){ &tmpProfileIndex, 1, MAX_CONTROL_RATE_PROFILE_COUNT, 1})),
{"RATE", OME_Submenu, cmsMenuChange, &cmsx_menuRateProfile, 0}, OSD_SUBMENU_ENTRY("RATE", &cmsx_menuRateProfile),
{"MANU RATE", OME_Submenu, cmsMenuChange, &cmsx_menuManualRateProfile, 0}, OSD_SUBMENU_ENTRY("MANU RATE", &cmsx_menuManualRateProfile),
// Global // Global
{"GYRO GLB", OME_Submenu, cmsMenuChange, &cmsx_menuGyro, 0}, OSD_SUBMENU_ENTRY("GYRO GLB", &cmsx_menuGyro),
#ifdef NOT_YET #ifdef NOT_YET
{"OTHER PP", OME_Submenu, cmsMenuChange, &cmsx_menuProfileOther, 0}, {"OTHER PP", OME_Submenu, cmsMenuChange, &cmsx_menuProfileOther, 0},

View file

@ -58,8 +58,8 @@ static bool cmsx_FeatureLedStrip_Enabled(bool *enabled)
static OSD_Entry cmsx_menuLedstripEntries[] = static OSD_Entry cmsx_menuLedstripEntries[] =
{ {
{ "-- LED STRIP --", OME_Label, NULL, NULL, 0 }, OSD_LABEL_ENTRY("-- LED STRIP --"),
{ "ENABLED", OME_BoolFunc, NULL, cmsx_FeatureLedStrip_Enabled, 0 }, OSD_BOOL_FUNC_ENTRY("ENABLED", cmsx_FeatureLedStrip_Enabled),
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,

View file

@ -54,17 +54,17 @@ static long cmsx_menuRcConfirmBack(const OSD_Entry *self)
// //
static OSD_Entry cmsx_menuRcEntries[] = static OSD_Entry cmsx_menuRcEntries[] =
{ {
{ "-- RC PREV --", OME_Label, NULL, NULL, 0}, OSD_LABEL_ENTRY("-- RC PREV --"),
{ "ROLL", OME_INT16, NULL, &(OSD_INT16_t){ &rcData[ROLL], 1, 2500, 0 }, DYNAMIC }, OSD_INT16_DYN_ENTRY("ROLL", (&(OSD_INT16_t){ &rcData[ROLL], 1, 2500, 0 })),
{ "PITCH", OME_INT16, NULL, &(OSD_INT16_t){ &rcData[PITCH], 1, 2500, 0 }, DYNAMIC }, OSD_INT16_DYN_ENTRY("PITCH", (&(OSD_INT16_t){ &rcData[PITCH], 1, 2500, 0 })),
{ "THR", OME_INT16, NULL, &(OSD_INT16_t){ &rcData[THROTTLE], 1, 2500, 0 }, DYNAMIC }, OSD_INT16_DYN_ENTRY("THR", (&(OSD_INT16_t){ &rcData[THROTTLE], 1, 2500, 0 })),
{ "YAW", OME_INT16, NULL, &(OSD_INT16_t){ &rcData[YAW], 1, 2500, 0 }, DYNAMIC }, OSD_INT16_DYN_ENTRY("YAW", (&(OSD_INT16_t){ &rcData[YAW], 1, 2500, 0 })),
{ "AUX1", OME_INT16, NULL, &(OSD_INT16_t){ &rcData[AUX1], 1, 2500, 0 }, DYNAMIC }, OSD_INT16_DYN_ENTRY("AUX1", (&(OSD_INT16_t){ &rcData[AUX1], 1, 2500, 0 })),
{ "AUX2", OME_INT16, NULL, &(OSD_INT16_t){ &rcData[AUX2], 1, 2500, 0 }, DYNAMIC }, OSD_INT16_DYN_ENTRY("AUX2", (&(OSD_INT16_t){ &rcData[AUX2], 1, 2500, 0 })),
{ "AUX3", OME_INT16, NULL, &(OSD_INT16_t){ &rcData[AUX3], 1, 2500, 0 }, DYNAMIC }, OSD_INT16_DYN_ENTRY("AUX3", (&(OSD_INT16_t){ &rcData[AUX3], 1, 2500, 0 })),
{ "AUX4", OME_INT16, NULL, &(OSD_INT16_t){ &rcData[AUX4], 1, 2500, 0 }, DYNAMIC }, OSD_INT16_DYN_ENTRY("AUX4", (&(OSD_INT16_t){ &rcData[AUX4], 1, 2500, 0 })),
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,
@ -83,7 +83,7 @@ CMS_Menu cmsx_menuRcPreview = {
static OSD_Entry menuMiscEntries[]= static OSD_Entry menuMiscEntries[]=
{ {
{ "-- MISC --", OME_Label, NULL, NULL, 0 }, OSD_LABEL_ENTRY("-- MISC --"),
OSD_SETTING_ENTRY("MIN THR", SETTING_MIN_THROTTLE), OSD_SETTING_ENTRY("MIN THR", SETTING_MIN_THROTTLE),
#ifdef USE_ADC #ifdef USE_ADC
@ -100,7 +100,7 @@ static OSD_Entry menuMiscEntries[]=
#endif /* USE_OSD */ #endif /* USE_OSD */
#endif /* USE_ADC */ #endif /* USE_ADC */
{ "RC PREV", OME_Submenu, cmsMenuChange, &cmsx_menuRcPreview, 0}, OSD_SUBMENU_ENTRY("RC PREV", &cmsx_menuRcPreview),
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,

View file

@ -40,7 +40,8 @@
static OSD_Entry cmsx_menuNavSettingsEntries[] = static OSD_Entry cmsx_menuNavSettingsEntries[] =
{ {
{ "-- BASIC SETTINGS --", OME_Label, NULL, NULL, 0}, OSD_LABEL_ENTRY("-- BASIC SETTINGS --"),
OSD_SETTING_ENTRY("CONTROL MODE", SETTING_NAV_USER_CONTROL_MODE), OSD_SETTING_ENTRY("CONTROL MODE", SETTING_NAV_USER_CONTROL_MODE),
OSD_SETTING_ENTRY("MAX NAV SPEED", SETTING_NAV_AUTO_SPEED), OSD_SETTING_ENTRY("MAX NAV SPEED", SETTING_NAV_AUTO_SPEED),
OSD_SETTING_ENTRY("MAX CRUISE SPEED", SETTING_NAV_MANUAL_SPEED), OSD_SETTING_ENTRY("MAX CRUISE SPEED", SETTING_NAV_MANUAL_SPEED),
@ -67,7 +68,8 @@ static CMS_Menu cmsx_menuNavSettings = {
static OSD_Entry cmsx_menuRTHEntries[] = static OSD_Entry cmsx_menuRTHEntries[] =
{ {
{ "-- RTH --", OME_Label, NULL, NULL, 0}, OSD_LABEL_ENTRY("-- RTH --"),
OSD_SETTING_ENTRY("RTH ALT MODE", SETTING_NAV_RTH_ALT_MODE), OSD_SETTING_ENTRY("RTH ALT MODE", SETTING_NAV_RTH_ALT_MODE),
OSD_SETTING_ENTRY("RTH ALT", SETTING_NAV_RTH_ALTITUDE), OSD_SETTING_ENTRY("RTH ALT", SETTING_NAV_RTH_ALTITUDE),
OSD_SETTING_ENTRY("CLIMB BEFORE RTH", SETTING_NAV_RTH_CLIMB_FIRST), OSD_SETTING_ENTRY("CLIMB BEFORE RTH", SETTING_NAV_RTH_CLIMB_FIRST),
@ -97,7 +99,8 @@ static CMS_Menu cmsx_menuRTH = {
static OSD_Entry cmsx_menuFixedWingEntries[] = static OSD_Entry cmsx_menuFixedWingEntries[] =
{ {
{ "-- FIXED WING --", OME_Label, NULL, NULL, 0}, OSD_LABEL_ENTRY("-- FIXED WING --"),
OSD_SETTING_ENTRY("CRUISE THROTTLE", SETTING_NAV_FW_CRUISE_THR), OSD_SETTING_ENTRY("CRUISE THROTTLE", SETTING_NAV_FW_CRUISE_THR),
OSD_SETTING_ENTRY("MIN THROTTLE", SETTING_NAV_FW_MIN_THR), OSD_SETTING_ENTRY("MIN THROTTLE", SETTING_NAV_FW_MIN_THR),
OSD_SETTING_ENTRY("MAX THROTTLE", SETTING_NAV_FW_MAX_THR), OSD_SETTING_ENTRY("MAX THROTTLE", SETTING_NAV_FW_MAX_THR),
@ -124,10 +127,11 @@ static CMS_Menu cmsx_menuFixedWing = {
static OSD_Entry cmsx_menuNavigationEntries[] = static OSD_Entry cmsx_menuNavigationEntries[] =
{ {
{ "-- NAVIGATION --", OME_Label, NULL, NULL, 0}, OSD_LABEL_ENTRY("-- NAVIGATION --"),
{ "BASIC SETTINGS", OME_Submenu, cmsMenuChange, &cmsx_menuNavSettings, 0},
{ "RTH", OME_Submenu, cmsMenuChange, &cmsx_menuRTH, 0}, OSD_SUBMENU_ENTRY("BASIC SETTINGS", &cmsx_menuNavSettings),
{ "FIXED WING", OME_Submenu, cmsMenuChange, &cmsx_menuFixedWing, 0}, OSD_SUBMENU_ENTRY("RTH", &cmsx_menuRTH),
OSD_SUBMENU_ENTRY("FIXED WING", &cmsx_menuFixedWing),
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,

View file

@ -35,7 +35,7 @@
OSD_Entry cmsx_menuAlarmsEntries[] = OSD_Entry cmsx_menuAlarmsEntries[] =
{ {
{"--- ALARMS ---", OME_Label, NULL, NULL, 0}, OSD_LABEL_ENTRY("--- ALARMS ---"),
OSD_SETTING_ENTRY_STEP("RSSI", SETTING_OSD_RSSI_ALARM, 5), OSD_SETTING_ENTRY_STEP("RSSI", SETTING_OSD_RSSI_ALARM, 5),
OSD_SETTING_ENTRY("FLY TIME", SETTING_OSD_TIME_ALARM), OSD_SETTING_ENTRY("FLY TIME", SETTING_OSD_TIME_ALARM),
@ -72,38 +72,41 @@ static long menuOsdActiveElemsOnExit(const OSD_Entry *self)
return 0; return 0;
} }
#define OSD_OSD_ELEMENT_ENTRY(name, osd_id) {name, OME_VISIBLE, NULL, &osdConfig_item_pos[osd_id], 0}
OSD_Entry menuOsdActiveElemsEntries[] = OSD_Entry menuOsdActiveElemsEntries[] =
{ {
{"--- ACTIV ELEM ---", OME_Label, NULL, NULL, 0}, OSD_LABEL_ENTRY("--- ACTIV ELEM ---"),
{"RSSI", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_RSSI_VALUE], 0},
{"MAIN BATTERY", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_MAIN_BATT_VOLTAGE], 0}, OSD_OSD_ELEMENT_ENTRY("RSSI", OSD_RSSI_VALUE),
{"HORIZON", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_ARTIFICIAL_HORIZON], 0}, OSD_OSD_ELEMENT_ENTRY("MAIN BATTERY", OSD_MAIN_BATT_VOLTAGE),
{"HORIZON SIDEBARS", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_HORIZON_SIDEBARS], 0}, OSD_OSD_ELEMENT_ENTRY("HORIZON", OSD_ARTIFICIAL_HORIZON),
{"UPTIME", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_ONTIME], 0}, OSD_OSD_ELEMENT_ENTRY("HORIZON SIDEBARS", OSD_HORIZON_SIDEBARS),
{"FLY TIME", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_FLYTIME], 0}, OSD_OSD_ELEMENT_ENTRY("UPTIME", OSD_ONTIME),
{"FLY MODE", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_FLYMODE], 0}, OSD_OSD_ELEMENT_ENTRY("FLY TIME", OSD_FLYTIME),
{"NAME", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_CRAFT_NAME], 0}, OSD_OSD_ELEMENT_ENTRY("FLY MODE", OSD_FLYMODE),
{"THROTTLE", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_THROTTLE_POS], 0}, OSD_OSD_ELEMENT_ENTRY("NAME", OSD_CRAFT_NAME),
OSD_OSD_ELEMENT_ENTRY("THROTTLE", OSD_THROTTLE_POS),
#ifdef VTX #ifdef VTX
{"VTX CHAN", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_VTX_CHANNEL]}, OSD_OSD_ELEMENT_ENTRY("VTX CHAN", OSD_VTX_CHANNEL),
#endif // VTX #endif // VTX
{"CURRENT (A)", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_CURRENT_DRAW], 0}, OSD_OSD_ELEMENT_ENTRY("CURRENT (A)", OSD_CURRENT_DRAW),
{"USED MAH", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_MAH_DRAWN], 0}, OSD_OSD_ELEMENT_ENTRY("USED MAH", OSD_MAH_DRAWN),
#ifdef USE_GPS #ifdef USE_GPS
{"HOME DIR.", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_HOME_DIR], 0}, OSD_OSD_ELEMENT_ENTRY("HOME DIR.", OSD_HOME_DIR),
{"HOME DIST.", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_HOME_DIST], 0}, OSD_OSD_ELEMENT_ENTRY("HOME DIST.", OSD_HOME_DIST),
{"GPS SPEED", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_GPS_SPEED], 0}, OSD_OSD_ELEMENT_ENTRY("GPS SPEED", OSD_GPS_SPEED),
{"GPS SATS.", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_GPS_SATS], 0}, OSD_OSD_ELEMENT_ENTRY("GPS SATS.", OSD_GPS_SATS),
{"GPS LAT", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_GPS_LAT], 0}, OSD_OSD_ELEMENT_ENTRY("GPS LAT", OSD_GPS_LAT),
{"GPS LON.", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_GPS_LON], 0}, OSD_OSD_ELEMENT_ENTRY("GPS LON.", OSD_GPS_LON),
{"HEADING", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_HEADING], 0}, OSD_OSD_ELEMENT_ENTRY("HEADING", OSD_HEADING),
#endif // GPS #endif // GPS
#if defined(USE_BARO) || defined(USE_GPS) #if defined(USE_BARO) || defined(USE_GPS)
{"VARIO", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_VARIO], 0}, OSD_OSD_ELEMENT_ENTRY("VARIO", OSD_VARIO),
{"VARIO NUM", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_VARIO_NUM], 0}, OSD_OSD_ELEMENT_ENTRY("VARIO NUM", OSD_VARIO_NUM),
#endif // defined #endif // defined
{"ALTITUDE", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_ALTITUDE], 0}, OSD_OSD_ELEMENT_ENTRY("ALTITUDE", OSD_ALTITUDE),
{"AIR SPEED", OME_VISIBLE, NULL, &osdConfig_item_pos[OSD_AIR_SPEED], 0}, OSD_OSD_ELEMENT_ENTRY("AIR SPEED", OSD_AIR_SPEED),
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,
@ -122,8 +125,8 @@ CMS_Menu menuOsdActiveElems = {
OSD_Entry cmsx_menuOsdLayoutEntries[] = OSD_Entry cmsx_menuOsdLayoutEntries[] =
{ {
{"---SCREEN LAYOUT---", OME_Label, NULL, NULL, 0}, OSD_LABEL_ENTRY("---SCREEN LAYOUT---"),
{"ACTIVE ELEM", OME_Submenu, cmsMenuChange, &menuOsdActiveElems, 0}, OSD_SUBMENU_ENTRY("ACTIVE ELEM", &menuOsdActiveElems),
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,

View file

@ -116,16 +116,16 @@ static OSD_UINT16_t entryVtxMhz = {&masterConfig.vtx_mhz, 5600, 5950, 1};
static OSD_Entry cmsx_menuVtxEntries[] = static OSD_Entry cmsx_menuVtxEntries[] =
{ {
{"--- VTX ---", OME_Label, NULL, NULL, 0}, OSD_LABEL_ENTRY("--- VTX ---"),
{"ENABLED", OME_Bool, NULL, &cmsx_featureVtx, 0}, OSD_BOOL_ENTRY("ENABLED", &cmsx_featureVtx),
#ifdef VTX #ifdef VTX
{"VTX MODE", OME_UINT8, NULL, &entryVtxMode, 0}, OSD_UINT8_ENTRY("VTX MODE", &entryVtxMode),
{"VTX MHZ", OME_UINT16, NULL, &entryVtxMhz, 0}, OSD_UINT16_ENTRY("VTX MHZ", &entryVtxMhz),
#endif // VTX #endif // VTX
{"BAND", OME_TAB, NULL, &entryVtxBand, 0}, OSD_TAB_ENTRY("BAND", &entryVtxBand),
{"CHANNEL", OME_UINT8, NULL, &entryVtxChannel, 0}, OSD_UINT8_ENTRY("CHANNEL", &entryVtxChannel),
#ifdef USE_RTC6705 #ifdef USE_RTC6705
{"LOW POWER", OME_Bool, NULL, &masterConfig.vtx_power, 0}, OSD_BOOL_ENTRY("LOW POWER", &masterConfig.vtx_power),
#endif // USE_RTC6705 #endif // USE_RTC6705
OSD_BACK_ENTRY, OSD_BACK_ENTRY,

View file

@ -307,15 +307,16 @@ static const char * const saCmsDeviceStatusNames[] = {
static OSD_TAB_t saCmsEntOnline = { &saCmsDeviceStatus, 2, saCmsDeviceStatusNames }; static OSD_TAB_t saCmsEntOnline = { &saCmsDeviceStatus, 2, saCmsDeviceStatusNames };
static OSD_Entry saCmsMenuStatsEntries[] = { static OSD_Entry saCmsMenuStatsEntries[] = {
{ "- SA STATS -", OME_Label, NULL, NULL, 0 }, OSD_LABEL_ENTRY("- SA STATS -"),
{ "STATUS", OME_TAB, NULL, &saCmsEntOnline, DYNAMIC },
{ "BAUDRATE", OME_UINT16, NULL, &(OSD_UINT16_t){ &sa_smartbaud, 0, 0, 0 }, DYNAMIC }, OSD_TAB_DYN_ENTRY("STATUS", &saCmsEntOnline),
{ "SENT", OME_UINT16, NULL, &(OSD_UINT16_t){ &saStat.pktsent, 0, 0, 0 }, DYNAMIC }, OSD_UINT16_DYN_ENTRY("BAUDRATE", (&(OSD_UINT16_t){ &sa_smartbaud, 0, 0, 0 })),
{ "RCVD", OME_UINT16, NULL, &(OSD_UINT16_t){ &saStat.pktrcvd, 0, 0, 0 }, DYNAMIC }, OSD_UINT16_DYN_ENTRY("SENT", (&(OSD_UINT16_t){ &saStat.pktsent, 0, 0, 0 })),
{ "BADPRE", OME_UINT16, NULL, &(OSD_UINT16_t){ &saStat.badpre, 0, 0, 0 }, DYNAMIC }, OSD_UINT16_DYN_ENTRY("RCVD", (&(OSD_UINT16_t){ &saStat.pktrcvd, 0, 0, 0 })),
{ "BADLEN", OME_UINT16, NULL, &(OSD_UINT16_t){ &saStat.badlen, 0, 0, 0 }, DYNAMIC }, OSD_UINT16_DYN_ENTRY("BADPRE", (&(OSD_UINT16_t){ &saStat.badpre, 0, 0, 0 })),
{ "CRCERR", OME_UINT16, NULL, &(OSD_UINT16_t){ &saStat.crc, 0, 0, 0 }, DYNAMIC }, OSD_UINT16_DYN_ENTRY("BADLEN", (&(OSD_UINT16_t){ &saStat.badlen, 0, 0, 0 })),
{ "OOOERR", OME_UINT16, NULL, &(OSD_UINT16_t){ &saStat.ooopresp, 0, 0, 0 }, DYNAMIC }, OSD_UINT16_DYN_ENTRY("CRCERR", (&(OSD_UINT16_t){ &saStat.crc, 0, 0, 0 })),
OSD_UINT16_DYN_ENTRY("OOOERR", (&(OSD_UINT16_t){ &saStat.ooopresp, 0, 0, 0 })),
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,
@ -475,12 +476,13 @@ static long saCmsConfigUserFreq(displayPort_t *pDisp, const void *self)
return MENU_CHAIN_BACK; return MENU_CHAIN_BACK;
} }
static OSD_Entry saCmsMenuPORFreqEntries[] = { static OSD_Entry saCmsMenuPORFreqEntries[] =
{ "- POR FREQ -", OME_Label, NULL, NULL, 0 }, {
OSD_LABEL_ENTRY("- POR FREQ -"),
{ "CUR FREQ", OME_UINT16, NULL, &(OSD_UINT16_t){ &saCmsORFreq, 5000, 5900, 0 }, DYNAMIC }, OSD_UINT16_DYN_ENTRY("CUR FREQ", (&(OSD_UINT16_t){ &saCmsORFreq, 5000, 5900, 0 })),
{ "NEW FREQ", OME_UINT16, NULL, &(OSD_UINT16_t){ &saCmsORFreqNew, 5000, 5900, 1 }, 0 }, OSD_UINT16_ENTRY("NEW FREQ", (&(OSD_UINT16_t){ &saCmsORFreqNew, 5000, 5900, 1 })),
{ "SET", OME_Funcall, saCmsSetPORFreq, NULL, 0 }, OSD_FUNC_CALL_ENTRY("SET", saCmsSetPORFreq),
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,
@ -498,12 +500,13 @@ static CMS_Menu saCmsMenuPORFreq =
.entries = saCmsMenuPORFreqEntries, .entries = saCmsMenuPORFreqEntries,
}; };
static OSD_Entry saCmsMenuUserFreqEntries[] = { static OSD_Entry saCmsMenuUserFreqEntries[] =
{ "- USER FREQ -", OME_Label, NULL, NULL, 0 }, {
OSD_LABEL_ENTRY("- USER FREQ -"),
{ "CUR FREQ", OME_UINT16, NULL, &(OSD_UINT16_t){ &saCmsUserFreq, 5000, 5900, 0 }, DYNAMIC }, OSD_UINT16_DYN_ENTRY("CUR FREQ", (&(OSD_UINT16_t){ &saCmsUserFreq, 5000, 5900, 0 })),
{ "NEW FREQ", OME_UINT16, NULL, &(OSD_UINT16_t){ &saCmsUserFreqNew, 5000, 5900, 1 }, 0 }, OSD_UINT16_ENTRY("NEW FREQ", (&(OSD_UINT16_t){ &saCmsUserFreqNew, 5000, 5900, 1 })),
{ "SET", OME_Funcall, saCmsConfigUserFreq, NULL, 0 }, OSD_FUNC_CALL_ENTRY("SET", saCmsConfigUserFreq),
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,
@ -523,14 +526,15 @@ static CMS_Menu saCmsMenuUserFreq =
static OSD_TAB_t saCmsEntFselMode = { &saCmsFselMode, 1, saCmsFselModeNames }; static OSD_TAB_t saCmsEntFselMode = { &saCmsFselMode, 1, saCmsFselModeNames };
static OSD_Entry saCmsMenuConfigEntries[] = { static OSD_Entry saCmsMenuConfigEntries[] =
{ "- SA CONFIG -", OME_Label, NULL, NULL, 0 }, {
OSD_LABEL_ENTRY("- SA CONFIG -"),
{ "OP MODEL", OME_TAB, saCmsConfigOpmodelByGvar, &(OSD_TAB_t){ &saCmsOpmodel, 2, saCmsOpmodelNames }, DYNAMIC }, { "OP MODEL", OME_TAB, saCmsConfigOpmodelByGvar, &(OSD_TAB_t){ &saCmsOpmodel, 2, saCmsOpmodelNames }, DYNAMIC },
{ "FSEL MODE", OME_TAB, saCmsConfigFreqModeByGvar, &saCmsEntFselMode, DYNAMIC }, { "FSEL MODE", OME_TAB, saCmsConfigFreqModeByGvar, &saCmsEntFselMode, DYNAMIC },
{ "PIT FMODE", OME_TAB, saCmsConfigPitFModeByGvar, &saCmsEntPitFMode, 0 }, OSD_TAB_CALLBACK_ENTRY("PIT FMODE", saCmsConfigPitFModeByGvar, &saCmsEntPitFMode),
{ "POR FREQ", OME_Submenu, (CMSEntryFuncPtr)saCmsORFreqGetString, &saCmsMenuPORFreq, OPTSTRING }, { "POR FREQ", OME_Submenu, (CMSEntryFuncPtr)saCmsORFreqGetString, &saCmsMenuPORFreq, OPTSTRING },
{ "STATX", OME_Submenu, cmsMenuChange, &saCmsMenuStats, 0 }, OSD_SUBMENU_ENTRY("STATX", &saCmsMenuStats),
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,
@ -547,10 +551,10 @@ static CMS_Menu saCmsMenuConfig = {
.entries = saCmsMenuConfigEntries .entries = saCmsMenuConfigEntries
}; };
static OSD_Entry saCmsMenuCommenceEntries[] = { static OSD_Entry saCmsMenuCommenceEntries[] =
{ "CONFIRM", OME_Label, NULL, NULL, 0 }, {
OSD_LABEL_ENTRY("CONFIRM"),
{ "YES", OME_Funcall, saCmsCommence, NULL, 0 }, OSD_FUNC_CALL_ENTRY("YES", saCmsCommence),
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,
@ -567,14 +571,15 @@ static CMS_Menu saCmsMenuCommence = {
.entries = saCmsMenuCommenceEntries, .entries = saCmsMenuCommenceEntries,
}; };
static OSD_Entry saCmsMenuFreqModeEntries[] = { static OSD_Entry saCmsMenuFreqModeEntries[] =
{ "- SMARTAUDIO -", OME_Label, NULL, NULL, 0 }, {
OSD_LABEL_ENTRY("- SMARTAUDIO -"),
{ "", OME_LabelFunc, NULL, saCmsDrawStatusString, DYNAMIC }, OSD_LABEL_FUNC_DYN_ENTRY("", saCmsDrawStatusString),
{ "FREQ", OME_Submenu, (CMSEntryFuncPtr)saCmsUserFreqGetString, &saCmsMenuUserFreq, OPTSTRING }, { "FREQ", OME_Submenu, (CMSEntryFuncPtr)saCmsUserFreqGetString, &saCmsMenuUserFreq, OPTSTRING },
{ "POWER", OME_TAB, saCmsConfigPowerByGvar, &saCmsEntPower, 0 }, OSD_TAB_CALLBACK_ENTRY("POWER", saCmsConfigPowerByGvar, &saCmsEntPower),
{ "SET", OME_Submenu, cmsMenuChange, &saCmsMenuCommence, 0 }, OSD_SUBMENU_ENTRY("SET", &saCmsMenuCommence),
{ "CONFIG", OME_Submenu, cmsMenuChange, &saCmsMenuConfig, 0 }, OSD_SUBMENU_ENTRY("CONFIG", &saCmsMenuConfig),
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,
@ -582,15 +587,15 @@ static OSD_Entry saCmsMenuFreqModeEntries[] = {
static OSD_Entry saCmsMenuChanModeEntries[] = static OSD_Entry saCmsMenuChanModeEntries[] =
{ {
{ "- SMARTAUDIO -", OME_Label, NULL, NULL, 0 }, OSD_LABEL_ENTRY("- SMARTAUDIO -"),
{ "", OME_LabelFunc, NULL, saCmsDrawStatusString, DYNAMIC }, OSD_LABEL_FUNC_DYN_ENTRY("", saCmsDrawStatusString),
{ "BAND", OME_TAB, saCmsConfigBandByGvar, &saCmsEntBand, 0 }, OSD_TAB_CALLBACK_ENTRY("BAND", saCmsConfigBandByGvar, &saCmsEntBand),
{ "CHAN", OME_TAB, saCmsConfigChanByGvar, &saCmsEntChan, 0 }, OSD_TAB_CALLBACK_ENTRY("CHAN", saCmsConfigChanByGvar, &saCmsEntChan),
{ "(FREQ)", OME_UINT16, NULL, &saCmsEntFreqRef, DYNAMIC }, OSD_UINT16_DYN_ENTRY("(FREQ)", &saCmsEntFreqRef),
{ "POWER", OME_TAB, saCmsConfigPowerByGvar, &saCmsEntPower, 0 }, OSD_TAB_CALLBACK_ENTRY("POWER", saCmsConfigPowerByGvar, &saCmsEntPower),
{ "SET", OME_Submenu, cmsMenuChange, &saCmsMenuCommence, 0 }, OSD_SUBMENU_ENTRY("SET", &saCmsMenuCommence),
{ "CONFIG", OME_Submenu, cmsMenuChange, &saCmsMenuConfig, 0 }, OSD_SUBMENU_ENTRY("CONFIG", &saCmsMenuConfig),
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,
@ -598,10 +603,10 @@ static OSD_Entry saCmsMenuChanModeEntries[] =
static OSD_Entry saCmsMenuOfflineEntries[] = static OSD_Entry saCmsMenuOfflineEntries[] =
{ {
{ "- VTX SMARTAUDIO -", OME_Label, NULL, NULL, 0 }, OSD_LABEL_ENTRY("- VTX SMARTAUDIO -"),
{ "", OME_LabelFunc, NULL, saCmsDrawStatusString, DYNAMIC }, OSD_LABEL_FUNC_DYN_ENTRY("", saCmsDrawStatusString),
{ "STATX", OME_Submenu, cmsMenuChange, &saCmsMenuStats, 0 }, OSD_SUBMENU_ENTRY("STATX", &saCmsMenuStats),
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,

View file

@ -197,8 +197,8 @@ static long trampCmsOnEnter(void)
} }
static OSD_Entry trampCmsMenuCommenceEntries[] = { static OSD_Entry trampCmsMenuCommenceEntries[] = {
{ "CONFIRM", OME_Label, NULL, NULL, 0 }, OSD_LABEL_ENTRY("CONFIRM"),
{ "YES", OME_Funcall, trampCmsCommence, NULL, 0 }, OSD_FUNC_CALL_ENTRY("YES", trampCmsCommence),
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,
@ -217,16 +217,16 @@ static CMS_Menu trampCmsMenuCommence = {
static OSD_Entry trampMenuEntries[] = static OSD_Entry trampMenuEntries[] =
{ {
{ "- TRAMP -", OME_Label, NULL, NULL, 0 }, OSD_LABEL_ENTRY("- TRAMP -"),
{ "", OME_LabelFunc, NULL, trampCmsDrawStatusString, DYNAMIC }, OSD_LABEL_FUNC_DYN_ENTRY("", trampCmsDrawStatusString),
{ "PIT", OME_TAB, trampCmsSetPitMode, &trampCmsEntPitMode, 0 }, OSD_TAB_CALLBACK_ENTRY("PIT", trampCmsSetPitMode, &trampCmsEntPitMode),
{ "BAND", OME_TAB, trampCmsConfigBand, &trampCmsEntBand, 0 }, OSD_TAB_CALLBACK_ENTRY("BAND", trampCmsConfigBand, &trampCmsEntBand),
{ "CHAN", OME_TAB, trampCmsConfigChan, &trampCmsEntChan, 0 }, OSD_TAB_CALLBACK_ENTRY("CHAN", trampCmsConfigChan, &trampCmsEntChan),
{ "(FREQ)", OME_UINT16, NULL, &trampCmsEntFreqRef, DYNAMIC }, OSD_UINT16_DYN_ENTRY("(FREQ)", &trampCmsEntFreqRef),
{ "POWER", OME_TAB, trampCmsConfigPower, &trampCmsEntPower, 0 }, OSD_TAB_CALLBACK_ENTRY("POWER", trampCmsConfigPower, &trampCmsEntPower),
{ "T(C)", OME_INT16, NULL, &trampCmsEntTemp, DYNAMIC }, OSD_INT16_DYN_ENTRY("T(C)", &trampCmsEntTemp),
{ "SET", OME_Submenu, cmsMenuChange, &trampCmsMenuCommence, 0 }, OSD_SUBMENU_ENTRY("SET", &trampCmsMenuCommence),
OSD_BACK_ENTRY, OSD_BACK_ENTRY,
OSD_END_ENTRY, OSD_END_ENTRY,

View file

@ -75,8 +75,26 @@ typedef struct
#define DYNAMIC (1 << 2) // Value should be updated dynamically #define DYNAMIC (1 << 2) // Value should be updated dynamically
#define OPTSTRING (1 << 3) // (Temporary) Flag for OME_Submenu, indicating func should be called to get a string to display. #define OPTSTRING (1 << 3) // (Temporary) Flag for OME_Submenu, indicating func should be called to get a string to display.
#define OSD_BACK_ENTRY ((OSD_Entry){ "BACK", OME_Back, NULL, NULL, 0 }) #define OSD_LABEL_ENTRY(label) ((OSD_Entry){ label, OME_Label, NULL, NULL, 0 })
#define OSD_END_ENTRY ((OSD_Entry){ NULL, OME_END, NULL, NULL, 0 }) #define OSD_LABEL_DATA_ENTRY(label, data) ((OSD_Entry){ label, OME_Label, NULL, data, 0 })
#define OSD_LABEL_DATA_DYN_ENTRY(label, data) ((OSD_Entry){ label, OME_Label, NULL, data, DYNAMIC })
#define OSD_LABEL_FUNC_DYN_ENTRY(label, fn) ((OSD_Entry){ label, OME_LabelFunc, NULL, fn, DYNAMIC })
#define OSD_BACK_ENTRY ((OSD_Entry){ "BACK", OME_Back, NULL, NULL, 0 })
#define OSD_SUBMENU_ENTRY(label, menu) ((OSD_Entry){ label, OME_Submenu, cmsMenuChange, menu, 0 })
#define OSD_FUNC_CALL_ENTRY(label, fn) ((OSD_Entry){ label, OME_Funcall, fn, NULL, 0 })
#define OSD_BOOL_ENTRY(label, val) ((OSD_Entry){ label, OME_Bool, NULL, val, 0 })
#define OSD_BOOL_FUNC_ENTRY(label, fn) ((OSD_Entry){ label, OME_BoolFunc, NULL, fn, 0 })
#define OSD_UINT8_ENTRY(label, val) ((OSD_Entry){ label, OME_UINT8, NULL, val, 0 })
#define OSD_UINT8_CALLBACK_ENTRY(label, cb, val)((OSD_Entry){ label, OME_UINT8, cb, val, 0 })
#define OSD_UINT16_ENTRY(label, val) ((OSD_Entry){ label, OME_UINT16, NULL, val, 0 })
#define OSD_UINT16_DYN_ENTRY(label, val) ((OSD_Entry){ label, OME_UINT16, NULL, val, DYNAMIC })
#define OSD_INT16_DYN_ENTRY(label, val) ((OSD_Entry){ label, OME_INT16, NULL, val, DYNAMIC })
#define OSD_STRING_ENTRY(label, str) ((OSD_Entry){ label, OME_String, NULL, str, 0 })
#define OSD_TAB_ENTRY(label, val) ((OSD_Entry){ label, OME_TAB, NULL, val, 0 })
#define OSD_TAB_DYN_ENTRY(label, val) ((OSD_Entry){ label, OME_TAB, NULL, val, DYNAMIC })
#define OSD_TAB_CALLBACK_ENTRY(label, cb, val) ((OSD_Entry){ label, OME_TAB, cb, val, 0 })
#define OSD_END_ENTRY ((OSD_Entry){ NULL, OME_END, NULL, NULL, 0 })
// Data type for OME_Setting. Uses upper 4 bits // Data type for OME_Setting. Uses upper 4 bits
// of flags, leaving 16 data types. // of flags, leaving 16 data types.