OTA Updates
System.disableUpdates()
// System.disableUpdates() example where updates are disabled
// when the device is busy.
int unlockScooter(String arg) {
// scooter is busy, so disable updates
System.disableUpdates();
// ... do the unlock step
// ...
return 0;
}
int parkScooter(String arg) {
// scooter is no longer busy, so enable updates
System.enableUpdates();
// ... do the park step
// ...
return 0;
}
void setup() {
Particle.function("unlockScooter", unlockScooter);
Particle.function("parkScooter", parkScooter);
}
Disables OTA updates on this device. An attempt to begin an OTA update from the cloud will be prevented by the device. When updates are disabled, firmware updates are not delivered to the device unless forced.
Since 1.2.0
Device OS version 1.2.0 introduced enhanced support of
System.disableUpdates()
and System.enableUpdates()
. When running Device OS version 1.2.0
or higher, the device will notify the Device Cloud of its OTA
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.
In addition, a cloud-side system event will be emitted when updates are disabled,
particle/device/updates/enabled
with a data value of false
. This event is sent
only if updates were not already disabled.
Version | Developer Devices | Product |
---|---|---|
Device OS < 1.2.0 | Limited Support | Limited Support |
Device OS >= 1.2.0 | Full support | Full Support |
When updates are disabled, an attempt to send a firmware update to a
device that has called System.disableUpdates()
will result in the
System.updatesPending()
function returning true
.