1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-16 04:45:17 +03:00

Possibility to disable PXX1 / PXX2 / CROSSFIRE

This commit is contained in:
Bertrand Songis 2019-02-09 12:31:16 +01:00
parent f9f37d75a7
commit f17212f9b7
9 changed files with 67 additions and 22 deletions

View file

@ -528,6 +528,16 @@ bool isInternalModuleAvailable(int module)
bool isExternalModuleAvailable(int module) bool isExternalModuleAvailable(int module)
{ {
#if !defined(PXX1)
if (module == MODULE_TYPE_XJT) {
return false;
}
#endif
#if !defined(PXX2)
if (module == MODULE_TYPE_XJT2) {
return false;
}
#endif
#if defined(CROSSFIRE) #if defined(CROSSFIRE)
if (module == MODULE_TYPE_CROSSFIRE && g_model.moduleData[INTERNAL_MODULE].type != MODULE_TYPE_NONE) { if (module == MODULE_TYPE_CROSSFIRE && g_model.moduleData[INTERNAL_MODULE].type != MODULE_TYPE_NONE) {
return false; return false;
@ -554,7 +564,6 @@ bool isExternalModuleAvailable(int module)
#endif #endif
return true; return true;
} }
bool isRfProtocolAvailable(int protocol) bool isRfProtocolAvailable(int protocol)

View file

@ -434,6 +434,7 @@ static int luaSportTelemetryPush(lua_State * L)
return 1; return 1;
} }
#if defined(CROSSFIRE)
/*luadoc /*luadoc
@function crossfireTelemetryPop() @function crossfireTelemetryPop()
@ -515,6 +516,7 @@ static int luaCrossfireTelemetryPush(lua_State * L)
} }
return 1; return 1;
} }
#endif
/*luadoc /*luadoc
@function getFieldInfo(name) @function getFieldInfo(name)

View file

@ -23,14 +23,9 @@
#include "definitions.h" #include "definitions.h"
#include "dataconstants.h" #include "dataconstants.h"
#include "pulses_common.h"
#if defined(PXX2)
#include "pulses/pxx2.h"
#endif
#if defined(PXX1)
#include "pulses/pxx1.h" #include "pulses/pxx1.h"
#endif #include "pulses/pxx2.h"
#if NUM_MODULES > 1 #if NUM_MODULES > 1
#define IS_RANGECHECK_ENABLE() (moduleSettings[0].mode == MODULE_MODE_RANGECHECK || moduleSettings[1].mode == MODULE_MODE_RANGECHECK) #define IS_RANGECHECK_ENABLE() (moduleSettings[0].mode == MODULE_MODE_RANGECHECK || moduleSettings[1].mode == MODULE_MODE_RANGECHECK)

View file

@ -8,6 +8,9 @@ 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(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(CROSSFIRE "Crossfire TX Module" OFF)
option(PXX1 "PXX1 protocol support" OFF)
option(PXX2 "PXX2 protocol support" ON)
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)
@ -86,12 +89,43 @@ if(HAPTIC)
set(TARGET_SRC ${TARGET_SRC} haptic_driver.cpp) set(TARGET_SRC ${TARGET_SRC} haptic_driver.cpp)
endif() endif()
add_definitions(-DPXX -DPXX1 -DPXX2 -DDSM2 -DSBUS -DCROSSFIRE) # Protocols supported
add_definitions(-DDSM2 -DSBUS)
if(PXX1)
add_definitions(-DPXX -DPXX1)
set(PULSES_SRC
${PULSES_SRC}
pxx1.cpp
)
endif()
if(PXX2)
add_definitions(-DPXX -DPXX2)
set(PULSES_SRC
${PULSES_SRC}
pxx2.cpp
)
endif()
if(MULTIMODULE) if(MULTIMODULE)
add_definitions(-DMULTIMODULE) add_definitions(-DMULTIMODULE)
set(SRC ${SRC} pulses/multi_arm.cpp telemetry/spektrum.cpp telemetry/flysky_ibus.cpp telemetry/multi.cpp) set(SRC ${SRC} pulses/multi_arm.cpp telemetry/spektrum.cpp telemetry/flysky_ibus.cpp telemetry/multi.cpp)
endif() endif()
if(CROSSFIRE)
add_definitions(-DCROSSFIRE)
set(PULSES_SRC
${PULSES_SRC}
crossfire.cpp
)
set(SRC
${SRC}
telemetry/crossfire.cpp
)
endif()
add_definitions(-DCPUARM) add_definitions(-DCPUARM)
add_definitions(-DTELEMETRY_FRSKY -DTELEMETRY_FRSKY_SPORT -DGPS) add_definitions(-DTELEMETRY_FRSKY -DTELEMETRY_FRSKY_SPORT -DGPS)
@ -102,6 +136,7 @@ foreach(LANGUAGE ${TTS_LANGUAGES})
string(TOLOWER ${LANGUAGE} lang_lower) string(TOLOWER ${LANGUAGE} lang_lower)
set(SRC ${SRC} translations/tts_${lang_lower}.cpp) set(SRC ${SRC} translations/tts_${lang_lower}.cpp)
endforeach() endforeach()
set(SRC set(SRC
${SRC} ${SRC}
main.cpp main.cpp
@ -117,16 +152,19 @@ set(SRC
crc16.cpp crc16.cpp
vario.cpp vario.cpp
) )
set(FIRMWARE_TARGET_SRC set(FIRMWARE_TARGET_SRC
${FIRMWARE_TARGET_SRC} ${FIRMWARE_TARGET_SRC}
diskio.cpp diskio.cpp
) )
set(TARGET_SRC set(TARGET_SRC
${TARGET_SRC} ${TARGET_SRC}
pulses_driver.cpp pulses_driver.cpp
keys_driver.cpp keys_driver.cpp
telemetry_driver.cpp telemetry_driver.cpp
) )
set(FIRMWARE_SRC set(FIRMWARE_SRC
${FIRMWARE_SRC} ${FIRMWARE_SRC}
${COOS_DIR}/kernel/core.c ${COOS_DIR}/kernel/core.c
@ -147,8 +185,6 @@ set(PULSES_SRC
pulses.cpp pulses.cpp
ppm.cpp ppm.cpp
pxx.cpp pxx.cpp
pxx1.cpp
pxx2.cpp
dsm2.cpp dsm2.cpp
sbus.cpp sbus.cpp
) )

View file

@ -53,6 +53,7 @@ if(DEBUG OR CLI OR USB_SERIAL)
) )
add_definitions(-DUSB_SERIAL) add_definitions(-DUSB_SERIAL)
endif() endif()
set(STM32USB_SRC set(STM32USB_SRC
${STM32USB_SRC} ${STM32USB_SRC}
STM32_USB_Device_Library/Class/msc/src/usbd_msc_data.c STM32_USB_Device_Library/Class/msc/src/usbd_msc_data.c
@ -60,31 +61,37 @@ set(STM32USB_SRC
STM32_USB_Device_Library/Class/msc/src/usbd_msc_bot.c STM32_USB_Device_Library/Class/msc/src/usbd_msc_bot.c
STM32_USB_Device_Library/Class/msc/src/usbd_msc_core.c STM32_USB_Device_Library/Class/msc/src/usbd_msc_core.c
) )
set(FIRMWARE_TARGET_SRC set(FIRMWARE_TARGET_SRC
${FIRMWARE_TARGET_SRC} ${FIRMWARE_TARGET_SRC}
../common/arm/stm32/usbd_storage_msd.cpp ../common/arm/stm32/usbd_storage_msd.cpp
) )
set(FIRMWARE_TARGET_SRC set(FIRMWARE_TARGET_SRC
${FIRMWARE_TARGET_SRC} ${FIRMWARE_TARGET_SRC}
../common/arm/stm32/usbd_hid_joystick.c ../common/arm/stm32/usbd_hid_joystick.c
) )
if(GVARS) if(GVARS)
set(GUI_SRC set(GUI_SRC
${GUI_SRC} ${GUI_SRC}
${GVAR_SCREEN} ${GVAR_SCREEN}
) )
endif() endif()
set(FIRMWARE_SRC set(FIRMWARE_SRC
${FIRMWARE_SRC} ${FIRMWARE_SRC}
serial.cpp serial.cpp
syscalls.c syscalls.c
) )
foreach(FILE ${STM32LIB_SRC}) foreach(FILE ${STM32LIB_SRC})
set(FIRMWARE_SRC set(FIRMWARE_SRC
${FIRMWARE_SRC} ${FIRMWARE_SRC}
${STM32LIB_DIR}/${FILE} ${STM32LIB_DIR}/${FILE}
) )
endforeach() endforeach()
foreach(FILE ${STM32USB_SRC}) foreach(FILE ${STM32USB_SRC})
set(FIRMWARE_SRC set(FIRMWARE_SRC
${FIRMWARE_SRC} ${FIRMWARE_SRC}
@ -94,11 +101,5 @@ endforeach()
set(SRC set(SRC
${SRC} ${SRC}
telemetry/crossfire.cpp
io/bootloader_flash.cpp io/bootloader_flash.cpp
) )
set(PULSES_SRC
${PULSES_SRC}
crossfire.cpp
)

View file

@ -91,6 +91,7 @@ extern "C" void INTMODULE_USART_IRQHandler(void)
void intmoduleSendNextFrame() void intmoduleSendNextFrame()
{ {
#if defined(PXX2)
if (moduleSettings[INTERNAL_MODULE].protocol == PROTOCOL_CHANNELS_PXX2) { if (moduleSettings[INTERNAL_MODULE].protocol == PROTOCOL_CHANNELS_PXX2) {
DMA_InitTypeDef DMA_InitStructure; DMA_InitTypeDef DMA_InitStructure;
DMA_DeInit(INTMODULE_DMA_STREAM); DMA_DeInit(INTMODULE_DMA_STREAM);
@ -113,5 +114,6 @@ void intmoduleSendNextFrame()
DMA_Cmd(INTMODULE_DMA_STREAM, ENABLE); DMA_Cmd(INTMODULE_DMA_STREAM, ENABLE);
USART_DMACmd(INTMODULE_USART, USART_DMAReq_Tx, ENABLE); USART_DMACmd(INTMODULE_USART, USART_DMAReq_Tx, ENABLE);
} }
#endif
} }

View file

@ -284,9 +284,11 @@ void extmoduleSendNextFrame()
sportSendBuffer(extmodulePulsesData.crossfire.pulses, extmodulePulsesData.crossfire.length); sportSendBuffer(extmodulePulsesData.crossfire.pulses, extmodulePulsesData.crossfire.length);
} }
#endif #endif
#if defined(PXX2)
else if (moduleSettings[EXTERNAL_MODULE].protocol == PROTOCOL_CHANNELS_PXX2) { else if (moduleSettings[EXTERNAL_MODULE].protocol == PROTOCOL_CHANNELS_PXX2) {
sportSendBuffer(extmodulePulsesData.pxx2.getData(), extmodulePulsesData.pxx2.getSize()); sportSendBuffer(extmodulePulsesData.pxx2.getData(), extmodulePulsesData.pxx2.getSize());
} }
#endif
else { else {
EXTMODULE_TIMER->DIER |= TIM_DIER_CC2IE; EXTMODULE_TIMER->DIER |= TIM_DIER_CC2IE;
} }

View file

@ -86,10 +86,10 @@ const uint8_t CROSSFIRE_PERIODS[] = {
4, 4,
16, 16,
}; };
#define CROSSFIRE_BAUDRATE CROSSFIRE_BAUDRATES[g_eeGeneral.telemetryBaudrate] #define CROSSFIRE_BAUDRATE CROSSFIRE_BAUDRATES[g_eeGeneral.telemetryBaudrate]
#define CROSSFIRE_PERIOD CROSSFIRE_PERIODS[g_eeGeneral.telemetryBaudrate] #define CROSSFIRE_PERIOD CROSSFIRE_PERIODS[g_eeGeneral.telemetryBaudrate]
#else #else
#define CROSSFIRE_BAUDRATE 400000 #define CROSSFIRE_BAUDRATE 400000
#define CROSSFIRE_PERIOD 4 // 4ms #define CROSSFIRE_PERIOD 4 // 4ms
#endif #endif

View file

@ -26,9 +26,7 @@
#include "frsky.h" #include "frsky.h"
#endif #endif
#if defined(CROSSFIRE) #include "crossfire.h"
#include "crossfire.h"
#endif
#if defined(MULTIMODULE) #if defined(MULTIMODULE)
#include "spektrum.h" #include "spektrum.h"
#include "flysky_ibus.h" #include "flysky_ibus.h"