Electron, 200 sec delay, and NO_ACK


I have an Electron application that periodically Publishes a 130 octet message via Particle Cloud. Timing indicates that there is roughly a 200 msec delay for that process to complete before execution of the application program continues.

First, is this to be expected? Seems excessive for about a 1kbit UDP packet on 3G.

Second, I attempted to use the optional NO_ACK parameter for Particle.publish and got a compile time error running under 0.4.8. An acknowledgement on 3G could easily account for the 200 msec delay.




The NO_ACK feature was added in 0.5.0, so you need to be targeting 0.5.0 in your build. In Particle Build (Web IDE), if you select the device it’s in the “building with firmware" popup menu. In Particle Dev (Atom IDE) you can’t do it yet, but if you have the Particle CLI you can specify the system version you want to build against in the command line.

Note that this is different from the version of the system firmware you have flashed to your Electron; the targeted version is the minimum system firmware version that your application can run on. In this case, it has to be 0.5.0 since that’s the version that has the NO_ACK feature.


Thank you.


To avoid your application from being blocked by system processing, look up SYSTEM_THREAD in the docs - it runs all system operations on a separate thread.


Anyone know when 0.5 will be released and how to upgrade my Electrons?



0.5.0 was released last week. It was announced here https://github.com/spark/firmware/releases/tag/v0.5.0 and in the community here Particle Firmware Updates Thread