From b1812ce90c1f98ea9bb386ce190a82193931183c Mon Sep 17 00:00:00 2001 From: 3djc Date: Thu, 15 Apr 2021 09:42:41 +0200 Subject: [PATCH] Fix T8 --- radio/src/io/frsky_firmware_update.cpp | 6 ++++++ radio/src/io/multi_firmware_update.cpp | 6 ++++++ radio/src/pulses/pulses.cpp | 4 ++++ radio/src/targets/taranis/CMakeLists.txt | 5 ++++- radio/src/tasks.cpp | 2 ++ 5 files changed, 22 insertions(+), 1 deletion(-) diff --git a/radio/src/io/frsky_firmware_update.cpp b/radio/src/io/frsky_firmware_update.cpp index eb1ab0df4..b019cd21c 100644 --- a/radio/src/io/frsky_firmware_update.cpp +++ b/radio/src/io/frsky_firmware_update.cpp @@ -484,8 +484,10 @@ const char * FrskyDeviceFirmwareUpdate::flashFirmware(const char * filename) INTERNAL_MODULE_OFF(); #endif +#if defined(HARDWARE_EXTERNAL_MODULE) uint8_t extPwr = IS_EXTERNAL_MODULE_ON(); EXTERNAL_MODULE_OFF(); +#endif uint8_t spuPwr = IS_SPORT_UPDATE_POWER_ON(); SPORT_UPDATE_POWER_OFF(); @@ -527,10 +529,12 @@ const char * FrskyDeviceFirmwareUpdate::flashFirmware(const char * filename) } #endif +#if defined(HARDWARE_EXTERNAL_MODULE) if (extPwr) { EXTERNAL_MODULE_ON(); setupPulsesExternalModule(); } +#endif if (spuPwr) { SPORT_UPDATE_POWER_ON(); @@ -792,10 +796,12 @@ const char * FrskyChipFirmwareUpdate::flashFirmware(const char * filename, bool } #endif +#if defined(HARDWARE_EXTERNAL_MODULE) if (extPwr) { EXTERNAL_MODULE_ON(); setupPulsesExternalModule(); } +#endif if (spuPwr) { SPORT_UPDATE_POWER_ON(); diff --git a/radio/src/io/multi_firmware_update.cpp b/radio/src/io/multi_firmware_update.cpp index 2a6e5f149..125ef900f 100644 --- a/radio/src/io/multi_firmware_update.cpp +++ b/radio/src/io/multi_firmware_update.cpp @@ -128,7 +128,9 @@ class MultiExternalUpdateDriver: public MultiFirmwareUpdateDriver void sendByte(uint8_t byte) const override { +#if defined(HARDWARE_EXTERNAL_MODULE) extmoduleSendInvertedByte(byte); +#endif } void clear() const override @@ -589,8 +591,10 @@ bool multiFlashFirmware(uint8_t moduleIdx, const char * filename, MultiModuleTyp INTERNAL_MODULE_OFF(); #endif +#if defined(HARDWARE_EXTERNAL_MODULE) uint8_t extPwr = IS_EXTERNAL_MODULE_ON(); EXTERNAL_MODULE_OFF(); +#endif uint8_t spuPwr = IS_SPORT_UPDATE_POWER_ON(); SPORT_UPDATE_POWER_OFF(); @@ -635,10 +639,12 @@ bool multiFlashFirmware(uint8_t moduleIdx, const char * filename, MultiModuleTyp } #endif +#if defined(HARDWARE_EXTERNAL_MODULE) if (extPwr) { EXTERNAL_MODULE_ON(); setupPulsesExternalModule(); } +#endif if (spuPwr) { SPORT_UPDATE_POWER_ON(); diff --git a/radio/src/pulses/pulses.cpp b/radio/src/pulses/pulses.cpp index 128e11976..7c034a06f 100755 --- a/radio/src/pulses/pulses.cpp +++ b/radio/src/pulses/pulses.cpp @@ -218,6 +218,7 @@ uint8_t getRequiredProtocol(uint8_t module) return protocol; } +#if defined(HARDWARE_EXTERNAL_MODULE) void enablePulsesExternalModule(uint8_t protocol) { // start new protocol hardware here @@ -444,6 +445,7 @@ bool setupPulsesExternalModule(uint8_t protocol) return false; } } +#endif #if defined(HARDWARE_INTERNAL_MODULE) static void enablePulsesInternalModule(uint8_t protocol) @@ -601,6 +603,7 @@ bool setupPulsesInternalModule() } #endif +#if defined(HARDWARE_EXTERNAL_MODULE) void stopPulsesExternalModule() { if (moduleState[EXTERNAL_MODULE].protocol != PROTOCOL_CHANNELS_UNINITIALIZED) { @@ -625,6 +628,7 @@ bool setupPulsesExternalModule() return setupPulsesExternalModule(protocol); } } +#endif void setCustomFailsafe(uint8_t moduleIndex) { diff --git a/radio/src/targets/taranis/CMakeLists.txt b/radio/src/targets/taranis/CMakeLists.txt index 162dc5c38..c292250e1 100644 --- a/radio/src/targets/taranis/CMakeLists.txt +++ b/radio/src/targets/taranis/CMakeLists.txt @@ -444,7 +444,6 @@ set(TARGET_SRC ${TARGET_SRC} ${LED_DRIVER} backlight_driver.cpp - extmodule_driver.cpp trainer_driver.cpp ../common/arm/stm32/timers_driver.cpp ../common/arm/stm32/audio_dac_driver.cpp @@ -499,6 +498,10 @@ if(INTERNAL_MODULE_PPM) endif() if(EXTERNAL_MODULE) + set(TARGET_SRC + ${TARGET_SRC} + extmodule_driver.cpp + ) add_definitions(-DHARDWARE_EXTERNAL_MODULE) endif() diff --git a/radio/src/tasks.cpp b/radio/src/tasks.cpp index a051cc509..f44e1cb16 100644 --- a/radio/src/tasks.cpp +++ b/radio/src/tasks.cpp @@ -102,10 +102,12 @@ void sendSynchronousPulses(uint8_t runMask) } #endif +#if defined(HARDWARE_EXTERNAL_MODULE) if ((runMask & (1 << EXTERNAL_MODULE)) && isModuleSynchronous(EXTERNAL_MODULE)) { if (setupPulsesExternalModule()) extmoduleSendNextFrame(); } +#endif } uint32_t nextMixerTime[NUM_MODULES];