From 5d365d4da7b8e3d0643520cd2ca7cc09ce1a6500 Mon Sep 17 00:00:00 2001 From: jgromes Date: Sun, 26 Mar 2023 22:20:08 +0200 Subject: [PATCH] [SX127x] Added PHY startReceive (#700) --- src/modules/SX127x/SX127x.cpp | 6 ++++++ src/modules/SX127x/SX127x.h | 15 +++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/modules/SX127x/SX127x.cpp b/src/modules/SX127x/SX127x.cpp index dace7ae0..29193484 100644 --- a/src/modules/SX127x/SX127x.cpp +++ b/src/modules/SX127x/SX127x.cpp @@ -423,6 +423,12 @@ int16_t SX127x::startReceive(uint8_t len, uint8_t mode) { return(setMode(mode)); } +int16_t SX127x::startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len) { + (void)irqFlags; + (void)irqMask; + return(startReceive((uint8_t)len, (uint8_t)mode)); +} + void SX127x::setDio0Action(void (*func)(void), RADIOLIB_INTERRUPT_STATUS dir) { _mod->attachInterrupt(RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(_mod->getIrq()), func, dir); } diff --git a/src/modules/SX127x/SX127x.h b/src/modules/SX127x/SX127x.h index e40a5de4..1b81e698 100644 --- a/src/modules/SX127x/SX127x.h +++ b/src/modules/SX127x/SX127x.h @@ -830,6 +830,21 @@ class SX127x: public PhysicalLayer { \returns \ref status_codes */ int16_t startReceive(uint8_t len = 0, uint8_t mode = RADIOLIB_SX127X_RXCONTINUOUS); + + /*! + \brief Interrupt-driven receive method, implemented for compatibility with PhysicalLayer. + + \param mode Receive mode to be used. + + \param irqFlags Ignored. + + \param irqMask Ignored. + + \param len Expected length of packet to be received. Required for LoRa spreading factor 6. + + \returns \ref status_codes + */ + int16_t startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len); /*! \brief Reads data that was received after calling startReceive method. This method reads len characters.