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"
}