This driver is a stripped down version of the Radiohead 1.45 driver, and covers fewer radios. Threading and an event queue have been added to make the ISR's more stable across architectures. Specifically The STM32L4 parts
Dependents: Threaded_LoRa_Modem
Diff: RH_RF95.h
- Revision:
- 3:6ffa8c82a713
- Parent:
- 1:dfeb5e8b199a
--- a/RH_RF95.h Sat May 29 19:02:55 2021 +0000 +++ b/RH_RF95.h Mon May 31 02:49:19 2021 +0000 @@ -11,7 +11,7 @@ #ifndef RH_RF95_h #define RH_RF95_h - +#include "PinNames.h" #include <RHSPIDriver.h> // This is the maximum number of interrupts the driver can support @@ -550,7 +550,7 @@ /// \return true if sleep mode was successfully entered. virtual bool sleep(); - void handleInterrupt(); + void handleInterrupt(); protected: /// This is a low level function to handle the interrupts for one instance of RH_RF95. @@ -565,6 +565,7 @@ void clearRxBuf(); private: +// static void startISR(); /// Low level interrupt service routine for device connected to interrupt 0 static void isr0(); @@ -583,6 +584,9 @@ #if (RH_PLATFORM == RH_PLATFORM_MBED) /// The configured interrupt pin connected to this instance InterruptIn _interruptPin; + Thread _isrThread; + static void manageISR(); +// bool doISR; #else /// The configured interrupt pin connected to this instance uint8_t _interruptPin;