Hi there. I’ve recently modified my Particle Electron code to do a lot more sleeping, trying to get 30 days life off the battery. Depending on how active I expect to be, my code either calls:
System.sleep(WKP, RISING, sleepForSeconds, SLEEP_NETWORK_STANDBY)
with a sleep duration of up to 10 minutes, or:
System.sleep(SLEEP_MODE_DEEP, sleepForSeconds)
, with a sleep duration of up to 2 hours.
When my code wakes up and decides it needs to send something it calls:
Particle.connect();
waitFor(Particle.connected, 60);
…and then:
Particle.publish("thing", "thing", 60, PRIVATE);
I’m never interested in downlink stuff from the cloud, only uplink Publish
es, hence I don’t call Particle.process()
.
However, with this build on multiple devices I’m finding that around 30% of them mysteriously fail to send stuff to the Particle cloud after a little while. It may, of course, be my bug but I’m having immense trouble finding it and, browsing here, I see there is some suggestion of an upper limit on the sleep time one can use and still expect to successfully publish afterwards. So my question is:
Is there a limitation on how long one can sleep a Particle Electron board and then expect to successfully connect (within 60 seconds) and publish (within 60 seconds) to the Particle cloud afterwards?
This is with firmware 0.5.1 and MANUAL mode.