diff --git a/radio/src/gui/gui_common.cpp b/radio/src/gui/gui_common.cpp index 2ade2cb71..6e1df79fd 100644 --- a/radio/src/gui/gui_common.cpp +++ b/radio/src/gui/gui_common.cpp @@ -565,25 +565,23 @@ bool isInternalModuleAvailable(int moduleType) if (moduleType == MODULE_TYPE_NONE) return true; -#if defined(PXX2) && defined(INTERNAL_MODULE_PXX1) - if (moduleType == MODULE_TYPE_XJT_PXX1) + if (moduleType == MODULE_TYPE_XJT_PXX1) { +#if defined(PXX1) && defined(INTERNAL_MODULE_PXX1) return !isModuleUsingSport(EXTERNAL_MODULE, g_model.moduleData[EXTERNAL_MODULE].type); -#elif defined(PXX1) - if (moduleType == MODULE_TYPE_XJT_PXX1) - return !isModuleUsingSport(EXTERNAL_MODULE, g_model.moduleData[EXTERNAL_MODULE].type); -#else - if (moduleType == MODULE_TYPE_XJT_PXX1) - return false; #endif + } -#if defined(PXX2) && !defined(INTERNAL_MODULE_PXX1) - if (moduleType == MODULE_TYPE_ISRM_PXX2) -#if defined(INTMODULE_USART) + if (moduleType == MODULE_TYPE_ISRM_PXX2) { +#if defined(PXX2) && defined(INTERNAL_MODULE_PXX2) return true; -#else - return (!isModuleUsingSport(EXTERNAL_MODULE, g_model.moduleData[EXTERNAL_MODULE].type)); #endif + } + + if (moduleType == MODULE_TYPE_PPM) { +#if defined(PPM) && defined(INTERNAL_MODULE_PPM) + return true; #endif + } return false; } diff --git a/radio/src/targets/horus/CMakeLists.txt b/radio/src/targets/horus/CMakeLists.txt index 9e9625ece..2d517e9a6 100644 --- a/radio/src/targets/horus/CMakeLists.txt +++ b/radio/src/targets/horus/CMakeLists.txt @@ -2,6 +2,8 @@ option(DISK_CACHE "Enable SD card disk cache" YES) option(UNEXPECTED_SHUTDOWN "Enable the Unexpected Shutdown screen" YES) option(PXX1 "PXX1 protocol support" ON) option(PXX2 "PXX2 protocol support" OFF) +option(INTERNAL_MODULE_PXX1 "Support for PXX1 internal module" ON) +option(INTERNAL_MODULE_PXX2 "Support for PXX2 internal module" OFF) set(PWR_BUTTON "PRESS" CACHE STRING "Pwr button type (PRESS/SWITCH)") set(CPU_TYPE STM32F4) @@ -171,3 +173,11 @@ if(PYTHONINTERP_FOUND) DEPENDS ${RADIO_DIRECTORY}/src/datastructs.h ${RADIO_DIRECTORY}/util/generate_datacopy.py ) endif() + +if(INTERNAL_MODULE_PXX1) + add_definitions(-DINTERNAL_MODULE_PXX1) +endif() + +if(INTERNAL_MODULE_PXX2) + add_definitions(-DINTERNAL_MODULE_PXX2) +endif() \ No newline at end of file diff --git a/radio/src/targets/horus/board.h b/radio/src/targets/horus/board.h index b8ca84225..9c2510805 100644 --- a/radio/src/targets/horus/board.h +++ b/radio/src/targets/horus/board.h @@ -131,7 +131,6 @@ void SDRAM_Init(void); #define EXTERNAL_MODULE_OFF() GPIO_ResetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) #define IS_INTERNAL_MODULE_ON() (GPIO_ReadInputDataBit(INTMODULE_PWR_GPIO, INTMODULE_PWR_GPIO_PIN) == Bit_SET) #define IS_EXTERNAL_MODULE_ON() (GPIO_ReadInputDataBit(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) == Bit_SET) -#define INTERNAL_MODULE_PXX1 #if !defined(PXX2) #define IS_PXX2_INTERNAL_ENABLED() (false) diff --git a/radio/src/targets/taranis/hal.h b/radio/src/targets/taranis/hal.h index 17400df49..96401b98c 100644 --- a/radio/src/targets/taranis/hal.h +++ b/radio/src/targets/taranis/hal.h @@ -907,7 +907,9 @@ #if !defined(RADIO_T12) #define HARDWARE_INTERNAL_MODULE #endif -#if !defined(PCBXLITES) && !defined(PCBX9LITE) && !(defined(PCBX9DP) && PCBREV >= 2019) +#if defined(PCBXLITES) || defined(PCBX9LITE) || (defined(PCBX9DP) && PCBREV >= 2019) + #define INTERNAL_MODULE_PXX2 +#else #define INTERNAL_MODULE_PXX1 #endif #define INTMODULE_FLASH_BAUDRATE 57600