diff --git a/radio/src/CMakeLists.txt b/radio/src/CMakeLists.txt index beb9cb90a..8febbc149 100644 --- a/radio/src/CMakeLists.txt +++ b/radio/src/CMakeLists.txt @@ -48,7 +48,10 @@ option(DEBUG_WINDOWS "Turn on windows traces" OFF) option(FRSKY_STICKS "Reverse sticks for FrSky sticks" OFF) option(NANO "Use nano newlib and binalloc") option(NIGHTLY_BUILD_WARNING "Warn this is a nightly build" OFF) -option(R9M_PROTO_FLEX "Add R9M options for non certified firmwwares" OFF) +option(MODULE_PROTOCOL_FCC "Add support for FCC modules" ON) +option(MODULE_PROTOCOL_LBT "Add support for EU/LBT modules" ON) +option(MODULE_PROTOCOL_FLEX "Add support for non certified FLEX modules" OFF) +option(MODULE_PROTOCOL_D8 "Add support for D8 modules" ON) option(FRSKY_RELEASE "Used to build FrSky released firmware" OFF) option(BOOTLOADER "Include Bootloader" ON) @@ -320,13 +323,25 @@ if(NIGHTLY_BUILD_WARNING) add_definitions(-DNIGHTLY_BUILD_WARNING) endif() -if(R9M_PROTO_FLEX) - add_definitions(-DR9M_PROTO_FLEX) +if(MODULE_PROTOCOL_FCC) + add_definitions(-DMODULE_PROTOCOL_FCC) +endif() + +if(MODULE_PROTOCOL_LBT) + add_definitions(-DMODULE_PROTOCOL_LBT) +endif() + +if(MODULE_PROTOCOL_FLEX) + add_definitions(-DMODULE_PROTOCOL_FLEX) +endif() + +if(MODULE_PROTOCOL_D8) + add_definitions(-DMODULE_PROTOCOL_D8) endif() if(FRSKY_RELEASE) add_definitions(-DFRSKY_RELEASE) - set(POPUP_LEVEL 3) + set(POPUP_LEVEL 3) endif() add_definitions(-DPOPUP_LEVEL=${POPUP_LEVEL}) diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index 87f09c552..17002dc1e 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -909,7 +909,7 @@ void menuModelSetup(event_t event) else if (old_editMode > 0) { if (isModuleR9MNonAccess(EXTERNAL_MODULE)) { if (g_model.moduleData[EXTERNAL_MODULE].subType > MODULE_SUBTYPE_R9M_EU) { - POPUP_WARNING(STR_R9M_PROTO_FLEX_WARN_LINE1); + POPUP_WARNING(STR_MODULE_PROTOCOL_FLEX_WARN_LINE1); SET_WARNING_INFO(STR_R9M_PROTO_WARN_LINE2, sizeof(TR_R9M_PROTO_WARN_LINE2) - 1, 0); } #if POPUP_LEVEL >= 3 @@ -1490,7 +1490,6 @@ void menuModelSetup(event_t event) if (attr) { CHECK_INCDEC_MODELVAR_ZERO(event, module.pxx.power, R9M_LBT_POWER_MAX); if (s_editMode == 0 && reusableBuffer.moduleSetup.r9mPower != module.pxx.power) { - TRACE("ON Y PASSE"); module.channelsStart = 0; module.channelsCount = maxModuleChannels_M8(moduleIdx); if (reusableBuffer.moduleSetup.r9mPower + module.pxx.power < 5) { //switching between mode 2 and 3 does not require rebind diff --git a/radio/src/gui/212x64/model_setup.cpp b/radio/src/gui/212x64/model_setup.cpp index 0ddee2461..fb151c875 100644 --- a/radio/src/gui/212x64/model_setup.cpp +++ b/radio/src/gui/212x64/model_setup.cpp @@ -906,7 +906,7 @@ void menuModelSetup(event_t event) else if (old_editMode > 0) { if (isModuleR9MNonAccess(EXTERNAL_MODULE)) { if (g_model.moduleData[EXTERNAL_MODULE].subType > MODULE_SUBTYPE_R9M_EU) { - POPUP_WARNING(STR_R9M_PROTO_FLEX_WARN_LINE1); + POPUP_WARNING(STR_MODULE_PROTOCOL_FLEX_WARN_LINE1); SET_WARNING_INFO(STR_R9M_PROTO_WARN_LINE2, sizeof(TR_R9M_PROTO_WARN_LINE2) - 1, 0); } #if POPUP_LEVEL >= 3 diff --git a/radio/src/gui/colorlcd/radio_tools.cpp b/radio/src/gui/colorlcd/radio_tools.cpp index 1fcd3bb19..900b215e7 100644 --- a/radio/src/gui/colorlcd/radio_tools.cpp +++ b/radio/src/gui/colorlcd/radio_tools.cpp @@ -169,7 +169,7 @@ void RadioToolsPage::rebuild(FormWindow * window) #if defined(PXX2) // PXX2 modules tools - if (isModuleOptionAvailable(reusableBuffer.hardwareAndSettings.modules[INTERNAL_MODULE].information.modelID, MODULE_OPTION_SPECTRUM_ANALYSER)) { + if (isPXX2ModuleOptionAvailable(reusableBuffer.hardwareAndSettings.modules[INTERNAL_MODULE].information.modelID, MODULE_OPTION_SPECTRUM_ANALYSER)) { new StaticText(window, grid.getLabelSlot(), "access", BUTTON_BACKGROUND | CENTERED); new TextButton(window, grid.getFieldSlot(1), STR_SPECTRUM_ANALYSER_INT, [=]() -> uint8_t { new RadioSpectrumAnalyser(INTERNAL_MODULE); @@ -178,7 +178,7 @@ void RadioToolsPage::rebuild(FormWindow * window) grid.nextLine(); } - if (isModuleOptionAvailable(reusableBuffer.hardwareAndSettings.modules[INTERNAL_MODULE].information.modelID, MODULE_OPTION_POWER_METER)) { + if (isPXX2ModuleOptionAvailable(reusableBuffer.hardwareAndSettings.modules[INTERNAL_MODULE].information.modelID, MODULE_OPTION_POWER_METER)) { new StaticText(window, grid.getLabelSlot(), "access", BUTTON_BACKGROUND | CENTERED); new TextButton(window, grid.getFieldSlot(1), STR_POWER_METER_INT, [=]() -> uint8_t { // new RadioPowerMeter(INTERNAL_MODULE); @@ -187,7 +187,7 @@ void RadioToolsPage::rebuild(FormWindow * window) grid.nextLine(); } - if (isModuleOptionAvailable(reusableBuffer.hardwareAndSettings.modules[EXTERNAL_MODULE].information.modelID, MODULE_OPTION_SPECTRUM_ANALYSER)) { + if (isPXX2ModuleOptionAvailable(reusableBuffer.hardwareAndSettings.modules[EXTERNAL_MODULE].information.modelID, MODULE_OPTION_SPECTRUM_ANALYSER)) { new StaticText(window, grid.getLabelSlot(), "access", BUTTON_BACKGROUND | CENTERED); new TextButton(window, grid.getFieldSlot(1), STR_SPECTRUM_ANALYSER_EXT, [=]() -> uint8_t { new RadioSpectrumAnalyser(EXTERNAL_MODULE); @@ -196,7 +196,7 @@ void RadioToolsPage::rebuild(FormWindow * window) grid.nextLine(); } - if (isModuleOptionAvailable(reusableBuffer.hardwareAndSettings.modules[EXTERNAL_MODULE].information.modelID, MODULE_OPTION_POWER_METER)) { + if (isPXX2ModuleOptionAvailable(reusableBuffer.hardwareAndSettings.modules[EXTERNAL_MODULE].information.modelID, MODULE_OPTION_POWER_METER)) { new StaticText(window, grid.getLabelSlot(), "access", BUTTON_BACKGROUND | CENTERED); new TextButton(window, grid.getFieldSlot(1), STR_POWER_METER_EXT, [=]() -> uint8_t { // new RadioPowerMeter(EXTERNAL_MODULE); diff --git a/radio/src/gui/gui_common.cpp b/radio/src/gui/gui_common.cpp index c0e1b70a0..e690ff878 100644 --- a/radio/src/gui/gui_common.cpp +++ b/radio/src/gui/gui_common.cpp @@ -505,7 +505,7 @@ bool isSourceAvailableInResetSpecialFunction(int index) bool isR9MModeAvailable(int mode) { -#if defined(R9M_PROTO_FLEX) +#if defined(MODULE_PROTOCOL_FLEX) return true; #else return mode <= MODULE_SUBTYPE_R9M_EU; @@ -650,7 +650,7 @@ bool isRfProtocolAvailable(int protocol) return false; } #endif -#if defined(MODULE_D16_EU_ONLY_SUPPORT) +#if !defined(MODULE_PROTOCOL_D8) if (protocol == MODULE_SUBTYPE_PXX1_ACCST_D8) { return false; } diff --git a/radio/src/options.h b/radio/src/options.h index ae0522b73..1038af319 100644 --- a/radio/src/options.h +++ b/radio/src/options.h @@ -29,7 +29,7 @@ static const char * options[] = { #if defined(CROSSFIRE) "crossfire", #endif -#if defined(MODULE_D16_EU_ONLY_SUPPORT) +#if !defined(MODULE_PROTOCOL_D8) "eu", #endif #if defined(FAI) @@ -38,7 +38,7 @@ static const char * options[] = { #if defined(FAI_CHOICE) "faichoice", #endif -#if defined(R9M_PROTO_FLEX) +#if defined(MODULE_PROTOCOL_FLEX) "flexr9m", #endif #if !defined(GVARS) diff --git a/radio/src/targets/common/arm/CMakeLists.txt b/radio/src/targets/common/arm/CMakeLists.txt index 319a6cf2d..d0f514f4f 100644 --- a/radio/src/targets/common/arm/CMakeLists.txt +++ b/radio/src/targets/common/arm/CMakeLists.txt @@ -14,7 +14,6 @@ option(DSM2 "DSM2 TX Module" ON) option(SBUS "SBUS TX Module" ON) option(CROSSFIRE "Crossfire TX Module" ON) option(MULTIMODULE "DIY Multiprotocol TX Module (https://github.com/pascallanger/DIY-Multiprotocol-TX-Module)" ON) -option(SUPPORT_D16_EU_ONLY "XJT module only supports D16-EU and LR12-EU" OFF) # TODO rename to XJT_EU_ONLY option(DEBUG_INTERRUPTS "Count interrupts" OFF) option(DEBUG_LATENCY "Debug latency" OFF) option(DEBUG_USB_INTERRUPTS "Count individual USB interrupts" OFF) @@ -98,10 +97,6 @@ if(DEBUG) add_definitions(-DDEBUG) endif() -if(SUPPORT_D16_EU_ONLY) - add_definitions(-DMODULE_D16_EU_ONLY_SUPPORT) -endif() - if(HAPTIC) add_definitions(-DHAPTIC) set(SRC ${SRC} haptic.cpp) diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 21a68a5ef..776a34c86 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -461,7 +461,7 @@ const char STR_CHANNELRANGE[] = TR_CHANNELRANGE; const char STR_ANTENNASELECTION[] = TR_ANTENNASELECTION; const char STR_ANTENNACONFIRM1[] = TR_ANTENNACONFIRM1; const char STR_ANTENNACONFIRM2[] = TR_ANTENNACONFIRM2; -const char STR_R9M_PROTO_FLEX_WARN_LINE1[] = TR_R9M_PROTO_FLEX_WARN_LINE1; +const char STR_MODULE_PROTOCOL_FLEX_WARN_LINE1[] = TR_MODULE_PROTOCOL_FLEX_WARN_LINE1; const char STR_R9M_PROTO_FCC_WARN_LINE1[] = TR_R9M_PROTO_FCC_WARN_LINE1; const char STR_R9M_PROTO_EU_WARN_LINE1[] = TR_R9M_PROTO_EU_WARN_LINE1; const char STR_R9M_PROTO_WARN_LINE2[] = TR_R9M_PROTO_WARN_LINE2; diff --git a/radio/src/translations.h b/radio/src/translations.h index 1c0e988a8..e301de4b4 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -741,7 +741,7 @@ extern const char STR_RXFREQUENCY[]; extern const char STR_ANTENNASELECTION[]; extern const char STR_ANTENNACONFIRM1[]; extern const char STR_ANTENNACONFIRM2[]; -extern const char STR_R9M_PROTO_FLEX_WARN_LINE1[]; +extern const char STR_MODULE_PROTOCOL_FLEX_WARN_LINE1[]; extern const char STR_R9M_PROTO_FCC_WARN_LINE1[]; extern const char STR_R9M_PROTO_EU_WARN_LINE1[]; extern const char STR_R9M_PROTO_WARN_LINE2[]; diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index ea297cf17..8f3c968b5 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -947,7 +947,7 @@ #define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Volba antény") #define TR_ANTENNACONFIRM1 "Opravdu přepnout?" #define TR_ANTENNACONFIRM2 TR("Zkont. anténu", "Ujisti se že je anténa připojena!") -#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Vyžaduje FLEX" +#define TR_MODULE_PROTOCOL_FLEX_WARN_LINE1 "Vyžaduje FLEX" #define TR_R9M_PROTO_FCC_WARN_LINE1 "Vyžaduje FCC" #define TR_R9M_PROTO_EU_WARN_LINE1 "Vyžaduje EU" #define TR_R9M_PROTO_WARN_LINE2 "firmware." diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 7955ce623..7ce7ea674 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -969,7 +969,7 @@ #define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenne auswählen") #define TR_ANTENNACONFIRM1 "Ant. umschalten" #define TR_ANTENNACONFIRM2 TR("Check antenna", "Ist eine externe Antenne installiert?") -#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Requires non" +#define TR_MODULE_PROTOCOL_FLEX_WARN_LINE1 "Requires non" #define TR_R9M_PROTO_FCC_WARN_LINE1 "Requires FCC" #define TR_R9M_PROTO_EU_WARN_LINE1 "Requires EU" #define TR_R9M_PROTO_WARN_LINE2 "certified firmware" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index ba711b102..72397659a 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -963,7 +963,7 @@ #define TR_ANTENNASELECTION TR(INDENT "Antenna", TR(INDENT "Antenna", INDENT "Antenna selection")) #define TR_ANTENNACONFIRM1 "Really switch?" #define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!") -#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Requires FLEX non" +#define TR_MODULE_PROTOCOL_FLEX_WARN_LINE1 "Requires FLEX non" #define TR_R9M_PROTO_FCC_WARN_LINE1 "Requires FCC" #define TR_R9M_PROTO_EU_WARN_LINE1 "Requires EU" #define TR_R9M_PROTO_WARN_LINE2 "certified firmware" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index aeb035d6c..b3ac8b379 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -984,7 +984,7 @@ #define TR_ANTENNASELECTION TR(INDENT "Antenna", TR(INDENT "Antenna", INDENT "Antenna selection")) #define TR_ANTENNACONFIRM1 "Really switch?" #define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!") -#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Requires non" +#define TR_MODULE_PROTOCOL_FLEX_WARN_LINE1 "Requires non" #define TR_R9M_PROTO_FCC_WARN_LINE1 "Requires FCC" #define TR_R9M_PROTO_EU_WARN_LINE1 "Requires EU" #define TR_R9M_PROTO_WARN_LINE2 "certified firmware" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 80d8e4d4d..71b4ba391 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -977,7 +977,7 @@ #define TR_ANTENNASELECTION TR(INDENT "Antenna", TR(INDENT "Antenna", INDENT "Antenna selection")) #define TR_ANTENNACONFIRM1 "Really switch?" #define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!") -#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Requires non" +#define TR_MODULE_PROTOCOL_FLEX_WARN_LINE1 "Requires non" #define TR_R9M_PROTO_FCC_WARN_LINE1 "Requires FCC" #define TR_R9M_PROTO_EU_WARN_LINE1 "Requires EU" #define TR_R9M_PROTO_WARN_LINE2 "certified firmware" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index c9301b8f4..1b0705a43 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -979,7 +979,7 @@ #define TR_ANTENNASELECTION TR(INDENT "Antenne", INDENT "Choix antenne") #define TR_ANTENNACONFIRM1 "Vraiment changer?" #define TR_ANTENNACONFIRM2 TR("Vérif antenne", "Installer l'antenne d'abord!") -#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Nécessite firm." +#define TR_MODULE_PROTOCOL_FLEX_WARN_LINE1 "Nécessite firm." #define TR_R9M_PROTO_FCC_WARN_LINE1 "Requires FCC" #define TR_R9M_PROTO_EU_WARN_LINE1 "Requires EU" #define TR_R9M_PROTO_WARN_LINE2 "R9M non certifié" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index da508b4df..758b5e974 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -981,7 +981,7 @@ #define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenna selection") #define TR_ANTENNACONFIRM1 "Really switch?" #define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!") -#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Requires non" +#define TR_MODULE_PROTOCOL_FLEX_WARN_LINE1 "Requires non" #define TR_R9M_PROTO_FCC_WARN_LINE1 "Requires FCC" #define TR_R9M_PROTO_EU_WARN_LINE1 "Requires EU" #define TR_R9M_PROTO_WARN_LINE2 "certified firmware" diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index b33e74442..27894ade4 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -966,7 +966,7 @@ TR_GYR_VSRCRAW #define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenna selection") #define TR_ANTENNACONFIRM1 "Antennes wisselen?" #define TR_ANTENNACONFIRM2 TR("Check antenna", "Is er zeker een antenne geplaatst!") -#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Requires non" +#define TR_MODULE_PROTOCOL_FLEX_WARN_LINE1 "Requires non" #define TR_R9M_PROTO_FCC_WARN_LINE1 "Requires FCC" #define TR_R9M_PROTO_EU_WARN_LINE1 "Requires EU" #define TR_R9M_PROTO_WARN_LINE2 "certified firmware" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index d72ccbe91..5763fef1b 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -978,7 +978,7 @@ #define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenna selection") #define TR_ANTENNACONFIRM1 "Really switch?" #define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!") -#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Requires non" +#define TR_MODULE_PROTOCOL_FLEX_WARN_LINE1 "Requires non" #define TR_R9M_PROTO_FCC_WARN_LINE1 "Requires FCC" #define TR_R9M_PROTO_EU_WARN_LINE1 "Requires EU" #define TR_R9M_PROTO_WARN_LINE2 "certified firmware" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 368446c4b..42a9d9507 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -968,7 +968,7 @@ #define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenna selection") #define TR_ANTENNACONFIRM1 "Really switch?" #define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!") -#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Requires non" +#define TR_MODULE_PROTOCOL_FLEX_WARN_LINE1 "Requires non" #define TR_R9M_PROTO_FCC_WARN_LINE1 "Requires FCC" #define TR_R9M_PROTO_EU_WARN_LINE1 "Requires EU" #define TR_R9M_PROTO_WARN_LINE2 "certified firmware" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index d45313510..d24a883ff 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -978,7 +978,7 @@ #define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenna selection") #define TR_ANTENNACONFIRM1 "Really switch?" #define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!") -#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Requires non" +#define TR_MODULE_PROTOCOL_FLEX_WARN_LINE1 "Requires non" #define TR_R9M_PROTO_FCC_WARN_LINE1 "Requires FCC" #define TR_R9M_PROTO_EU_WARN_LINE1 "Requires EU" #define TR_R9M_PROTO_WARN_LINE2 "certified firmware" diff --git a/radio/src/translations/untranslated.h b/radio/src/translations/untranslated.h index 12e0d861a..13626d1b9 100644 --- a/radio/src/translations/untranslated.h +++ b/radio/src/translations/untranslated.h @@ -88,7 +88,7 @@ #define TR_VSRCRAW "---\0" TR_STICKS_VSRCRAW TR_POTS_VSRCRAW TR_ROTARY_ENCODERS TR_GYR_VSRCRAW "MAX\0" TR_CYC_VSRCRAW TR_TRIMS_VSRCRAW TR_SW_VSRCRAW TR_EXTRA_VSRCRAW -#if defined(R9M_PROTO_FLEX) +#if defined(MODULE_PROTOCOL_FLEX) #define TR_MODULE_R9M_LITE "R9ML\0 " #else #define TR_MODULE_R9M_LITE "R9MLite\0 " diff --git a/radio/util/fwoptions.py b/radio/util/fwoptions.py index da8041bc7..e9dea65e3 100755 --- a/radio/util/fwoptions.py +++ b/radio/util/fwoptions.py @@ -40,7 +40,7 @@ options_sky9x = { "faimode": ("FAI", "YES", None), "faichoice": ("FAI", "CHOICE", None), "nooverridech": ("OVERRIDE_CHANNEL_FUNCTION", "NO", "YES"), - "flexr9m": ("R9M_PROTO_FLEX", "YES", None) + "flexr9m": ("MODULE_PROTOCOL_FLEX", "YES", None) } options_ar9x = { @@ -61,7 +61,7 @@ options_ar9x = { "faichoice": ("FAI", "CHOICE", None), "nooverridech": ("OVERRIDE_CHANNEL_FUNCTION", "NO", "YES"), # "rtc": ("RTCLOCK", "YES", "NO"), - "flexr9m": ("R9M_PROTO_FLEX", "YES", None) + "flexr9m": ("MODULE_PROTOCOL_FLEX", "YES", None) } options_taranis_x9d = { @@ -76,8 +76,8 @@ options_taranis_x9d = { "nooverridech": ("OVERRIDE_CHANNEL_FUNCTION", "NO", "YES"), "internalppm": ("INTERNAL_MODULE_PPM", "YES", "NO"), "shutdownconfirm": ("SHUTDOWN_CONFIRMATION", "YES", "NO"), - "eu": ("SUPPORT_D16_EU_ONLY", "YES", "NO"), - "flexr9m": ("R9M_PROTO_FLEX", "YES", None) + "eu": ("MODULE_PROTOCOL_D8", "NO", "YES"), + "flexr9m": ("MODULE_PROTOCOL_FLEX", "YES", None) } options_taranis_x9dp = { @@ -92,8 +92,8 @@ options_taranis_x9dp = { "nooverridech": ("OVERRIDE_CHANNEL_FUNCTION", "NO", "YES"), "internalppm": ("INTERNAL_MODULE_PPM", "YES", "NO"), "shutdownconfirm": ("SHUTDOWN_CONFIRMATION", "YES", "NO"), - "eu": ("SUPPORT_D16_EU_ONLY", "YES", "NO"), - "flexr9m": ("R9M_PROTO_FLEX", "YES", None) + "eu": ("MODULE_PROTOCOL_D8", "NO", "YES"), + "flexr9m": ("MODULE_PROTOCOL_FLEX", "YES", None) } options_taranis_x9lite = { @@ -108,9 +108,9 @@ options_taranis_x9lite = { "faichoice": ("FAI", "CHOICE", None), "nooverridech": ("OVERRIDE_CHANNEL_FUNCTION", "NO", "YES"), "shutdownconfirm": ("SHUTDOWN_CONFIRMATION", "YES", "NO"), - "eu": ("SUPPORT_D16_EU_ONLY", "YES", "NO"), + "eu": ("MODULE_PROTOCOL_D8", "NO", "YES"), "internalpxx1": ("INTERNAL_MODULE_PXX1", "YES", "NO"), - "flexr9m": ("R9M_PROTO_FLEX", "YES", None) + "flexr9m": ("MODULE_PROTOCOL_FLEX", "YES", None) } options_taranis_xlite = { @@ -123,8 +123,8 @@ options_taranis_xlite = { "faichoice": ("FAI", "CHOICE", None), "nooverridech": ("OVERRIDE_CHANNEL_FUNCTION", "NO", "YES"), "shutdownconfirm": ("SHUTDOWN_CONFIRMATION", "YES", "NO"), - "eu": ("SUPPORT_D16_EU_ONLY", "YES", "NO"), - "flexr9m": ("R9M_PROTO_FLEX", "YES", None) + "eu": ("MODULE_PROTOCOL_D8", "NO", "YES"), + "flexr9m": ("MODULE_PROTOCOL_FLEX", "YES", None) } options_taranis_xlites = { @@ -138,9 +138,9 @@ options_taranis_xlites = { "faichoice": ("FAI", "CHOICE", None), "nooverridech": ("OVERRIDE_CHANNEL_FUNCTION", "NO", "YES"), "shutdownconfirm": ("SHUTDOWN_CONFIRMATION", "YES", "NO"), - "eu": ("SUPPORT_D16_EU_ONLY", "YES", "NO"), + "eu": ("MODULE_PROTOCOL_D8", "NO", "YES"), "internalpxx1": ("INTERNAL_MODULE_PXX1", "YES", "NO"), - "flexr9m": ("R9M_PROTO_FLEX", "YES", None) + "flexr9m": ("MODULE_PROTOCOL_FLEX", "YES", None) } options_taranis_x9e = { @@ -154,9 +154,9 @@ options_taranis_x9e = { "nooverridech": ("OVERRIDE_CHANNEL_FUNCTION", "NO", "YES"), "internalppm": ("INTERNAL_MODULE_PPM", "YES", "NO"), "shutdownconfirm": ("SHUTDOWN_CONFIRMATION", "YES", "NO"), - "eu": ("SUPPORT_D16_EU_ONLY", "YES", "NO"), + "eu": ("MODULE_PROTOCOL_D8", "NO", "YES"), "horussticks": ("STICKS", "HORUS", "STANDARD"), - "flexr9m": ("R9M_PROTO_FLEX", "YES", None) + "flexr9m": ("MODULE_PROTOCOL_FLEX", "YES", None) } options_horus_x12s = { @@ -167,9 +167,9 @@ options_horus_x12s = { "faimode": ("FAI", "YES", None), "faichoice": ("FAI", "CHOICE", None), "nooverridech": ("OVERRIDE_CHANNEL_FUNCTION", "NO", "YES"), - "eu": ("SUPPORT_D16_EU_ONLY", "YES", "NO"), + "eu": ("MODULE_PROTOCOL_D8", "NO", "YES"), "pcbdev": ("PCBREV", "10", None), - "flexr9m": ("R9M_PROTO_FLEX", "YES", None), + "flexr9m": ("MODULE_PROTOCOL_FLEX", "YES", None), "internalaccess": [("INTERNAL_MODULE_PXX1", "NO", None), ("INTERNAL_MODULE_PXX2", "YES", None)] } @@ -181,8 +181,8 @@ options_horus_x10 = { "faimode": ("FAI", "YES", None), "faichoice": ("FAI", "CHOICE", None), "nooverridech": ("OVERRIDE_CHANNEL_FUNCTION", "NO", "YES"), - "eu": ("SUPPORT_D16_EU_ONLY", "YES", "NO"), - "flexr9m": ("R9M_PROTO_FLEX", "YES", None), + "eu": ("MODULE_PROTOCOL_D8", "NO", "YES"), + "flexr9m": ("MODULE_PROTOCOL_FLEX", "YES", None), "internalaccess": [("INTERNAL_MODULE_PXX1", "NO", None), ("INTERNAL_MODULE_PXX2", "YES", None)] } @@ -195,6 +195,6 @@ options_horus_x10express = { "faimode": ("FAI", "YES", None), "faichoice": ("FAI", "CHOICE", None), "nooverridech": ("OVERRIDE_CHANNEL_FUNCTION", "NO", "YES"), - "eu": ("SUPPORT_D16_EU_ONLY", "YES", "NO"), - "flexr9m": ("R9M_PROTO_FLEX", "YES", None) + "eu": ("MODULE_PROTOCOL_D8", "NO", "YES"), + "flexr9m": ("MODULE_PROTOCOL_FLEX", "YES", None) } diff --git a/tools/build-frsky.py b/tools/build-frsky.py index f08ee39d3..699049f2f 100755 --- a/tools/build-frsky.py +++ b/tools/build-frsky.py @@ -9,7 +9,20 @@ import tempfile options = { - "XLITE": { + "XLITE_FCC": { + "PCB": "XLITE", + "LUA": "NO_MODEL_SCRIPTS", + "GVARS": "YES", + "MODULE_SIZE_STD": "NO", + "PPM": "NO", + "DSM2": "NO", + "MULTIMODULE": "NO", + "CROSSFIRE": "NO", + "SBUS": "NO", + }, + "XLITE_LBT": { + "PCB": "XLITE", + "MODULE_PROTOCOL_D8": "NO", "LUA": "NO_MODEL_SCRIPTS", "GVARS": "YES", "MODULE_SIZE_STD": "NO", @@ -20,6 +33,7 @@ options = { "SBUS": "NO", }, "XLITES": { + "PCB": "XLITES", "LUA": "NO_MODEL_SCRIPTS", "GVARS": "YES", "AUTOUPDATE": "YES", @@ -33,6 +47,7 @@ options = { "SBUS": "NO", }, "X9LITE": { + "PCB": "X9LITE", "LUA": "NO_MODEL_SCRIPTS", "GVARS": "YES", "AUTOUPDATE": "YES", @@ -47,6 +62,7 @@ options = { "DEFAULT_MODE": "2", }, "X9D+": { + "PCB": "X9D+", "PCBREV": "2019", "LUA": "NO_MODEL_SCRIPTS", "GVARS": "YES", @@ -70,7 +86,7 @@ def build(board, srcdir): os.mkdir("output") path = tempfile.mkdtemp() os.chdir(path) - command = "cmake -DPCB=%s %s -DFRSKY_RELEASE=YES %s" % (board, cmake_options, srcdir) + command = "cmake %s -DFRSKY_RELEASE=YES %s" % (cmake_options, srcdir) print(command) os.system(command) os.system("make firmware -j6") @@ -99,7 +115,9 @@ def main(): parser.add_argument("srcdir", type=dir_path) args = parser.parse_args() - for board in args.boards: + + boards = options.keys() if "ALL" in args.boards else args.boards + for board in boards: build(board, args.srcdir) diff --git a/tools/nightly23/build-sdcard.sh b/tools/nightly23/build-sdcard.sh index 81b4c209f..14e5550f5 100755 --- a/tools/nightly23/build-sdcard.sh +++ b/tools/nightly23/build-sdcard.sh @@ -62,6 +62,11 @@ else cd ${workdir}/sdcard/taranis-x9 && zip -r ${output}/sdcard/sdcard-taranis-x9-${sdcard_version}.zip * cd ${workdir}/sdcard/taranis-x7 && zip -r ${output}/sdcard/sdcard-taranis-x7-${sdcard_version}.zip * + # Create symlinks for other radios + ln -s ${output}/sdcard/sdcard-taranis-x7-${sdcard_version}.zip ${output}/sdcard/sdcard-taranis-xlite-${sdcard_version}.zip + ln -s ${output}/sdcard/sdcard-taranis-x7-${sdcard_version}.zip ${output}/sdcard/sdcard-taranis-x9lite-${sdcard_version}.zip + ln -s ${output}/sdcard/sdcard-taranis-x7-${sdcard_version}.zip ${output}/sdcard/sdcard-jumper-t12-${sdcard_version}.zip + # remove LUA stuff for 9x platform rm -Rf ${workdir}/sdcard/taranis-x7/SCRIPTS rm -Rf ${workdir}/sdcard/taranis-x7/FrSky-utilities