Files
PX4-Autopilot/dsdl/uavcan/protocol/file/580.BeginFirmwareUpdate.uavcan
T
Pavel Kirienko 38c6a0d7ac Update 580.BeginFirmwareUpdate.uavcan
Add ERROR_IN_PROGRESS
2015-04-03 00:26:34 +03:00

31 lines
1.4 KiB
Plaintext

#
# This service initiates firmware update on a remote node.
#
# The node that is being updated (slave) will retrieve the firmware image file 'image_file_remote_path' from the node
# 'source_node_id' using the file read service, then it will update the firmware and reboot. Alternatively, this
# service can be used to invoke an alternative CAN bootloader (e.g. STM32 system memory bootloader), in which case
# the field 'image_file_remote_path' must be empty.
#
# The slave can explicitly reject this request if it is not possible to update the firmware at the moment
# (e.g. if the node is busy).
#
# If the slave node accepts this request, the initiator will get a response immediately, before the update process
# actually begins.
#
# While the firmware is being updated, the slave should set its status code (uavcan.protocol.NodeStatus.status_code)
# to STATUS_INITIALIZING.
#
uint8 source_node_id # If there is an invalid value (e.g. zero), the caller Node ID will be used instead
Path image_file_remote_path # Empty to invoke an alternative bootloader
---
uint8 ERROR_OK = 0
uint8 ERROR_INVALID_MODE = 1 # Cannot perform the update right now (e.g. the vehicle is operating)
uint8 ERROR_IN_PROGRESS = 2 # Firmware update is already in progess, and the slave doesn't want to restart
uint8 ERROR_UNKNOWN = 255
uint8 error
uint8[<128] optional_error_message # Detailed error description