diff --git a/companion/src/firmwares/opentx/opentxGruvin9xsimulator.cpp b/companion/src/firmwares/opentx/opentxGruvin9xsimulator.cpp index 320c97fa9..f81b8b20e 100644 --- a/companion/src/firmwares/opentx/opentxGruvin9xsimulator.cpp +++ b/companion/src/firmwares/opentx/opentxGruvin9xsimulator.cpp @@ -78,7 +78,7 @@ namespace Open9xGruvin9x { #include "radio/src/gui/menu_model.cpp" #include "radio/src/gui/9X/menu_model_select.cpp" #include "radio/src/gui/9X/menu_model_setup.cpp" -#include "radio/src/gui/menu_model_heli.cpp" +#include "radio/src/gui/9X/menu_model_heli.cpp" #include "radio/src/gui/9X/menu_model_flightmodes.cpp" #include "radio/src/gui/9X/menu_model_inputs_mixes.cpp" #include "radio/src/gui/9X/menu_model_logical_switches.cpp" diff --git a/companion/src/firmwares/opentx/opentxM128simulator.cpp b/companion/src/firmwares/opentx/opentxM128simulator.cpp index 3f4fdaf32..6b551a803 100644 --- a/companion/src/firmwares/opentx/opentxM128simulator.cpp +++ b/companion/src/firmwares/opentx/opentxM128simulator.cpp @@ -79,7 +79,7 @@ namespace OpenTxM128 { #include "radio/src/gui/menu_model.cpp" #include "radio/src/gui/9X/menu_model_select.cpp" #include "radio/src/gui/9X/menu_model_setup.cpp" -#include "radio/src/gui/menu_model_heli.cpp" +#include "radio/src/gui/9X/menu_model_heli.cpp" #include "radio/src/gui/9X/menu_model_flightmodes.cpp" #include "radio/src/gui/9X/menu_model_inputs_mixes.cpp" #include "radio/src/gui/9X/menu_model_curves.cpp" diff --git a/companion/src/firmwares/opentx/opentxM64simulator.cpp b/companion/src/firmwares/opentx/opentxM64simulator.cpp index b2eb0f52d..a91c16d94 100644 --- a/companion/src/firmwares/opentx/opentxM64simulator.cpp +++ b/companion/src/firmwares/opentx/opentxM64simulator.cpp @@ -82,7 +82,7 @@ namespace OpenTxM64 { #include "radio/src/gui/menu_model.cpp" #include "radio/src/gui/9X/menu_model_select.cpp" #include "radio/src/gui/9X/menu_model_setup.cpp" -#include "radio/src/gui/menu_model_heli.cpp" +#include "radio/src/gui/9X/menu_model_heli.cpp" #include "radio/src/gui/9X/menu_model_flightmodes.cpp" #include "radio/src/gui/9X/menu_model_inputs_mixes.cpp" #include "radio/src/gui/9X/menu_model_curves.cpp" diff --git a/companion/src/firmwares/opentx/opentxSky9xsimulator.cpp b/companion/src/firmwares/opentx/opentxSky9xsimulator.cpp index 7da028028..45ef2a1e1 100644 --- a/companion/src/firmwares/opentx/opentxSky9xsimulator.cpp +++ b/companion/src/firmwares/opentx/opentxSky9xsimulator.cpp @@ -94,7 +94,7 @@ namespace Open9xSky9x { #include "radio/src/gui/menu_model.cpp" #include "radio/src/gui/9X/menu_model_select.cpp" #include "radio/src/gui/9X/menu_model_setup.cpp" -#include "radio/src/gui/menu_model_heli.cpp" +#include "radio/src/gui/9X/menu_model_heli.cpp" #include "radio/src/gui/9X/menu_model_flightmodes.cpp" #include "radio/src/gui/9X/menu_model_inputs_mixes.cpp" #include "radio/src/gui/9X/menu_model_curves.cpp" diff --git a/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp b/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp index c7cf7ef8d..e628ad2be 100644 --- a/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp +++ b/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp @@ -99,14 +99,14 @@ inline int geteepromsize() { #include "radio/src/gui/menu_model.cpp" #include "radio/src/gui/Taranis/menu_model_select.cpp" #include "radio/src/gui/Taranis/menu_model_setup.cpp" -#include "radio/src/gui/menu_model_heli.cpp" +#include "radio/src/gui/Taranis/menu_model_heli.cpp" #include "radio/src/gui/Taranis/menu_model_flightmodes.cpp" #include "radio/src/gui/Taranis/menu_model_inputs_mixes.cpp" #include "radio/src/gui/Taranis/menu_model_curves.cpp" #include "radio/src/gui/Taranis/menu_model_logical_switches.cpp" #include "radio/src/gui/Taranis/menu_model_custom_functions.cpp" -#include "radio/src/gui/menu_model_custom_scripts.cpp" -#include "radio/src/gui/menu_model_gvars.cpp" +#include "radio/src/gui/Taranis/menu_model_custom_scripts.cpp" +#include "radio/src/gui/Taranis/menu_model_gvars.cpp" #include "radio/src/gui/Taranis/menu_model_limits.cpp" #include "radio/src/gui/Taranis/menu_model_telemetry.cpp" #include "radio/src/gui/menu_general.cpp" diff --git a/companion/src/firmwares/opentx/opentxTaranisX9ESimulator.cpp b/companion/src/firmwares/opentx/opentxTaranisX9ESimulator.cpp index 64c66406b..b92311226 100755 --- a/companion/src/firmwares/opentx/opentxTaranisX9ESimulator.cpp +++ b/companion/src/firmwares/opentx/opentxTaranisX9ESimulator.cpp @@ -101,14 +101,14 @@ inline int geteepromsize() { #include "radio/src/gui/menu_model.cpp" #include "radio/src/gui/Taranis/menu_model_select.cpp" #include "radio/src/gui/Taranis/menu_model_setup.cpp" -#include "radio/src/gui/menu_model_heli.cpp" +#include "radio/src/gui/Taranis/menu_model_heli.cpp" #include "radio/src/gui/Taranis/menu_model_flightmodes.cpp" #include "radio/src/gui/Taranis/menu_model_inputs_mixes.cpp" #include "radio/src/gui/Taranis/menu_model_curves.cpp" #include "radio/src/gui/Taranis/menu_model_logical_switches.cpp" #include "radio/src/gui/Taranis/menu_model_custom_functions.cpp" -#include "radio/src/gui/menu_model_custom_scripts.cpp" -#include "radio/src/gui/menu_model_gvars.cpp" +#include "radio/src/gui/Taranis/menu_model_custom_scripts.cpp" +#include "radio/src/gui/Taranis/menu_model_gvars.cpp" #include "radio/src/gui/Taranis/menu_model_limits.cpp" #include "radio/src/gui/Taranis/menu_model_telemetry.cpp" #include "radio/src/gui/menu_general.cpp" diff --git a/radio/src/Makefile b/radio/src/Makefile index 5886ad355..029d34da6 100644 --- a/radio/src/Makefile +++ b/radio/src/Makefile @@ -867,10 +867,13 @@ ifeq ($(PCB), TARANIS) NEWLIB_NANO_FLAGS = --specs=nano.specs -u _printf_float CPPDEFS += -DNANO endif + ifeq ($(GVARS), YES) + GUIMODELSRC += gui/$(GUIDIRECTORY)/menu_model_gvars.cpp + endif ifneq ($(LUA), NO) ifeq ($(LUA), YES) CPPDEFS += -DLUA_MODEL_SCRIPTS - GUIMODELSRC += gui/menu_model_custom_scripts.cpp + GUIMODELSRC += gui/$(GUIDIRECTORY)/menu_model_custom_scripts.cpp endif CPPDEFS += -DLUA INCDIRS += lua/src @@ -1058,7 +1061,6 @@ endif ifeq ($(GVARS), YES) CPPDEFS += -DGVARS - GUIMODELSRC += gui/menu_model_gvars.cpp EEPROM_VARIANT += ${GVARS_VARIANT} endif @@ -1198,7 +1200,7 @@ endif ifeq ($(HELI), YES) CPPDEFS += -DHELI - GUIMODELSRC += gui/menu_model_heli.cpp + GUIMODELSRC += gui/$(GUIDIRECTORY)/menu_model_heli.cpp endif ifeq ($(TEMPLATES), YES) diff --git a/radio/src/gui/menu_model_heli.cpp b/radio/src/gui/9X/menu_model_heli.cpp similarity index 90% rename from radio/src/gui/menu_model_heli.cpp rename to radio/src/gui/9X/menu_model_heli.cpp index b1252ef3f..5a79194e7 100755 --- a/radio/src/gui/menu_model_heli.cpp +++ b/radio/src/gui/9X/menu_model_heli.cpp @@ -33,7 +33,7 @@ * */ -#include "../opentx.h" +#include "../../opentx.h" enum menuModelHeliItems { ITEM_HELI_SWASHTYPE, @@ -44,11 +44,7 @@ enum menuModelHeliItems { ITEM_HELI_COLDIRECTION }; -#if LCD_W >= 212 - #define HELI_PARAM_OFS (23*FW) -#else - #define HELI_PARAM_OFS (14*FW) -#endif +#define HELI_PARAM_OFS (14*FW) void menuModelHeli(uint8_t event) { @@ -65,12 +61,7 @@ void menuModelHeli(uint8_t event) break; case ITEM_HELI_COLLECTIVE: -#if defined(PCBTARANIS) - lcd_putsLeft(y, STR_COLLECTIVE); - if (attr) CHECK_INCDEC_MODELSOURCE(event, g_model.swashR.collectiveSource, 0, MIXSRC_LAST_CH); -#else g_model.swashR.collectiveSource = selectMenuItem(HELI_PARAM_OFS, y, STR_COLLECTIVE, NULL, g_model.swashR.collectiveSource, 0, MIXSRC_LAST_CH, attr, event); -#endif putsMixerSource(HELI_PARAM_OFS, y, g_model.swashR.collectiveSource, attr); break; diff --git a/radio/src/gui/menu_model_custom_scripts.cpp b/radio/src/gui/Taranis/menu_model_custom_scripts.cpp similarity index 97% rename from radio/src/gui/menu_model_custom_scripts.cpp rename to radio/src/gui/Taranis/menu_model_custom_scripts.cpp index 61fe76202..a49328fe5 100755 --- a/radio/src/gui/menu_model_custom_scripts.cpp +++ b/radio/src/gui/Taranis/menu_model_custom_scripts.cpp @@ -33,7 +33,7 @@ * */ -#include "../opentx.h" +#include "../../opentx.h" void onModelCustomScriptMenu(const char *result) { @@ -145,12 +145,6 @@ void menuModelCustomScripts(uint8_t event) int8_t sub = m_posVert - 1; switch (event) { -#if defined(ROTARY_ENCODER_NAVIGATION) - case EVT_ROTARY_BREAK: -#endif -#if !defined(PCBTARANIS) - case EVT_KEY_FIRST(KEY_RIGHT): -#endif case EVT_KEY_FIRST(KEY_ENTER): if (sub >= 0) { s_currIdx = sub; diff --git a/radio/src/gui/menu_model_gvars.cpp b/radio/src/gui/Taranis/menu_model_gvars.cpp similarity index 98% rename from radio/src/gui/menu_model_gvars.cpp rename to radio/src/gui/Taranis/menu_model_gvars.cpp index aef7ea8e8..b3c8a1c1e 100755 --- a/radio/src/gui/menu_model_gvars.cpp +++ b/radio/src/gui/Taranis/menu_model_gvars.cpp @@ -33,9 +33,7 @@ * */ -#include "../opentx.h" - -#if LCD_W >= 212 && defined(FLIGHT_MODES) +#include "../../opentx.h" void onGVARSMenu(const char *result) { @@ -153,4 +151,3 @@ void menuModelGVars(uint8_t event) menuHandler = onGVARSMenu; } } -#endif diff --git a/radio/src/gui/Taranis/menu_model_heli.cpp b/radio/src/gui/Taranis/menu_model_heli.cpp new file mode 100755 index 000000000..6fa309780 --- /dev/null +++ b/radio/src/gui/Taranis/menu_model_heli.cpp @@ -0,0 +1,88 @@ +/* + * Authors (alphabetical order) + * - Andre Bernet + * - Andreas Weitl + * - Bertrand Songis + * - Bryan J. Rentoul (Gruvin) + * - Cameron Weeks + * - Erez Raviv + * - Gabriel Birkus + * - Jean-Pierre Parisy + * - Karl Szmutny + * - Michael Blandford + * - Michal Hlavinka + * - Pat Mackenzie + * - Philip Moss + * - Rob Thomson + * - Thomas Husterer + * + * opentx is based on code named + * gruvin9x by Bryan J. Rentoul: http://code.google.com/p/gruvin9x/, + * er9x by Erez Raviv: http://code.google.com/p/er9x/, + * and the original (and ongoing) project by + * Thomas Husterer, th9x: http://code.google.com/p/th9x/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include "../../opentx.h" + +enum menuModelHeliItems { + ITEM_HELI_SWASHTYPE, + ITEM_HELI_COLLECTIVE, + ITEM_HELI_SWASHRING, + ITEM_HELI_ELEDIRECTION, + ITEM_HELI_AILDIRECTION, + ITEM_HELI_COLDIRECTION +}; + +#define HELI_PARAM_OFS (23*FW) + +void menuModelHeli(uint8_t event) +{ + SIMPLE_MENU(STR_MENUHELISETUP, menuTabModel, e_Heli, 7); + + uint8_t sub = m_posVert - 1; + + for (uint8_t i=0; i<6; i++) { + coord_t y = MENU_TITLE_HEIGHT + 1 + i*FH; + uint8_t attr = (sub == i ? ((s_editMode>0) ? BLINK|INVERS : INVERS) : 0); + switch(i) { + case ITEM_HELI_SWASHTYPE: + g_model.swashR.type = selectMenuItem(HELI_PARAM_OFS, y, STR_SWASHTYPE, STR_VSWASHTYPE, g_model.swashR.type, 0, SWASH_TYPE_MAX, attr, event); + break; + + case ITEM_HELI_COLLECTIVE: + lcd_putsLeft(y, STR_COLLECTIVE); + if (attr) CHECK_INCDEC_MODELSOURCE(event, g_model.swashR.collectiveSource, 0, MIXSRC_LAST_CH); + putsMixerSource(HELI_PARAM_OFS, y, g_model.swashR.collectiveSource, attr); + break; + + case ITEM_HELI_SWASHRING: + lcd_putsLeft(y, STR_SWASHRING); + lcd_outdezAtt(HELI_PARAM_OFS, y, g_model.swashR.value, LEFT|attr); + if (attr) CHECK_INCDEC_MODELVAR_ZERO(event, g_model.swashR.value, 100); + break; + + case ITEM_HELI_ELEDIRECTION: + g_model.swashR.invertELE = selectMenuItem(HELI_PARAM_OFS, y, STR_ELEDIRECTION, STR_MMMINV, g_model.swashR.invertELE, 0, 1, attr, event); + break; + + case ITEM_HELI_AILDIRECTION: + g_model.swashR.invertAIL = selectMenuItem(HELI_PARAM_OFS, y, STR_AILDIRECTION, STR_MMMINV, g_model.swashR.invertAIL, 0, 1, attr, event); + break; + + case ITEM_HELI_COLDIRECTION: + g_model.swashR.invertCOL = selectMenuItem(HELI_PARAM_OFS, y, STR_COLDIRECTION, STR_MMMINV, g_model.swashR.invertCOL, 0, 1, attr, event); + break; + } + } +}