SEMI AUTO MODE will it reconnect?

I have an app for an electron that uses the semi-automatic mode. Once connected if the signal goes out, will it attempt to reconnect to the cloud and cell?

Any limitations I should be aware of?

SEMI_AUTOMATIC should try to reestablish the connection state it was in prior the connection loss.

But running your own tests for your possible edge cases might provide you with more detail.


  • is your code intending to run any of these states (offline, Cellular connected, cloud connected) individually?
  • is your code intending to sleep (Stop and/or Standby, with/without SLEEP_NETWORK_STANDBY) the device?
  • with actively cutting the connection (cloud and/or Cellular)?
  • with actively reconnecting after wake?


The code will boot offline, then wait for something to happen and attempt to connect. However it is the intention that once connected if for something that is not a direct disconnect command, like signal loss, I want it to try and reconnect as often as needed…

My code is not intending to sleep. At all. And it will not disconnect at all… Only upon boot.

My connect code is:

void connectCell() {
  if  (Cellular.ready() == false && Cellular.connecting() == false) {		

I don’t know if all the on, connect() and connect() are all necessary or only one.

Once you issued a Cellular.connect() and/or Particle.connect() command, you need to avoid calling them again, till the request has succeeded or timed out.

Should I only call one or should I call both methods?

Will particle.connect suffice, or do I need both?

I do check the connecting bool to try not to call it again. Should I try something else to prevent it from being called?

Particle.connect() does implicitly call <radio>.connect(), but <radio>.on() is required for some system versions (I haven’t got a clue which do which don’t, so I’d always call it).