From 15fa51879babcbccd3e8fd6f1edcd22fe51e4468 Mon Sep 17 00:00:00 2001 From: Davide Mor <davide.mor@skywarder.eu> Date: Sun, 19 Mar 2023 17:28:42 +0100 Subject: [PATCH] [sx1278] Remove logic to detect if the correct interrupt arrived, just wake up on all interrupts and check --- src/entrypoints/sx1278-serial.cpp | 6 +- src/shared/radio/SX1278/SX1278Common.cpp | 11 +- src/shared/radio/SX1278/SX1278Common.h | 27 +-- src/shared/radio/SX1278/SX1278Defs.h | 155 +----------------- src/shared/radio/SX1278/SX1278Fsk.cpp | 26 --- src/shared/radio/SX1278/SX1278Fsk.h | 3 - src/shared/radio/SX1278/SX1278Lora.cpp | 28 ---- src/shared/radio/SX1278/SX1278Lora.h | 3 - .../sx1278/fsk/test-sx1278-bench-gui.cpp | 6 +- .../sx1278/fsk/test-sx1278-bench-serial.cpp | 23 +-- .../radio/sx1278/fsk/test-sx1278-bidir.cpp | 6 +- .../radio/sx1278/fsk/test-sx1278-mavlink.cpp | 6 +- .../radio/sx1278/lora/test-sx1278-bidir.cpp | 6 +- .../radio/sx1278/lora/test-sx1278-mavlink.cpp | 6 +- .../radio/sx1278/lora/test-sx1278-simple.cpp | 6 +- 15 files changed, 37 insertions(+), 281 deletions(-) diff --git a/src/entrypoints/sx1278-serial.cpp b/src/entrypoints/sx1278-serial.cpp index f3f567bea..a4b8ad028 100644 --- a/src/entrypoints/sx1278-serial.cpp +++ b/src/entrypoints/sx1278-serial.cpp @@ -79,7 +79,7 @@ SX1278Fsk *sx1278 = nullptr; void __attribute__((used)) SX1278_IRQ_DIO0() { if (sx1278) - sx1278->handleDioIRQ(SX1278::Dio::DIO0); + sx1278->handleDioIRQ(); } #endif @@ -87,7 +87,7 @@ void __attribute__((used)) SX1278_IRQ_DIO0() void __attribute__((used)) SX1278_IRQ_DIO1() { if (sx1278) - sx1278->handleDioIRQ(SX1278::Dio::DIO1); + sx1278->handleDioIRQ(); } #endif @@ -95,7 +95,7 @@ void __attribute__((used)) SX1278_IRQ_DIO1() void __attribute__((used)) SX1278_IRQ_DIO3() { if (sx1278) - sx1278->handleDioIRQ(SX1278::Dio::DIO3); + sx1278->handleDioIRQ(); } #endif diff --git a/src/shared/radio/SX1278/SX1278Common.cpp b/src/shared/radio/SX1278/SX1278Common.cpp index 8f7a5f0dd..af118e818 100644 --- a/src/shared/radio/SX1278/SX1278Common.cpp +++ b/src/shared/radio/SX1278/SX1278Common.cpp @@ -30,9 +30,9 @@ namespace Boardcore namespace SX1278 { -void SX1278Common::handleDioIRQ(Dio dio) +void SX1278Common::handleDioIRQ() { - if (state.waiting_dio_mask.test(dio) && state.irq_wait_thread) + if (state.irq_wait_thread) { state.irq_wait_thread->IRQwakeup(); if (state.irq_wait_thread->IRQgetPriority() > @@ -59,16 +59,11 @@ void SX1278Common::waitForIrq(LockMode &_guard, IrqFlags irq, bool unlock) // otherwise don't do anything with it (void)_guard; - // Convert the IRQ mask into a DIO mask - DioMask waiting_dio_mask = - getDioMaskFromIrqFlags(irq, state.mode, state.mapping); - do { // An interrupt could occur and read from this variables { miosix::FastInterruptDisableLock dLock; - state.waiting_dio_mask = waiting_dio_mask; state.irq_wait_thread = miosix::Thread::IRQgetCurrentThread(); } @@ -162,7 +157,6 @@ SX1278Common::DeviceState SX1278Common::lockMode(Mode mode, DioMapping mapping, enterMode(mode, mapping, tx_frontend, rx_frontend); state.irq_wait_thread = nullptr; - state.waiting_dio_mask = DioMask(); return old_state; } @@ -171,7 +165,6 @@ void SX1278Common::unlockMode(DeviceState old_state) { // Do this copy manually, we want stuff to be copied in a specific order state.irq_wait_thread = old_state.irq_wait_thread; - state.waiting_dio_mask = old_state.waiting_dio_mask; enterMode(old_state.mode, old_state.mapping, old_state.is_tx_frontend_on, old_state.is_rx_frontend_on); } diff --git a/src/shared/radio/SX1278/SX1278Common.h b/src/shared/radio/SX1278/SX1278Common.h index 35823c82d..d718dbf91 100644 --- a/src/shared/radio/SX1278/SX1278Common.h +++ b/src/shared/radio/SX1278/SX1278Common.h @@ -36,25 +36,6 @@ namespace Boardcore namespace SX1278 { -/** - * @brief Represents a set of Dio - */ -class DioMask -{ -public: - DioMask() : mask(0) {} - - bool test(Dio dio) const - { - return (mask & (1 << static_cast<int>(dio))) != 0; - } - void set(Dio dio) { mask |= (1 << static_cast<int>(dio)); } - void reset(Dio dio) { mask &= ~(1 << static_cast<int>(dio)); } - -private: - uint8_t mask; -}; - using DioMapping = RegDioMapping::Mapping; /** @@ -75,9 +56,6 @@ protected: virtual IrqFlags getIrqFlags() = 0; virtual void resetIrqFlags(IrqFlags flags) = 0; - - virtual DioMask getDioMaskFromIrqFlags(IrqFlags flags, Mode mode, - DioMapping mapping) = 0; }; /** @@ -113,8 +91,6 @@ private: DioMapping mapping = DioMapping(); // Thread waiting listening for interrupts miosix::Thread *irq_wait_thread = nullptr; - // What DIOs are we waiting on - DioMask waiting_dio_mask = DioMask(); // True if the RX frontend is enabled bool is_rx_frontend_on = false; // True if the TX frontend is enabled @@ -122,12 +98,11 @@ private: }; public: - using Dio = SX1278::Dio; /** * @brief Handle generic DIO irq. */ - void handleDioIRQ(Dio dio); + void handleDioIRQ(); protected: explicit SX1278Common(SPIBus &bus, miosix::GpioPin cs, diff --git a/src/shared/radio/SX1278/SX1278Defs.h b/src/shared/radio/SX1278/SX1278Defs.h index 67b3652c5..b674d59d2 100644 --- a/src/shared/radio/SX1278/SX1278Defs.h +++ b/src/shared/radio/SX1278/SX1278Defs.h @@ -23,6 +23,7 @@ #pragma once #include <drivers/spi/SPIBusInterface.h> + #include <cstdint> namespace Boardcore @@ -169,7 +170,7 @@ inline constexpr uint8_t make(uint8_t output_power, uint8_t max_power, (pa_select ? 1 << 7 : 0); } -} +} // namespace RegPaConfig namespace RegPaRamp { @@ -207,7 +208,7 @@ inline constexpr uint8_t make(PaRamp pa_ramp, return pa_ramp | (modulation_shaping << 5); } -} +} // namespace RegPaRamp namespace RegOcp { @@ -217,7 +218,7 @@ inline constexpr uint8_t make(uint8_t ocp_trim, bool ocp_on) return (ocp_trim & 0b11111) | (ocp_on ? 1 << 5 : 0); } -} +} // namespace RegOcp namespace RegRxConfig { @@ -268,7 +269,7 @@ enum RxBw inline constexpr uint8_t make(RxBw rx_bw) { return rx_bw; } -} +} // namespace RegRxBw namespace RegAfcBw { @@ -277,7 +278,7 @@ using RxBwAfc = Boardcore::SX1278::Fsk::RegRxBw::RxBw; inline constexpr uint8_t make(RxBwAfc rx_bw_afc) { return rx_bw_afc; } -} +} // namespace RegAfcBw namespace RegPreambleDetector { @@ -392,7 +393,7 @@ inline constexpr uint8_t make(int fifo_threshold, return (fifo_threshold & 0b111111) | (tx_start_condition << 7); } -} +} // namespace RegFifoThresh namespace RegIrqFlags { @@ -429,7 +430,7 @@ enum PaDac inline constexpr uint8_t make(PaDac pa_dac) { return pa_dac | (0x10 << 3); } -} +} // namespace RegPaDac enum Registers { @@ -532,134 +533,6 @@ enum Registers REG_AGC_PILL = 0x70, }; -static constexpr int DIO_MAPPINGS[6][8][4] = - {[0] = - { - [RegOpMode::MODE_SLEEP] = {0, 0, 0, 0}, - [RegOpMode::MODE_STDBY] = {0, 0, 0, RegIrqFlags::LOW_BAT}, - [RegOpMode::MODE_FSTX] = {0, 0, 0, RegIrqFlags::LOW_BAT}, - [RegOpMode::MODE_TX] = {RegIrqFlags::PACKET_SENT, 0, 0, - RegIrqFlags::LOW_BAT}, - [RegOpMode::MODE_FSRX] = {0, 0, 0, RegIrqFlags::LOW_BAT}, - [RegOpMode::MODE_RX] = - {RegIrqFlags::PAYLOAD_READY, RegIrqFlags::CRC_OK, 0, - RegIrqFlags::LOW_BAT}, - }, - [1] = - { - [RegOpMode::MODE_SLEEP] = {RegIrqFlags::FIFO_LEVEL, - RegIrqFlags::FIFO_EMPTY, - RegIrqFlags::FIFO_FULL, 0}, - [RegOpMode::MODE_STDBY] = {RegIrqFlags::FIFO_LEVEL, - RegIrqFlags::FIFO_EMPTY, - RegIrqFlags::FIFO_FULL, 0}, - [RegOpMode::MODE_FSTX] = - {RegIrqFlags::FIFO_LEVEL, RegIrqFlags::FIFO_EMPTY, - RegIrqFlags::FIFO_FULL, 0}, - [RegOpMode::MODE_TX] = {RegIrqFlags::FIFO_LEVEL, - RegIrqFlags::FIFO_EMPTY, - RegIrqFlags::FIFO_FULL, 0}, - [RegOpMode::MODE_FSRX] = - {RegIrqFlags::FIFO_LEVEL, RegIrqFlags::FIFO_EMPTY, - RegIrqFlags::FIFO_FULL, 0}, - [RegOpMode::MODE_RX] = {RegIrqFlags::FIFO_LEVEL, - RegIrqFlags::FIFO_EMPTY, - RegIrqFlags::FIFO_FULL, 0}, - }, - [2] = - { - [RegOpMode::MODE_SLEEP] = - {RegIrqFlags::FIFO_FULL, 0, RegIrqFlags::FIFO_FULL, - RegIrqFlags::FIFO_FULL}, - [RegOpMode::MODE_STDBY] = - {RegIrqFlags::FIFO_FULL, 0, RegIrqFlags::FIFO_FULL, - RegIrqFlags::FIFO_FULL}, - [RegOpMode::MODE_FSTX] = {RegIrqFlags::FIFO_FULL, 0, - RegIrqFlags::FIFO_FULL, - RegIrqFlags::FIFO_FULL}, - [RegOpMode::MODE_TX] = - {RegIrqFlags::FIFO_FULL, 0, RegIrqFlags::FIFO_FULL, - RegIrqFlags::FIFO_FULL}, - [RegOpMode::MODE_FSRX] = {RegIrqFlags::FIFO_FULL, 0, - RegIrqFlags::FIFO_FULL, - RegIrqFlags::FIFO_FULL}, - [RegOpMode::MODE_RX] = - {RegIrqFlags::FIFO_FULL, RegIrqFlags::RX_READY, - RegIrqFlags::TIMEOUT, RegIrqFlags::SYNC_ADDRESS_MATCH}, - }, - [3] = - { - [RegOpMode::MODE_SLEEP] = - { - RegIrqFlags::FIFO_EMPTY, - 0, - RegIrqFlags::FIFO_EMPTY, - RegIrqFlags::FIFO_EMPTY, - }, - [RegOpMode::MODE_STDBY] = - { - RegIrqFlags::FIFO_EMPTY, - 0, - RegIrqFlags::FIFO_EMPTY, - RegIrqFlags::FIFO_EMPTY, - }, - [RegOpMode::MODE_FSTX] = - { - RegIrqFlags::FIFO_EMPTY, - 0, - RegIrqFlags::FIFO_EMPTY, - RegIrqFlags::FIFO_EMPTY, - }, - [RegOpMode::MODE_TX] = - { - RegIrqFlags::FIFO_EMPTY, - RegIrqFlags::TX_READY, - RegIrqFlags::FIFO_EMPTY, - RegIrqFlags::FIFO_EMPTY, - }, - [RegOpMode::MODE_FSRX] = - { - RegIrqFlags::FIFO_EMPTY, - 0, - RegIrqFlags::FIFO_EMPTY, - RegIrqFlags::FIFO_EMPTY, - }, - [RegOpMode::MODE_RX] = - { - RegIrqFlags::FIFO_EMPTY, - 0, - RegIrqFlags::FIFO_EMPTY, - RegIrqFlags::FIFO_EMPTY, - }, - }, - [4] = - { - [RegOpMode::MODE_SLEEP] = {0, 0, 0, 0}, - [RegOpMode::MODE_STDBY] = {RegIrqFlags::LOW_BAT, 0, 0, 0}, - [RegOpMode::MODE_FSTX] = {RegIrqFlags::LOW_BAT, - RegIrqFlags::PILL_LOCK, 0, 0}, - [RegOpMode::MODE_TX] = {RegIrqFlags::LOW_BAT, - RegIrqFlags::PILL_LOCK, 0, 0}, - [RegOpMode::MODE_FSRX] = {RegIrqFlags::LOW_BAT, - RegIrqFlags::PILL_LOCK, 0, 0}, - [RegOpMode::MODE_RX] = - {RegIrqFlags::LOW_BAT, RegIrqFlags::PILL_LOCK, - RegIrqFlags::TIMEOUT, - RegIrqFlags::RSSI | RegIrqFlags::PREAMBLE_DETECT}, - }, - [5] = { - [RegOpMode::MODE_SLEEP] = {0, 0, 0, 0}, - [RegOpMode::MODE_STDBY] = {0, 0, 0, RegIrqFlags::MODE_READY}, - [RegOpMode::MODE_FSTX] = {0, RegIrqFlags::PILL_LOCK, 0, - RegIrqFlags::MODE_READY}, - - [RegOpMode::MODE_TX] = {0, RegIrqFlags::PILL_LOCK, 0, - RegIrqFlags::MODE_READY}, - [RegOpMode::MODE_FSRX] = {0, RegIrqFlags::PILL_LOCK, 0, - RegIrqFlags::MODE_READY}, - [RegOpMode::MODE_RX] = {0, RegIrqFlags::PILL_LOCK, 0, - RegIrqFlags::MODE_READY}, - }}; } // namespace Fsk /** @@ -922,18 +795,6 @@ enum Registers REG_AGC_PILL = 0x70, }; -static constexpr int DIO_MAPPINGS[6][4] = { - [0] = {RegIrqFlags::RX_DONE, RegIrqFlags::TX_DONE, RegIrqFlags::CAD_DONE, - 0}, - [1] = {RegIrqFlags::RX_TIMEOUT, RegIrqFlags::FHSS_CHANGE_CHANNEL, - RegIrqFlags::CAD_DETECTED, 0}, - [2] = {RegIrqFlags::FHSS_CHANGE_CHANNEL, RegIrqFlags::FHSS_CHANGE_CHANNEL, - RegIrqFlags::FHSS_CHANGE_CHANNEL, 0}, - [3] = {RegIrqFlags::CAD_DONE, RegIrqFlags::VALID_HEADER, - RegIrqFlags::PAYLOAD_CRC_ERROR, 0}, - [4] = {RegIrqFlags::CAD_DETECTED, 0, 0, 0}, - [5] = {0, 0, 0, 0}}; - } // namespace Lora } // namespace SX1278 diff --git a/src/shared/radio/SX1278/SX1278Fsk.cpp b/src/shared/radio/SX1278/SX1278Fsk.cpp index 087b79b3e..f56b3c912 100644 --- a/src/shared/radio/SX1278/SX1278Fsk.cpp +++ b/src/shared/radio/SX1278/SX1278Fsk.cpp @@ -295,32 +295,6 @@ void SX1278Fsk::rateLimitTx() } } -DioMask SX1278Fsk::getDioMaskFromIrqFlags(IrqFlags flags, Mode mode, - DioMapping mapping) -{ - DioMask dio_mask; - - if (DIO_MAPPINGS[0][mode][mapping.getMapping(Dio::DIO0)] & flags) - dio_mask.set(Dio::DIO0); - - if (DIO_MAPPINGS[1][mode][mapping.getMapping(Dio::DIO1)] & flags) - dio_mask.set(Dio::DIO1); - - if (DIO_MAPPINGS[2][mode][mapping.getMapping(Dio::DIO2)] & flags) - dio_mask.set(Dio::DIO2); - - if (DIO_MAPPINGS[3][mode][mapping.getMapping(Dio::DIO3)] & flags) - dio_mask.set(Dio::DIO3); - - if (DIO_MAPPINGS[4][mode][mapping.getMapping(Dio::DIO4)] & flags) - dio_mask.set(Dio::DIO4); - - if (DIO_MAPPINGS[5][mode][mapping.getMapping(Dio::DIO5)] & flags) - dio_mask.set(Dio::DIO5); - - return dio_mask; -} - ISX1278::IrqFlags SX1278Fsk::getIrqFlags() { SPITransaction spi(getSpiSlave()); diff --git a/src/shared/radio/SX1278/SX1278Fsk.h b/src/shared/radio/SX1278/SX1278Fsk.h index 8210ad1d2..be110c8c5 100644 --- a/src/shared/radio/SX1278/SX1278Fsk.h +++ b/src/shared/radio/SX1278/SX1278Fsk.h @@ -194,9 +194,6 @@ public: private: void rateLimitTx(); - SX1278::DioMask getDioMaskFromIrqFlags(IrqFlags flags, Mode mode, - SX1278::DioMapping mapping) override; - IrqFlags getIrqFlags() override; void resetIrqFlags(IrqFlags flags) override; diff --git a/src/shared/radio/SX1278/SX1278Lora.cpp b/src/shared/radio/SX1278/SX1278Lora.cpp index 7ffa2970d..5948b78d8 100644 --- a/src/shared/radio/SX1278/SX1278Lora.cpp +++ b/src/shared/radio/SX1278/SX1278Lora.cpp @@ -360,34 +360,6 @@ void SX1278Lora::writeFifo(uint8_t addr, uint8_t *src, uint8_t size) spi.writeRegisters(REG_FIFO, src, size); } -SX1278::DioMask SX1278Lora::getDioMaskFromIrqFlags(IrqFlags flags, Mode _mode, - SX1278::DioMapping mapping) -{ - // In LoRa the mode doesn't matter for IRQs - (void)_mode; - DioMask dio_mask; - - if (DIO_MAPPINGS[0][mapping.getMapping(Dio::DIO0)] & flags) - dio_mask.set(Dio::DIO0); - - if (DIO_MAPPINGS[1][mapping.getMapping(Dio::DIO1)] & flags) - dio_mask.set(Dio::DIO1); - - if (DIO_MAPPINGS[2][mapping.getMapping(Dio::DIO2)] & flags) - dio_mask.set(Dio::DIO2); - - if (DIO_MAPPINGS[3][mapping.getMapping(Dio::DIO3)] & flags) - dio_mask.set(Dio::DIO3); - - if (DIO_MAPPINGS[4][mapping.getMapping(Dio::DIO4)] & flags) - dio_mask.set(Dio::DIO4); - - if (DIO_MAPPINGS[5][mapping.getMapping(Dio::DIO5)] & flags) - dio_mask.set(Dio::DIO5); - - return dio_mask; -} - ISX1278::IrqFlags SX1278Lora::getIrqFlags() { SPITransaction spi(getSpiSlave()); diff --git a/src/shared/radio/SX1278/SX1278Lora.h b/src/shared/radio/SX1278/SX1278Lora.h index 77994f8df..94159b590 100644 --- a/src/shared/radio/SX1278/SX1278Lora.h +++ b/src/shared/radio/SX1278/SX1278Lora.h @@ -191,9 +191,6 @@ private: void readFifo(uint8_t addr, uint8_t *dst, uint8_t size); void writeFifo(uint8_t addr, uint8_t *src, uint8_t size); - SX1278::DioMask getDioMaskFromIrqFlags(IrqFlags flags, Mode mode, - SX1278::DioMapping mapping) override; - IrqFlags getIrqFlags() override; void resetIrqFlags(IrqFlags flags) override; diff --git a/src/tests/radio/sx1278/fsk/test-sx1278-bench-gui.cpp b/src/tests/radio/sx1278/fsk/test-sx1278-bench-gui.cpp index e098f4150..a4b85cc60 100644 --- a/src/tests/radio/sx1278/fsk/test-sx1278-bench-gui.cpp +++ b/src/tests/radio/sx1278/fsk/test-sx1278-bench-gui.cpp @@ -61,19 +61,19 @@ using mosi = interfaces::spi4::mosi; void __attribute__((used)) SX1278_IRQ_DIO0() { if (sx1278) - sx1278->handleDioIRQ(SX1278Fsk::Dio::DIO0); + sx1278->handleDioIRQ(); } void __attribute__((used)) SX1278_IRQ_DIO1() { if (sx1278) - sx1278->handleDioIRQ(SX1278Fsk::Dio::DIO1); + sx1278->handleDioIRQ(); } void __attribute__((used)) SX1278_IRQ_DIO3() { if (sx1278) - sx1278->handleDioIRQ(SX1278Fsk::Dio::DIO3); + sx1278->handleDioIRQ(); } void initBoard() diff --git a/src/tests/radio/sx1278/fsk/test-sx1278-bench-serial.cpp b/src/tests/radio/sx1278/fsk/test-sx1278-bench-serial.cpp index 5d00127ed..6bbfaa3c3 100644 --- a/src/tests/radio/sx1278/fsk/test-sx1278-bench-serial.cpp +++ b/src/tests/radio/sx1278/fsk/test-sx1278-bench-serial.cpp @@ -56,32 +56,22 @@ using mosi = interfaces::spi4::mosi; #error "Target not supported" #endif -volatile int dio0_cnt = 0; -volatile int dio1_cnt = 0; -volatile int dio3_cnt = 0; - void __attribute__((used)) SX1278_IRQ_DIO0() { if (sx1278) - sx1278->handleDioIRQ(SX1278Fsk::Dio::DIO0); - - dio0_cnt++; + sx1278->handleDioIRQ(); } void __attribute__((used)) SX1278_IRQ_DIO1() { if (sx1278) - sx1278->handleDioIRQ(SX1278Fsk::Dio::DIO1); - - dio1_cnt++; + sx1278->handleDioIRQ(); } void __attribute__((used)) SX1278_IRQ_DIO3() { if (sx1278) - sx1278->handleDioIRQ(SX1278Fsk::Dio::DIO3); - - dio3_cnt++; + sx1278->handleDioIRQ(); } void initBoard() @@ -146,14 +136,11 @@ int main() "Corrupted packets: %d\n" "Packet loss: %.2f %%\n" "RSSI: %.2f dBm\n" - "FEI: %.2f dBm\n" - "dio0: %d\n" - "dio1: %d\n" - "dio3: %d\n", + "FEI: %.2f dBm\n", static_cast<float>(stats.txBitrate()) / 1000.0f, stats.sent_count, static_cast<float>(stats.rxBitrate()) / 1000.0f, stats.recv_count, stats.corrupted_count, 0.0f /* TODO: Packet loss */, stats.rssi, - stats.fei, dio0_cnt, dio1_cnt, dio3_cnt); + stats.fei); miosix::Thread::sleep(2000); } diff --git a/src/tests/radio/sx1278/fsk/test-sx1278-bidir.cpp b/src/tests/radio/sx1278/fsk/test-sx1278-bidir.cpp index 91ea18439..0472f464d 100644 --- a/src/tests/radio/sx1278/fsk/test-sx1278-bidir.cpp +++ b/src/tests/radio/sx1278/fsk/test-sx1278-bidir.cpp @@ -63,19 +63,19 @@ SX1278Fsk *sx1278 = nullptr; void __attribute__((used)) SX1278_IRQ_DIO0() { if (sx1278) - sx1278->handleDioIRQ(SX1278Fsk::Dio::DIO0); + sx1278->handleDioIRQ(); } void __attribute__((used)) SX1278_IRQ_DIO1() { if (sx1278) - sx1278->handleDioIRQ(SX1278Fsk::Dio::DIO1); + sx1278->handleDioIRQ(); } void __attribute__((used)) SX1278_IRQ_DIO3() { if (sx1278) - sx1278->handleDioIRQ(SX1278Fsk::Dio::DIO3); + sx1278->handleDioIRQ(); } void initBoard() diff --git a/src/tests/radio/sx1278/fsk/test-sx1278-mavlink.cpp b/src/tests/radio/sx1278/fsk/test-sx1278-mavlink.cpp index 17d51d4b8..109315e1b 100644 --- a/src/tests/radio/sx1278/fsk/test-sx1278-mavlink.cpp +++ b/src/tests/radio/sx1278/fsk/test-sx1278-mavlink.cpp @@ -79,19 +79,19 @@ SX1278Fsk* sx1278 = nullptr; void __attribute__((used)) SX1278_IRQ_DIO0() { if (sx1278) - sx1278->handleDioIRQ(SX1278Fsk::Dio::DIO0); + sx1278->handleDioIRQ(); } void __attribute__((used)) SX1278_IRQ_DIO1() { if (sx1278) - sx1278->handleDioIRQ(SX1278Fsk::Dio::DIO1); + sx1278->handleDioIRQ(); } void __attribute__((used)) SX1278_IRQ_DIO3() { if (sx1278) - sx1278->handleDioIRQ(SX1278Fsk::Dio::DIO3); + sx1278->handleDioIRQ(); } void initBoard() diff --git a/src/tests/radio/sx1278/lora/test-sx1278-bidir.cpp b/src/tests/radio/sx1278/lora/test-sx1278-bidir.cpp index 285828cac..79ee1725d 100644 --- a/src/tests/radio/sx1278/lora/test-sx1278-bidir.cpp +++ b/src/tests/radio/sx1278/lora/test-sx1278-bidir.cpp @@ -66,19 +66,19 @@ SX1278Lora *sx1278 = nullptr; void __attribute__((used)) SX1278_IRQ_DIO0() { if (sx1278) - sx1278->handleDioIRQ(SX1278Lora::Dio::DIO0); + sx1278->handleDioIRQ(); } void __attribute__((used)) SX1278_IRQ_DIO1() { if (sx1278) - sx1278->handleDioIRQ(SX1278Lora::Dio::DIO1); + sx1278->handleDioIRQ(); } void __attribute__((used)) SX1278_IRQ_DIO3() { if (sx1278) - sx1278->handleDioIRQ(SX1278Lora::Dio::DIO3); + sx1278->handleDioIRQ(); } void initBoard() diff --git a/src/tests/radio/sx1278/lora/test-sx1278-mavlink.cpp b/src/tests/radio/sx1278/lora/test-sx1278-mavlink.cpp index ce217cb63..3b9426541 100644 --- a/src/tests/radio/sx1278/lora/test-sx1278-mavlink.cpp +++ b/src/tests/radio/sx1278/lora/test-sx1278-mavlink.cpp @@ -86,19 +86,19 @@ SX1278Lora* sx1278 = nullptr; void __attribute__((used)) SX1278_IRQ_DIO0() { if (sx1278) - sx1278->handleDioIRQ(SX1278Lora::Dio::DIO0); + sx1278->handleDioIRQ(); } void __attribute__((used)) SX1278_IRQ_DIO1() { if (sx1278) - sx1278->handleDioIRQ(SX1278Lora::Dio::DIO1); + sx1278->handleDioIRQ(); } void __attribute__((used)) SX1278_IRQ_DIO3() { if (sx1278) - sx1278->handleDioIRQ(SX1278Lora::Dio::DIO3); + sx1278->handleDioIRQ(); } void initBoard() diff --git a/src/tests/radio/sx1278/lora/test-sx1278-simple.cpp b/src/tests/radio/sx1278/lora/test-sx1278-simple.cpp index a651765e0..02bbe5489 100644 --- a/src/tests/radio/sx1278/lora/test-sx1278-simple.cpp +++ b/src/tests/radio/sx1278/lora/test-sx1278-simple.cpp @@ -62,19 +62,19 @@ SX1278Lora *sx1278 = nullptr; void __attribute__((used)) SX1278_IRQ_DIO0() { if (sx1278) - sx1278->handleDioIRQ(SX1278Lora::Dio::DIO0); + sx1278->handleDioIRQ(); } void __attribute__((used)) SX1278_IRQ_DIO1() { if (sx1278) - sx1278->handleDioIRQ(SX1278Lora::Dio::DIO1); + sx1278->handleDioIRQ(); } void __attribute__((used)) SX1278_IRQ_DIO3() { if (sx1278) - sx1278->handleDioIRQ(SX1278Lora::Dio::DIO3); + sx1278->handleDioIRQ(); } void initBoard() -- GitLab