Electron Sleep Modes Overview

Howdy! Been reading into electron sleep modes in the datasheet and was looking for a little clarity.

From what I understand:

  • System.sleep(long seconds) puts the cell modem in standby while application code keeps running? Or is this only for photon? The datasheet is not clear on electron behavior. Is it equivalent to Cellular.on() and Cellular.off()?

  • System.sleep(uint16_t wakeUpPin, uint16_t edgeTriggerMode, long seconds) stops application code (but will resume where it left off when it leaves sleep mode). This also turns the cell modem off. When SLEEP_NETWORK_STANDBY is given, the cell modem is left on but in standby for higher idle consumption but quicker cloud reconnection.

  • System.sleep(SLEEP_MODE_DEEP, long seconds) puts the uC into standby, stopping application code, losing memory and restarting from the beginning. This also turns the cell modem off. When SLEEP_NETWORK_STANDBY is given, the cell modem is left on but in standby for higher idle consumption but quicker cloud reconnection.

Is that right?

Also the datasheet is not clear on which of these call results in which power consumption in the table. Am I correct in saying:

Operating Current (uC on, Cellular OFF) == just a Cellular.Off()
Sleep Current (4.2V LiPo, Cellular OFF) == System.sleep(uint16_t wakeUpPin, uint16_t edgeTriggerMode, long seconds)
Deep Sleep Current (4.2V LiPo, Cellular OFF) == System.sleep(SLEEP_MODE_DEEP, long seconds)

And that in the currents where 4.2V LiPo is specified, I won’t get these draws when powering via Vin?

Thanks!

1 Like

Check this out :smiley:

Thanks, gave that one a read. It only really addresses SLEEP_MODE_DEEP, whereas I’m more interested in the stop mode or just plain old System.sleep(long seconds)

1 Like