diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index 2e071418d..35d4d4ef8 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -576,7 +576,7 @@ void menuModelSetup(event_t event) if (checkIncDec_Ret) { g_model.moduleData[0].type = MODULE_TYPE_XJT; g_model.moduleData[0].channelsStart = 0; - g_model.moduleData[0].channelsCount = 0; + g_model.moduleData[0].channelsCount = DEFAULT_CHANNELS(INTERNAL_MODULE); } } break; @@ -613,10 +613,7 @@ void menuModelSetup(event_t event) if (checkIncDec_Ret) { g_model.moduleData[EXTERNAL_MODULE].rfProtocol = 0; g_model.moduleData[EXTERNAL_MODULE].channelsStart = 0; - if (g_model.moduleData[EXTERNAL_MODULE].type == MODULE_TYPE_PPM) - g_model.moduleData[EXTERNAL_MODULE].channelsCount = 0; - else - g_model.moduleData[EXTERNAL_MODULE].channelsCount = MAX_EXTERNAL_MODULE_CHANNELS(); + g_model.moduleData[EXTERNAL_MODULE].channelsCount = DEFAULT_CHANNELS(EXTERNAL_MODULE); } break; case 1: @@ -645,7 +642,7 @@ void menuModelSetup(event_t event) } if (checkIncDec_Ret) { g_model.moduleData[EXTERNAL_MODULE].channelsStart = 0; - g_model.moduleData[EXTERNAL_MODULE].channelsCount = MAX_EXTERNAL_MODULE_CHANNELS(); + g_model.moduleData[EXTERNAL_MODULE].channelsCount = DEFAULT_CHANNELS(EXTERNAL_MODULE); } } } diff --git a/radio/src/gui/212x64/model_setup.cpp b/radio/src/gui/212x64/model_setup.cpp index e7b81d540..db8f6dff0 100644 --- a/radio/src/gui/212x64/model_setup.cpp +++ b/radio/src/gui/212x64/model_setup.cpp @@ -669,14 +669,14 @@ void menuModelSetup(event_t event) if (checkIncDec_Ret) { g_model.moduleData[INTERNAL_MODULE].rfProtocol = 0; g_model.moduleData[INTERNAL_MODULE].channelsStart = 0; - g_model.moduleData[INTERNAL_MODULE].channelsCount = 0; + g_model.moduleData[INTERNAL_MODULE].channelsCount = DEFAULT_CHANNELS(INTERNAL_MODULE);; } break; case 1: g_model.moduleData[INTERNAL_MODULE].rfProtocol = checkIncDec(event, g_model.moduleData[INTERNAL_MODULE].rfProtocol, RF_PROTO_X16, RF_PROTO_LAST, EE_MODEL, isRfProtocolAvailable); if (checkIncDec_Ret) { g_model.moduleData[INTERNAL_MODULE].channelsStart = 0; - g_model.moduleData[INTERNAL_MODULE].channelsCount = 0; + g_model.moduleData[INTERNAL_MODULE].channelsCount = DEFAULT_CHANNELS(INTERNAL_MODULE); } } } @@ -690,7 +690,7 @@ void menuModelSetup(event_t event) if (checkIncDec_Ret) { g_model.moduleData[0].type = MODULE_TYPE_XJT; g_model.moduleData[0].channelsStart = 0; - g_model.moduleData[0].channelsCount = 0; + g_model.moduleData[0].channelsCount = DEFAULT_CHANNELS(INTERNAL_MODULE); } } break; @@ -766,7 +766,7 @@ void menuModelSetup(event_t event) if (checkIncDec_Ret) { g_model.moduleData[EXTERNAL_MODULE].rfProtocol = 0; g_model.moduleData[EXTERNAL_MODULE].channelsStart = 0; - g_model.moduleData[EXTERNAL_MODULE].channelsCount = min(0, MAX_EXTERNAL_MODULE_CHANNELS()); + g_model.moduleData[EXTERNAL_MODULE].channelsCount = DEFAULT_CHANNELS(EXTERNAL_MODULE); } break; case 1: @@ -795,7 +795,7 @@ void menuModelSetup(event_t event) } if (checkIncDec_Ret) { g_model.moduleData[EXTERNAL_MODULE].channelsStart = 0; - g_model.moduleData[EXTERNAL_MODULE].channelsCount = 0; + g_model.moduleData[EXTERNAL_MODULE].channelsCount = DEFAULT_CHANNELS(EXTERNAL_MODULE); } break; #if defined(MULTIMODULE) diff --git a/radio/src/gui/480x272/model_setup.cpp b/radio/src/gui/480x272/model_setup.cpp index 4273cf0d7..2e23101c0 100644 --- a/radio/src/gui/480x272/model_setup.cpp +++ b/radio/src/gui/480x272/model_setup.cpp @@ -610,7 +610,7 @@ bool menuModelSetup(event_t event) if (checkIncDec_Ret) { g_model.moduleData[0].type = MODULE_TYPE_XJT; g_model.moduleData[0].channelsStart = 0; - g_model.moduleData[0].channelsCount = 0; + g_model.moduleData[0].channelsCount = DEFAULT_CHANNELS(INTERNAL_MODULE); } } break; @@ -697,10 +697,7 @@ bool menuModelSetup(event_t event) if (checkIncDec_Ret) { g_model.moduleData[EXTERNAL_MODULE].rfProtocol = 0; g_model.moduleData[EXTERNAL_MODULE].channelsStart = 0; - if (g_model.moduleData[EXTERNAL_MODULE].type == MODULE_TYPE_PPM) - g_model.moduleData[EXTERNAL_MODULE].channelsCount = 0; - else - g_model.moduleData[EXTERNAL_MODULE].channelsCount = MAX_EXTERNAL_MODULE_CHANNELS(); + g_model.moduleData[EXTERNAL_MODULE].channelsCount = DEFAULT_CHANNELS(EXTERNAL_MODULE); } break; case 1: @@ -727,7 +724,7 @@ bool menuModelSetup(event_t event) } if (checkIncDec_Ret) { g_model.moduleData[EXTERNAL_MODULE].channelsStart = 0; - g_model.moduleData[EXTERNAL_MODULE].channelsCount = MAX_EXTERNAL_MODULE_CHANNELS(); + g_model.moduleData[EXTERNAL_MODULE].channelsCount = DEFAULT_CHANNELS(EXTERNAL_MODULE); } break; #if defined(MULTIMODULE) diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 8aa5e53f3..478f8b5c1 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -422,8 +422,9 @@ void modelDefault(uint8_t id) } #endif -#if defined(PCBTARANIS) +#if defined(PCBTARANIS) || defined(PCBHORUS) g_model.moduleData[INTERNAL_MODULE].type = MODULE_TYPE_XJT; + g_model.moduleData[INTERNAL_MODULE].channelsCount = DEFAULT_CHANNELS(INTERNAL_MODULE); #elif defined(PCBSKY9X) g_model.moduleData[EXTERNAL_MODULE].type = MODULE_TYPE_PPM; #endif diff --git a/radio/src/opentx.h b/radio/src/opentx.h index 2afcb5d83..6f928f9b0 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -440,6 +440,7 @@ void memswap(void * a, void * b, uint8_t size); #define MAX_CHANNELS(idx) (idx==EXTERNAL_MODULE ? MAX_EXTERNAL_MODULE_CHANNELS() : MAX_TRAINER_CHANNELS_M8()) #define NUM_CHANNELS(idx) (8+g_model.moduleData[idx].channelsCount) #endif +#define DEFAULT_CHANNELS(idx) (IS_MODULE_PPM(idx) ? 0 : MAX_CHANNELS(idx)) #if defined(CPUARM) #define MASK_CFN_TYPE uint64_t // current max = 64 function switches