1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-16 12:55:12 +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)
{
#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 (module == MODULE_TYPE_CROSSFIRE && g_model.moduleData[INTERNAL_MODULE].type != MODULE_TYPE_NONE) {
return false;
@ -554,7 +564,6 @@ bool isExternalModuleAvailable(int module)
#endif
return true;
}
bool isRfProtocolAvailable(int protocol)

View file

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

View file

@ -23,14 +23,9 @@
#include "definitions.h"
#include "dataconstants.h"
#if defined(PXX2)
#include "pulses/pxx2.h"
#endif
#if defined(PXX1)
#include "pulses_common.h"
#include "pulses/pxx1.h"
#endif
#include "pulses/pxx2.h"
#if NUM_MODULES > 1
#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(DEBUG_TRACE_BUFFER "Debug Trace Screen" 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(DEBUG_INTERRUPTS "Count 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)
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)
add_definitions(-DMULTIMODULE)
set(SRC ${SRC} pulses/multi_arm.cpp telemetry/spektrum.cpp telemetry/flysky_ibus.cpp telemetry/multi.cpp)
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(-DTELEMETRY_FRSKY -DTELEMETRY_FRSKY_SPORT -DGPS)
@ -102,6 +136,7 @@ foreach(LANGUAGE ${TTS_LANGUAGES})
string(TOLOWER ${LANGUAGE} lang_lower)
set(SRC ${SRC} translations/tts_${lang_lower}.cpp)
endforeach()
set(SRC
${SRC}
main.cpp
@ -117,16 +152,19 @@ set(SRC
crc16.cpp
vario.cpp
)
set(FIRMWARE_TARGET_SRC
${FIRMWARE_TARGET_SRC}
diskio.cpp
)
set(TARGET_SRC
${TARGET_SRC}
pulses_driver.cpp
keys_driver.cpp
telemetry_driver.cpp
)
set(FIRMWARE_SRC
${FIRMWARE_SRC}
${COOS_DIR}/kernel/core.c
@ -147,8 +185,6 @@ set(PULSES_SRC
pulses.cpp
ppm.cpp
pxx.cpp
pxx1.cpp
pxx2.cpp
dsm2.cpp
sbus.cpp
)

View file

@ -53,6 +53,7 @@ if(DEBUG OR CLI OR USB_SERIAL)
)
add_definitions(-DUSB_SERIAL)
endif()
set(STM32USB_SRC
${STM32USB_SRC}
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_core.c
)
set(FIRMWARE_TARGET_SRC
${FIRMWARE_TARGET_SRC}
../common/arm/stm32/usbd_storage_msd.cpp
)
set(FIRMWARE_TARGET_SRC
${FIRMWARE_TARGET_SRC}
../common/arm/stm32/usbd_hid_joystick.c
)
if(GVARS)
set(GUI_SRC
${GUI_SRC}
${GVAR_SCREEN}
)
endif()
set(FIRMWARE_SRC
${FIRMWARE_SRC}
serial.cpp
syscalls.c
)
foreach(FILE ${STM32LIB_SRC})
set(FIRMWARE_SRC
${FIRMWARE_SRC}
${STM32LIB_DIR}/${FILE}
)
endforeach()
foreach(FILE ${STM32USB_SRC})
set(FIRMWARE_SRC
${FIRMWARE_SRC}
@ -94,11 +101,5 @@ endforeach()
set(SRC
${SRC}
telemetry/crossfire.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()
{
#if defined(PXX2)
if (moduleSettings[INTERNAL_MODULE].protocol == PROTOCOL_CHANNELS_PXX2) {
DMA_InitTypeDef DMA_InitStructure;
DMA_DeInit(INTMODULE_DMA_STREAM);
@ -113,5 +114,6 @@ void intmoduleSendNextFrame()
DMA_Cmd(INTMODULE_DMA_STREAM, 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);
}
#endif
#if defined(PXX2)
else if (moduleSettings[EXTERNAL_MODULE].protocol == PROTOCOL_CHANNELS_PXX2) {
sportSendBuffer(extmodulePulsesData.pxx2.getData(), extmodulePulsesData.pxx2.getSize());
}
#endif
else {
EXTMODULE_TIMER->DIER |= TIM_DIER_CC2IE;
}

View file

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