System calls
dfu()
// PROTOTYPES
void dfu(SystemResetFlags flags = SystemResetFlags());
void dfu(bool persist);
The device will enter DFU-mode to allow new user firmware to be refreshed. DFU mode is cancelled by
- flashing firmware to the device using dfu-util, specifying the
:leaveoption, or - a system reset
Since 2.0.0:
SystemResetFlagscan be specified in Device OS 2.0.0 and later. There is currently two applicable flags:RESET_NO_WAITreset immediately and do not attempt to notify the cloud that a reset is about to occur.RESET_PERSIST_DFUre-enter DFU mode even after reset until firmware is flashed.
In Device OS 2.0.0 and later, a call to System.dfu() defaults to notifying the cloud of a pending reset and waiting for an acknowledgement. To prevent this, use the RESET_NO_WAIT flag.
System.dfu(true); // persistent DFU mode - will enter DFU after a reset until firmware is flashed.
To make DFU mode permanent - so that it continues to enter DFU mode even after a reset until
new firmware is flashed, pass true for the persist flag.