Firmware Upgrade
Service
/dji/firmware/upgrade/start
info
This service might take a few seconds before returning. This is because it will automatically turn the aircraft on
before calling ota_create
to improve the chance of success of the firmware task.
Description | Start remote upgrade task. Returns as soon as the DJI Dock acknowledge the upgrade request. |
---|---|
Request | UpgradeStart |
Response | None |
DJI Bindings | Service ota_create |
/dji/firmware/upgrade/start/advanced
Description | Start remote upgrade task with full control and direct call to DJI Cloud API (e.g. no aircraft autostart). |
---|---|
Request | []UpgradeStartAdvanced |
Response | None |
DJI Bindings | Service ota_create |
/dji/firmware/dock/getSupportedVersion
Description | Return the DJI Dock firmware version supported by the running Robotics Agent. |
---|---|
Request | None |
Response | string |
DJI Bindings | N/A |
/dji/firmware/aircraft/getSupportedVersion
Description | Return the DJI Aircraft firmware version supported by the running Robotics Agent. |
---|---|
Request | None |
Response | string |
DJI Bindings | N/A |
Telemetry
/dji/firmware/upgrade/progress
Description | Progress update on firmware upgrade task |
---|---|
Push | Every ~2s when upgrading |
Type | UpgradeProgress |
DJI Bindings | Event ota_progress |
/dji/firmware/dock/version
Description | Firmware version currently installed on DJI Dock. |
---|---|
Push | Every 2s after DJI Dock rebooted |
Type | string |
DJI Bindings | Dock property firmware_version |
/dji/firmware/dock/isSupported
Description | True id DJI Dock firmware version is supported by the connected Robotics Agent. Please upgrade if false. |
---|---|
Push | Every 2s after DJI Dock rebooted |
Type | bool |
DJI Bindings | Dock property firmware_version |
/dji/firmware/dock/isConsistent
Description | True if all DJI Dock module firmware version are compatible. Please upgrade if false. |
---|---|
Push | Every 2s after DJI Dock rebooted |
Type | bool |
DJI Bindings | Dock property compatible_status |
/dji/firmware/dock/isInstalling
warning
Tests have shown that DJI does not publish this telemetry consistently across all Dock models and firmware versions.
We recommend using the /dji/system/dockState/desc == "firmware upgrading"
instead.
Description | True if a new firmware is currently being installed on DJI Dock. |
---|---|
Push | Every 2s after DJI Dock started upgrading |
Type | bool |
DJI Bindings | Dock property firmware_upgrade_status |
/dji/firmware/dock/wpmz
Description | Dock's Wayline Mission Library (WPMZ) version. |
---|---|
Push | Unknown (documented but not published by DJI) |
Type | string |
DJI Bindings | Dock property wpmz_version |
/dji/firmware/aircraft/version
Description | Firmware version currently installed on DJI Aircraft. |
---|---|
Push | Every 2s after DJI Aircraft rebooted |
Type | string |
DJI Bindings | Aircraft property firmware_version |
/dji/firmware/aircraft/isSupported
Description | True id DJI Aircraft firmware version is supported by the connected Robotics Agent. Please upgrade if false. |
---|---|
Push | Every 2s after DJI Aircraft rebooted |
Type | bool |
DJI Bindings | Aircraft property firmware_version |
/dji/firmware/aircraft/isConsistent
Description | True if all DJI Aircraft module firmware version are compatible. Please upgrade if false. |
---|---|
Push | Every 2s after DJI Aircraft rebooted |
Type | bool |
DJI Bindings | Aircraft property compatible_status |
/dji/firmware/aircraft/isInstalling
warning
Tests have shown that DJI does not publish this telemetry consistently across all Dock models and firmware versions.
We recommend using the /dji/system/dockState/desc == "firmware upgrading"
instead.
Description | True if a new firmware is currently being installed on DJI Aircraft. |
---|---|
Push | Every 2s after DJI Aircraft started upgrading |
Type | bool |
DJI Bindings | Aircraft property firmware_upgrade_status |
/dji/firmware/aircraft/wpmz
Description | Aircraft's Wayline Mission Library (WPMZ) version. |
---|---|
Push | Unknown (documented but not published by DJI) |
Type | string |
DJI Bindings | Aircraft property wpmz_version |
Schemas
UpgradeStart
Key | Type | Description |
---|---|---|
dock | string | Version to install on Dock (e.g. 10.01.3205 , stable ). To install supported version use stable . Remove dock if upgrading Aircraft only. |
aircraft | string | Version to install on Aircraft (e.g. 10.01.3205 , stable ). To install supported version use stable . Remove aircraft if upgrading Dock only. |
allowBeta | bool | Set to true to allow beta firmware install. Can remove allowBeta otherwise. |
Sample
{
"dock": "stable",
"aircraft": "99.99.9930",
"allowBeta": true
}
UpgradeStartAdvanced
Key | Type | Description |
---|---|---|
sn | string | Serial number of the DJI device (i.e. Dock or Aircraft) to upgrade. |
version | string | Firmware version to be installed. |
consistency | bool | Set to true to do a consistency upgrade. Set to false for a normal (i.e. full) upgrade. |
file | FirmwareFile | Firmware file to download & install. |
Sample
{
"sn": "15AKL7HVUJ98UJH8",
"version": "13.00.0702",
"consistency": false,
"file": {
"url": "https://dock-storage-us.dronedeploy.com/dji-dock-firmware/m3d/13.00.0702.zip",
"md5": "8cd946f0c8c720dbe4a913e8059b58e0",
"size": 415689300,
"name": "some-arbitraty-filename.zip"
}
}
FirmwareFile
Key | Type | Description |
---|---|---|
url | string | Download URL to get the firmware file from. |
md5 | string | MD5 checksum of the firmware file. |
size | number | Size of the firmware file in Bytes. |
name | string | Name of the file as downloaded on DJI Dock local storage. Tests seems to indicates the Dock will not re-download a file with the same name twice. |
Sample
{
"url": "https://terra-1-g.djicdn.com/cbcd35598c6a46819472eb8801a4c29e/Offline%20firmware/EA220/14.1/M3D_V13.00.07.02_pro.zip",
"md5": "8cd946f0c8c720dbe4a913e8059b58e0",
"size": 415689300,
"name": "some-arbitrary-filename.zip"
}
UpgradeProgress
Key | Type | Description |
---|---|---|
error | UpgradeError | Error of the upgrade task. |
status | string | Status of the upgrade process. Possible value are "unknown" , "sent" , "progress" , "success" , "paused" , "rejected" , "failed" , "canceled" or "timeout" . |
percentage | number | Percentage of the firmware upgrade task total progress (i.e. status is "success" when this equals 100). |
step | string | Active step of the upgrade task. Should be download at first and install after. |
rate | number | Download rate during download step. Zero otherwise. |
Sample
{
"status": "failed",
"step": "install",
"percentage": 23,
"error": {
"code": 312001,
"message": "failed to update firmware; internal error"
}
}
UpgradeError
Key | Type | Description |
---|---|---|
code | number | Result code returned by DJI Cloud API. 0 means no error. |
message | string | Description of the error code. |
Sample
{
"code": 312001,
"message": "failed to update firmware; internal error"
}