[Horus] Use of templates to avoid duplicated code in monitors screens

This commit is contained in:
Bertrand Songis
2016-06-22 23:09:02 +02:00
parent 3ee9f56423
commit ddc424de50
6 changed files with 27 additions and 56 deletions
+2 -1
View File
@@ -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,
+13 -37
View File
@@ -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);
}
+1 -4
View File
@@ -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;
+2 -5
View File
@@ -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[];
+4 -4
View File
@@ -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.")
+5 -5
View File
@@ -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")