[CC1101] Added methods to clear GDO action

This commit is contained in:
jgromes 2019-12-29 10:36:24 +01:00
parent fdb8993336
commit dedcd4163f
2 changed files with 21 additions and 0 deletions

View file

@ -191,6 +191,10 @@ void CC1101::setGdo0Action(void (*func)(void), uint8_t dir) {
attachInterrupt(digitalPinToInterrupt(_mod->getIrq()), func, dir);
}
void CC1101::clearGdo0Action() {
detachInterrupt(digitalPinToInterrupt(_mod->getIrq()));
}
void CC1101::setGdo2Action(void (*func)(void), uint8_t dir) {
if(_mod->getGpio() != RADIOLIB_PIN_UNUSED) {
return;
@ -199,6 +203,13 @@ void CC1101::setGdo2Action(void (*func)(void), uint8_t dir) {
attachInterrupt(digitalPinToInterrupt(_mod->getGpio()), func, dir);
}
void CC1101::clearGdo2Action() {
if(_mod->getGpio() != RADIOLIB_PIN_UNUSED) {
return;
}
detachInterrupt(digitalPinToInterrupt(_mod->getGpio()));
}
int16_t CC1101::startTransmit(uint8_t* data, size_t len, uint8_t addr) {
// check packet length
if(len > CC1101_MAX_PACKET_LENGTH) {

View file

@ -601,6 +601,11 @@ class CC1101: public PhysicalLayer {
*/
void setGdo0Action(void (*func)(void), uint8_t dir = FALLING);
/*!
\brief Clears interrupt service routine to call when GDO0 activates.
*/
void clearGdo0Action();
/*!
\brief Sets interrupt service routine to call when GDO2 activates.
@ -610,6 +615,11 @@ class CC1101: public PhysicalLayer {
*/
void setGdo2Action(void (*func)(void), uint8_t dir = FALLING);
/*!
\brief Clears interrupt service routine to call when GDO0 activates.
*/
void clearGdo2Action();
/*!
\brief Interrupt-driven binary transmit method.
Overloads for string-based transmissions are implemented in PhysicalLayer.