A client has an existing WMP100-based product with an Open-AT application to which they’d like to add a “sleep” mode - to conserve battery power.
I have implemented a sequence of sending AT+CFUN=0 to shut down the GSM, starting a timer for wakeup, then AT+W32K=1 to enter “sleep”.
When the timer expires, I have a reverse sequence doing AT+W32K=0 and AT+CFUN=1,0 to restart the GSM (without a reboot).
This works for many hours. The power supply current looks like this:
But, after a while (hours) it fails to go to sleep:
The AT+CFUN=0 does shut down the GSM, but AT+W32K=1 doesn’t enter sleep
Once this has happened, AT+W32K=0 has no effect, and AT+CFUN=1,0 does not restart the GSM:
I get +CREG:2 after AT+CFUN=1,0 but never anything further - and the current profile clearly shows that the GSM has not started.
This situation will continue indefinitely until the unit is restarted.
So something goes wrong with the GSM stack meaning that it can’t sleep and it can’t wake up again
What could this be