diff --git a/keywords.txt b/keywords.txt index 8109484b..34d077d6 100644 --- a/keywords.txt +++ b/keywords.txt @@ -265,6 +265,10 @@ sendTone KEYWORD2 dropSync KEYWORD2 setTimerFlag KEYWORD2 setInterruptSetup KEYWORD2 +setPacketReceivedAction KEYWORD2 +clearPacketReceivedAction KEYWORD2 +setPacketSentAction KEYWORD2 +clearPacketSentAction KEYWORD2 # BellModem setModem KEYWORD2 diff --git a/src/protocols/PhysicalLayer/PhysicalLayer.cpp b/src/protocols/PhysicalLayer/PhysicalLayer.cpp index e0652bf6..1e9d3584 100644 --- a/src/protocols/PhysicalLayer/PhysicalLayer.cpp +++ b/src/protocols/PhysicalLayer/PhysicalLayer.cpp @@ -395,11 +395,20 @@ int16_t PhysicalLayer::setDIOMapping(uint32_t pin, uint32_t value) { return(RADIOLIB_ERR_UNSUPPORTED); } -void PhysicalLayer::setDio1Action(void (*func)(void)) { +void PhysicalLayer::setPacketReceivedAction(void (*func)(void)) { (void)func; } -void PhysicalLayer::clearDio1Action() { +void PhysicalLayer::clearPacketReceivedAction() { + +} + +void PhysicalLayer::setPacketSentAction(void (*func)(void)) { + (void)func; +} + +void PhysicalLayer::clearPacketSentAction() { + } #if defined(RADIOLIB_INTERRUPT_TIMING) diff --git a/src/protocols/PhysicalLayer/PhysicalLayer.h b/src/protocols/PhysicalLayer/PhysicalLayer.h index a4375320..4e9ceb51 100644 --- a/src/protocols/PhysicalLayer/PhysicalLayer.h +++ b/src/protocols/PhysicalLayer/PhysicalLayer.h @@ -327,15 +327,26 @@ class PhysicalLayer { virtual int16_t setDIOMapping(uint32_t pin, uint32_t value); /*! - \brief Sets interrupt service routine to call when DIO1 activates. + \brief Sets interrupt service routine to call when a packet is received. \param func ISR to call. */ - virtual void setDio1Action(void (*func)(void)); + virtual void setPacketReceivedAction(void (*func)(void)); /*! - \brief Clears interrupt service routine to call when DIO1 activates. + \brief Clears interrupt service routine to call when a packet is received. */ - virtual void clearDio1Action(); + virtual void clearPacketReceivedAction(); + + /*! + \brief Sets interrupt service routine to call when a packet is sent. + \param func ISR to call. + */ + virtual void setPacketSentAction(void (*func)(void)); + + /*! + \brief Clears interrupt service routine to call when a packet is sent. + */ + virtual void clearPacketSentAction(); #if defined(RADIOLIB_INTERRUPT_TIMING)