OTA Updates
System.enableUpdates()
// System.enableUpdates() example where updates are disabled on startup
SYSTEM_MODE(SEMI_AUTOMATIC);
void setup() {
System.disableUpdates(); // updates are disabled most of the time
Particle.connect(); // now connect to the cloud
}
bool isSafeToUpdate() {
// determine if the device is in a good state to receive updates.
// In a real application, this function would inspect the device state
// to determine if it is busy or not.
return true;
}
void loop() {
if (isSafeToUpdate()) {
// Calling System.enableUpdates() when updates are already enabled
// is safe, and doesn't use any data.
System.enableUpdates();
}
else {
// Calling System.disableUpdates() when updates are already disabled
// is safe, and doesn't use any data.
System.disableUpdates();
}
}
Enables firmware updates on this device. Updates are enabled by default when the device starts.
Calling this function marks the device as available for updates. When updates are enabled, updates triggered from the Device Cloud are delivered to the device.
In addition, a cloud-side system event will be emitted when updates are
enabled,
particle/device/updates/enabled
with a data value of true
. This event is sent
only if updates were not already enabled.
Since 1.2.0
Device OS version 1.2.0 introduced enhanced support of
System.disableUpdates()
and System.enableUpdates()
. If running 1.2.0
or higher, the device will notify the Device Cloud of its OTA update
availability, which is visible in the
Console
as well as queryable via the REST
API. The cloud
will use this information to deliver Intelligent Firmware
Releases.
Version | Developer Devices | Product |
---|---|---|
Device OS < 1.2.0 | Limited Support | Limited Support |
Device OS >= 1.2.0 | Full support | Full Support |