[Horus] Use of templates to avoid duplicated code in monitors screens
This commit is contained in:
@@ -232,7 +232,8 @@ static const MenuHandlerFunc menuTabStats[] PROGMEM = {
|
||||
|
||||
enum EnumTabMonitors
|
||||
{
|
||||
e_MonChannels1,
|
||||
e_MonChannelsFirst,
|
||||
e_MonChannels1 = e_MonChannelsFirst,
|
||||
e_MonChannels2,
|
||||
e_MonChannels3,
|
||||
e_MonChannels4,
|
||||
|
||||
@@ -29,17 +29,22 @@
|
||||
#define Y_OUTBAR 15
|
||||
#define Y_MIXBAR 28
|
||||
|
||||
bool menuChannels1(evt_t);
|
||||
bool menuChannels2(evt_t);
|
||||
bool menuChannels3(evt_t);
|
||||
bool menuChannels4(evt_t);
|
||||
bool menuChannelsMonitor(evt_t event, uint8_t page);
|
||||
bool menuLogicalSwitches(evt_t);
|
||||
|
||||
template<int index>
|
||||
bool menuChannelsMonitor(evt_t event)
|
||||
{
|
||||
lastMonitorPage = e_MonChannelsFirst + index;
|
||||
MENU(STR_MONITOR_CHANNELS[index], MONITOR_ICONS, menuTabMonitors, lastMonitorPage, 0, { 0 });
|
||||
return menuChannelsMonitor(event, index);
|
||||
}
|
||||
|
||||
const MenuHandlerFunc menuTabMonitors[] PROGMEM = {
|
||||
menuChannels1,
|
||||
menuChannels2,
|
||||
menuChannels3,
|
||||
menuChannels4,
|
||||
menuChannelsMonitor<0>,
|
||||
menuChannelsMonitor<1>,
|
||||
menuChannelsMonitor<2>,
|
||||
menuChannelsMonitor<3>,
|
||||
menuLogicalSwitches
|
||||
};
|
||||
|
||||
@@ -152,32 +157,3 @@ bool menuChannelsMonitor(evt_t event, uint8_t page)
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool menuChannels1(evt_t event)
|
||||
{
|
||||
MENU(STR_MONITOR_CHANNELS1, MONITOR_ICONS, menuTabMonitors, e_MonChannels1, 0, { 0 });
|
||||
lastMonitorPage = e_MonChannels1;
|
||||
return menuChannelsMonitor(event, 0);
|
||||
}
|
||||
|
||||
bool menuChannels2(evt_t event)
|
||||
{
|
||||
MENU(STR_MONITOR_CHANNELS2, MONITOR_ICONS, menuTabMonitors, e_MonChannels2, 0, { 0 });
|
||||
lastMonitorPage = e_MonChannels2;
|
||||
return menuChannelsMonitor(event, 1);
|
||||
}
|
||||
|
||||
|
||||
bool menuChannels3(evt_t event)
|
||||
{
|
||||
MENU(STR_MONITOR_CHANNELS3, MONITOR_ICONS, menuTabMonitors, e_MonChannels3, 0, { 0 });
|
||||
lastMonitorPage = e_MonChannels3;
|
||||
return menuChannelsMonitor(event, 2);
|
||||
}
|
||||
|
||||
bool menuChannels4(evt_t event)
|
||||
{
|
||||
MENU(STR_MONITOR_CHANNELS4, MONITOR_ICONS, menuTabMonitors, e_MonChannels4, 0, { 0 });
|
||||
lastMonitorPage = e_MonChannels4;
|
||||
return menuChannelsMonitor(event, 3);
|
||||
}
|
||||
|
||||
@@ -365,11 +365,8 @@ const pm_char STR_MENUTEMPLATES[] PROGMEM = TR_MENUTEMPLATES;
|
||||
|
||||
const pm_char STR_MENUSTAT[] PROGMEM = TR_MENUSTAT;
|
||||
const pm_char STR_MENUDEBUG[] PROGMEM = TR_MENUDEBUG;
|
||||
const pm_char STR_MONITOR_CHANNELS1[] PROGMEM = TR_MONITOR_CHANNELS1;
|
||||
const pm_char STR_MONITOR_CHANNELS2[] PROGMEM = TR_MONITOR_CHANNELS2;
|
||||
const char * const STR_MONITOR_CHANNELS[] = { TR_MONITOR_CHANNELS1, TR_MONITOR_CHANNELS2, TR_MONITOR_CHANNELS3, TR_MONITOR_CHANNELS4 };
|
||||
const pm_char STR_MONITOR_SWITCHES[] PROGMEM = TR_MONITOR_SWITCHES;
|
||||
const pm_char STR_MONITOR_CHANNELS3[] PROGMEM = TR_MONITOR_CHANNELS3;
|
||||
const pm_char STR_MONITOR_CHANNELS4[] PROGMEM = TR_MONITOR_CHANNELS4;
|
||||
const pm_char STR_MONITOR_CHANNELS_DESC[] PROGMEM = TR_MONITOR_CHANNELS_DESC;
|
||||
const pm_char STR_MENUGLOBALVARS[] PROGMEM = TR_MENUGLOBALVARS;
|
||||
|
||||
|
||||
@@ -564,12 +564,9 @@ extern const pm_char STR_MENUTELEMETRY[];
|
||||
extern const pm_char STR_MENUTEMPLATES[];
|
||||
extern const pm_char STR_MENUSTAT[];
|
||||
extern const pm_char STR_MENUDEBUG[];
|
||||
extern const pm_char STR_MONITOR_CHANNELS1[];
|
||||
extern const pm_char STR_MONITOR_CHANNELS2[];
|
||||
extern const char * const STR_MONITOR_CHANNELS[];
|
||||
extern const pm_char STR_MONITOR_SWITCHES[];
|
||||
extern const pm_char STR_MONITOR_CHANNELS3[];
|
||||
extern const pm_char STR_MONITOR_CHANNELS4[];
|
||||
extern const pm_char STR_MONITOR_CHANNELS_DESC[];
|
||||
extern const pm_char STR_MONITOR_CHANNELS_DESC[];
|
||||
extern const pm_char STR_MENUGLOBALVARS[];
|
||||
extern const pm_char STR_INVERT_THR[];
|
||||
extern const pm_char STR_AND_SWITCH[];
|
||||
|
||||
@@ -865,11 +865,11 @@
|
||||
#define TR_MENUTEMPLATES "TEMPLATES"
|
||||
#define TR_MENUSTAT "STATS"
|
||||
#define TR_MENUDEBUG "DEBUG"
|
||||
#define TR_MONITOR_CHANNELS1 "CHANNELS MONITOR 1/8"
|
||||
#define TR_MONITOR_CHANNELS2 "CHANNELS MONITOR 9/16"
|
||||
#define TR_MONITOR_CHANNELS1 "CHANNELS MONITOR 1-8"
|
||||
#define TR_MONITOR_CHANNELS2 "CHANNELS MONITOR 9-16"
|
||||
#define TR_MONITOR_CHANNELS3 "CHANNELS MONITOR 17-24"
|
||||
#define TR_MONITOR_CHANNELS4 "CHANNELS MONITOR 25-32"
|
||||
#define TR_MONITOR_SWITCHES "LOGICAL SWITCHES MONITOR"
|
||||
#define TR_MONITOR_CHANNELS3 "CHANNELS MONITOR 17/24"
|
||||
#define TR_MONITOR_CHANNELS4 "CHANNELS MONITOR 25/32"
|
||||
#define TR_MONITOR_CHANNELS_DESC "RED : Outputs, GREEN : Mixers"
|
||||
#if defined(CPUARM)
|
||||
#define TR_RECEIVER_NUM TR(INDENT "RxNum", INDENT "Receiver No.")
|
||||
|
||||
@@ -842,11 +842,11 @@
|
||||
#define TR_MENUTEMPLATES "GABARITS"
|
||||
#define TR_MENUSTAT TR("STATS", "STATISTIQUES")
|
||||
#define TR_MENUDEBUG "DEBUG"
|
||||
#define TR_MONITOR_CHANNELS1 "CHANNELS MONITOR 1/8"
|
||||
#define TR_MONITOR_CHANNELS2 "CHANNELS MONITOR 9/16"
|
||||
#define TR_MONITOR_SWITCHES "LOGICAL SWITCHES MONITOR"
|
||||
#define TR_MONITOR_CHANNELS3 "CHANNELS MONITOR 17/24"
|
||||
#define TR_MONITOR_CHANNELS4 "CHANNELS MONITOR 25/32"
|
||||
#define TR_MONITOR_CHANNELS1 "VOIES 1-8"
|
||||
#define TR_MONITOR_CHANNELS2 "VOIES 9-16"
|
||||
#define TR_MONITOR_CHANNELS3 "VOIES 17-24"
|
||||
#define TR_MONITOR_CHANNELS4 "VOIES 25-32"
|
||||
#define TR_MONITOR_SWITCHES "INTERS LOGIQUES"
|
||||
#define TR_MONITOR_CHANNELS_DESC "RED : Outputs, GREEN : Mixers"
|
||||
#if defined(CPUARM)
|
||||
#define TR_RECEIVER_NUM TR(INDENT "NumRx", INDENT "No. récepteur")
|
||||
|
||||
Reference in New Issue
Block a user