mirror of
https://github.com/opentx/opentx.git
synced 2025-07-23 16:25:16 +03:00
External module list depends on compilation options
- option PPM=NO is added for radios which don't support PPM anymore - option SBUS=NO - option DSM2=NO
This commit is contained in:
parent
c2e6985e3b
commit
db23a2125d
4 changed files with 82 additions and 21 deletions
|
@ -591,45 +591,63 @@ bool isInternalModuleAvailable(int moduleType)
|
||||||
|
|
||||||
bool isExternalModuleAvailable(int moduleType)
|
bool isExternalModuleAvailable(int moduleType)
|
||||||
{
|
{
|
||||||
#if !defined(PCBXLITE)
|
#if !defined(PCBXLITE) && !defined(PCBX9LITE)
|
||||||
if (moduleType == MODULE_TYPE_PXX_R9M_LITE || moduleType == MODULE_TYPE_ACCESS_R9M_LITE || moduleType == MODULE_TYPE_ACCESS_R9M_LITE_PRO) {
|
if (moduleType == MODULE_TYPE_PXX_R9M_LITE || moduleType == MODULE_TYPE_ACCESS_R9M_LITE || moduleType == MODULE_TYPE_ACCESS_R9M_LITE_PRO)
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(PXX1)
|
#if !defined(PXX1)
|
||||||
if (moduleType == MODULE_TYPE_PXX_XJT || moduleType == MODULE_TYPE_PXX_R9M || moduleType == MODULE_TYPE_PXX_R9M_LITE) {
|
if (moduleType == MODULE_TYPE_PXX_XJT || moduleType == MODULE_TYPE_PXX_R9M || moduleType == MODULE_TYPE_PXX_R9M_LITE)
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(FRSKY_RELEASE)
|
||||||
|
if (moduleType == MODULE_TYPE_PXX_R9M)
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (moduleType == MODULE_TYPE_ACCESS_ISRM || moduleType == MODULE_TYPE_ACCESS_R9M)
|
||||||
|
return false;
|
||||||
|
|
||||||
#if !defined(PXX2)
|
#if !defined(PXX2)
|
||||||
if (moduleType == MODULE_TYPE_ACCESS_ISRM || moduleType == MODULE_TYPE_ACCESS_R9M || moduleType == MODULE_TYPE_ACCESS_R9M_LITE || moduleType == MODULE_TYPE_ACCESS_R9M_LITE_PRO) {
|
if (moduleType == MODULE_TYPE_ACCESS_R9M || moduleType == MODULE_TYPE_ACCESS_R9M_LITE || moduleType == MODULE_TYPE_ACCESS_R9M_LITE_PRO) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CROSSFIRE)
|
#if defined(CROSSFIRE)
|
||||||
if (moduleType == MODULE_TYPE_CROSSFIRE && g_model.moduleData[INTERNAL_MODULE].type != MODULE_TYPE_NONE) {
|
if (moduleType == MODULE_TYPE_CROSSFIRE && g_model.moduleData[INTERNAL_MODULE].type != MODULE_TYPE_NONE)
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
#else
|
#else
|
||||||
if (moduleType == MODULE_TYPE_CROSSFIRE) {
|
if (moduleType == MODULE_TYPE_CROSSFIRE)
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(DSM2)
|
#if !defined(DSM2)
|
||||||
if (moduleType == MODULE_TYPE_DSM2) {
|
if (moduleType == MODULE_TYPE_DSM2)
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !defined(SBUS)
|
||||||
|
if (moduleType == MODULE_TYPE_SBUS)
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if !defined(MULTIMODULE)
|
#if !defined(MULTIMODULE)
|
||||||
if (moduleType == MODULE_TYPE_MULTIMODULE) {
|
if (moduleType == MODULE_TYPE_MULTIMODULE)
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(HARDWARE_INTERNAL_MODULE)
|
#if defined(HARDWARE_INTERNAL_MODULE)
|
||||||
if (isModuleUSingSport(EXTERNAL_MODULE, moduleType) && isModuleUSingSport(INTERNAL_MODULE, g_model.moduleData[INTERNAL_MODULE].type))
|
if (isModuleUSingSport(EXTERNAL_MODULE, moduleType) && isModuleUSingSport(INTERNAL_MODULE, g_model.moduleData[INTERNAL_MODULE].type))
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !defined(EXTERNAL_MODULE_PPM)
|
||||||
|
if (moduleType == MODULE_TYPE_PPM)
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -153,13 +153,20 @@ inline bool isModuleDSM2(uint8_t idx)
|
||||||
{
|
{
|
||||||
return idx == EXTERNAL_MODULE && g_model.moduleData[EXTERNAL_MODULE].type == MODULE_TYPE_DSM2;
|
return idx == EXTERNAL_MODULE && g_model.moduleData[EXTERNAL_MODULE].type == MODULE_TYPE_DSM2;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
inline bool isModuleDSM2(uint8_t idx)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(SBUS)
|
||||||
inline bool isModuleSBUS(uint8_t idx)
|
inline bool isModuleSBUS(uint8_t idx)
|
||||||
{
|
{
|
||||||
return idx == EXTERNAL_MODULE && g_model.moduleData[EXTERNAL_MODULE].type == MODULE_TYPE_SBUS;
|
return idx == EXTERNAL_MODULE && g_model.moduleData[EXTERNAL_MODULE].type == MODULE_TYPE_SBUS;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
inline bool isModuleDSM2(uint8_t idx)
|
inline bool isModuleSBUS(uint8_t idx)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -173,13 +173,18 @@ void disablePulses(uint8_t module, uint8_t protocol)
|
||||||
#if defined(MULTIMODULE)
|
#if defined(MULTIMODULE)
|
||||||
case PROTOCOL_CHANNELS_MULTIMODULE:
|
case PROTOCOL_CHANNELS_MULTIMODULE:
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(SBUS)
|
||||||
case PROTOCOL_CHANNELS_SBUS:
|
case PROTOCOL_CHANNELS_SBUS:
|
||||||
disable_serial(module);
|
disable_serial(module);
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(PPM)
|
||||||
case PROTOCOL_CHANNELS_PPM:
|
case PROTOCOL_CHANNELS_PPM:
|
||||||
disable_ppm(module);
|
disable_ppm(module);
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -303,10 +308,12 @@ void setupPulsesExternalModule(uint8_t protocol)
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(SBUS)
|
||||||
case PROTOCOL_CHANNELS_SBUS:
|
case PROTOCOL_CHANNELS_SBUS:
|
||||||
setupPulsesSbus();
|
setupPulsesSbus();
|
||||||
scheduleNextMixerCalculation(EXTERNAL_MODULE, SBUS_PERIOD);
|
scheduleNextMixerCalculation(EXTERNAL_MODULE, SBUS_PERIOD);
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(DSM2)
|
#if defined(DSM2)
|
||||||
case PROTOCOL_CHANNELS_DSM2_LP45:
|
case PROTOCOL_CHANNELS_DSM2_LP45:
|
||||||
|
@ -331,10 +338,12 @@ void setupPulsesExternalModule(uint8_t protocol)
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(PPM)
|
||||||
case PROTOCOL_CHANNELS_PPM:
|
case PROTOCOL_CHANNELS_PPM:
|
||||||
setupPulsesPPMExternalModule();
|
setupPulsesPPMExternalModule();
|
||||||
scheduleNextMixerCalculation(EXTERNAL_MODULE, PPM_PERIOD(EXTERNAL_MODULE));
|
scheduleNextMixerCalculation(EXTERNAL_MODULE, PPM_PERIOD(EXTERNAL_MODULE));
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -7,9 +7,12 @@ option(TRACE_SD_CARD "Traces SD enabled" OFF)
|
||||||
option(TRACE_FATFS "Traces FatFS enabled" OFF)
|
option(TRACE_FATFS "Traces FatFS enabled" OFF)
|
||||||
option(TRACE_AUDIO "Traces audio enabled" OFF)
|
option(TRACE_AUDIO "Traces audio enabled" OFF)
|
||||||
option(DEBUG_TRACE_BUFFER "Debug Trace Screen" OFF)
|
option(DEBUG_TRACE_BUFFER "Debug Trace Screen" OFF)
|
||||||
|
option(PPM "PPM TX Module" ON)
|
||||||
|
option(DSM2 "DSM2 TX Module" ON)
|
||||||
|
option(SBUS "SBUS TX Module" ON)
|
||||||
|
option(CROSSFIRE "Crossfire TX Module" OFF)
|
||||||
option(MULTIMODULE "DIY Multiprotocol TX Module (https://github.com/pascallanger/DIY-Multiprotocol-TX-Module)" OFF)
|
option(MULTIMODULE "DIY Multiprotocol TX Module (https://github.com/pascallanger/DIY-Multiprotocol-TX-Module)" OFF)
|
||||||
option(MULTI_SPORT "SPORT telemetry support" OFF)
|
option(MULTI_SPORT "SPORT telemetry support" OFF)
|
||||||
option(CROSSFIRE "Crossfire TX Module" OFF)
|
|
||||||
option(SUPPORT_D16_EU_ONLY "XJT module only supports D16-EU and LR12-EU" OFF) # TODO rename to XJT_EU_ONLY
|
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_INTERRUPTS "Count interrupts" OFF)
|
||||||
option(DEBUG_USB_INTERRUPTS "Count individual USB interrupts" OFF)
|
option(DEBUG_USB_INTERRUPTS "Count individual USB interrupts" OFF)
|
||||||
|
@ -90,7 +93,13 @@ endif()
|
||||||
|
|
||||||
# Protocols supported
|
# Protocols supported
|
||||||
|
|
||||||
add_definitions(-DDSM2 -DSBUS)
|
if(DSM2)
|
||||||
|
add_definitions(-DDSM2)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(SBUS)
|
||||||
|
add_definitions(-DSBUS)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(PXX1)
|
if(PXX1)
|
||||||
add_definitions(-DPXX -DPXX1)
|
add_definitions(-DPXX -DPXX1)
|
||||||
|
@ -185,7 +194,25 @@ set(FIRMWARE_SRC
|
||||||
set(PULSES_SRC
|
set(PULSES_SRC
|
||||||
${PULSES_SRC}
|
${PULSES_SRC}
|
||||||
pulses.cpp
|
pulses.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
if(PPM)
|
||||||
|
set(PULSES_SRC
|
||||||
|
${PULSES_SRC}
|
||||||
ppm.cpp
|
ppm.cpp
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(DSM2)
|
||||||
|
set(PULSES_SRC
|
||||||
|
${PULSES_SRC}
|
||||||
dsm2.cpp
|
dsm2.cpp
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(SBUS)
|
||||||
|
set(PULSES_SRC
|
||||||
|
${PULSES_SRC}
|
||||||
sbus.cpp
|
sbus.cpp
|
||||||
)
|
)
|
||||||
|
endif()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue