Back to the Gcode Dictionary
M997: Perform in-application firmware update
- Snnn Firmware module number(s), default 0
- Bnnn CAN address of the board to be updated (RRF3, Duet 3 only)
- P"filename" Filename of firmware binary to use (RRF 3.3beta2 and later)
- M997 S0:1 - update firmware modules 0 and 1
This command triggers a firmware update if the necessary files are present on the SD card. In RepRapFirmware on the Duet series, module numbers are as follows:
- 0 - main firmware, filename sys/RepRapFirmware.bin (older Duets) or sys/Duet2CombinedFirmware (Duet 2). File sys/iap.bin (Duet) or sys/iap4e.bin (Duet 2) must also be present.
- 1 - web server firmware, filename sys/DuetWiFiServer.bin (Duet 2 WiFi only)
- 2 - web server file system, filename sys/DuetWebControl.bin (needed only when using RepRapFirmware 1.18 series and earlier for Duet 2 WiFi)
- 3 - put the WiFi module into bootloader mode, so that firmware can be uploaded directly via its serial port. Also used to update bootloader on CAN-connected Duet 3 expansion boards.
- 4 - PanelDue firmware (RRF 3.2-beta4.1 and later; see PanelDue firmware update instructions).
On Duet 3 only this command take an optional B (board number) parameter which is the CAN address of the board to be updated, default 0 (i.e. main board).
The optional P parameter can be used to provide the filename of the file to be used for updating a module. This can either only be a filename in which case it will prepend directories.firmware to it (0:/firmware) or can be an absolute path to the file to be used. It is not allowed to use P parameter and multiple modules, e.g. S1:4. (RRF 3.3beta2 and later)
See Installing and Updating Firmware for detailed documentation.