Hi, trying to read from HUG (Hw User Guide), AT Commands Ref Guide as well as SUG (Telit Modules Sw User Guide) about my options to save power during idle periods. But sorry, could not get a clear picture.
Scenario here is to take a measurement once per hour, and send the results. 59/60 minutes is just idle time and potential for saving power. But I would like to stay alert for possible incoming SMS, nothing else. And I want to be absolutely sure to wake up next time, i.e. no "suicide" procedures, or even risk thereof, can be tolerated.
What kind of AT command sequences would be recommended to achieve this?
Do I need to have an external timer ticking at once per hour rate, to be positively sure about waking up when it tis the time?
Grateful for any advice, or experienced views, thank you.
there are basically two settings that are equivalents with some small difference.
1) AT+CFUN=5 enables the power saving. The module enters in power saving mode, once DTR line is OFF (2.8V on the module) and it exits once DTR is ON (0V).
During the power saving the module can exit temporarly from this state, receiving an incoming call or incoming SMS (only setting AT+CNMI) or any other event described in the SW User Guide.
2) AT+CFUN=0 enables the power saving and enters immediately in this state. To exit, set RTS from ON to OFF (wait for CTS indication) then again to ON.
During the power saving the module can exit completely from this state (AT+CFUN=1),
receiving an incoming call or incoming SMS (only setting AT+CNMI) or any
other event described in the SW User Guide.
Normally the state and DTR or RTS lines are controlled by your external microcontroller.
If you need an internal timer, you can use the RTC and alarm functions of the module.
Thanks Andrea, for your comments. I see I should have been a bit more precise. There is no external microcontroller 🙂 So I would like to rely entirely on internal Python resources. And hopefully no RTS, DTR or similar handshakes.
But the question maybe remains, if there should be an external timer that forces a reset or powerup in case the internal timer fails.
If Python then there is MOD.powerSaving which is similar to +CFUN=0 mode. You have a timeout and external event to wake up between.
Thanks Cosmin, for this idea. Do you know the behaviour to more detail than described in "Telit Easy Script Python" rev 15, Page 52 of 116:
1. Will GPIO states be preserved during MOD.powerSaving state?
2. Should watchdog be disabled or could it be used as another precaution to
restart the script? Say I issue MOD.powerSaving(100) and and just prior to that
also set watchdog timeout e.g. at 120?
3. Can incoming SMS wake up the module during MOD.powerSaving state?
1. Can be easily checked but because we want minimal power consumption is expected to not use any GPIO during power saving, make them input. If you need state preservation use external latches.
2. I suspect the Python machine is completely paused so the watchdog doesn’t matter. Anyway a MOD.watchdogDisable before MOD.powerSaving won’t hurt.
3. Yes of course, simply set the corresponding URC.
Hit enter to search or ESC to close
Knowledge Base & Download Zone