List of synchronous blocking spark firmware functions for multi-threaded applications


Running system version 0.6.1 on an Electron.

Is there an accurate list somewhere of which spark firmware function calls are synchronous (i.e. will block my app from running for more than a few milliseconds?) when in multi-threaded mode?

Here is the list of such functions provided in the system thread section of Particle firwmare reference documentation:


I have found that this list is incomplete, as there seems to be other functions that also block my app from running for extended periods.

For example, a call to Cellular.getDataUsage() sometimes blocks my app for many seconds (like 10 seconds sometimes). See my post on this here:

Since Cellular.getDataUsage() is NOT listed in the list of synchronous functions even though it is synchronous, I assume that means there are other functions that similarly have been omitted from the list of synchronous functions that are, in fact, synchronous.

Does anyone know of a complete list for such functions?

If not, then I humbly suggest that this be put on the to do list at Particle.


Let me ping someone that might be able to help, @rickkas7 or @ParticleD are you able to assist?