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:
parent
f9f37d75a7
commit
f17212f9b7
9 changed files with 67 additions and 22 deletions
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
)
|
)
|
||||||
|
|
|
@ -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
|
|
||||||
)
|
|
||||||
|
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue