Mike,
I’m not setting any wake pins, so there’s nothing to delete. I think it’s being automactially set by the sleep call’s wake mode. In this application, I need to unset the wake pin dynamically.
If I go by this documentation here:
#else
if (deepsleep) {
// for mDot, XBEE_DIO7 pin is the only pin that can wake the processor from deepsleep
// it is automatically configured when INTERRUPT or RTC_ALARM_OR_INTERRUPT is the wakeup source and deepsleep is true in the mDot::sleep call
} else {
// configure XBEE_DIO7 pin as the pin that will wake the mDot from low power modes
// other pins can be confgured instead: XBEE_DIO2-6, XBEE_DI8, XBEE_DIN
dot->setWakePin(XBEE_DIO7);
}
So whether the Wake Pin is configured as InterruptIn is set by the dot->sleep() call. Could the problem be that the moment you do a <mDot::INTERRUPT>, it sets the wake up pin. It never gets “unset” when I subsequently perform a sleep call that uses <mDot::RTC_ALARM> type wake mode. So the first time a program executes a <mDot::INTERRUPT>, the wake-up pin is set as interrupt forever.
There is a setWakePin() function, but there is no unsetWakePin() function.