SHIPHarbour:Firmware:Update

From Serious Documentation
Jump to: navigation, search

Source File

SHIPHarbour_Firmware.proto

Description

These messages are used to directly update any firmware on a Serious Integrated module. Firmware updates will result in multiple messages between SHIPHarbour Master and the client. The client must first send the parameters of the update to ensure that the update will be possible. Then the file data may be transmitted, during this time, SHIPHarbour Master will generate response messages of this same type to inform the client of the progress of the module being updated.

Message Fields

Initial Message Fields

These fields are required in the first message to request the start of the routine execution.

target

A FirmwareType indicating which firmware should be updated.

instance

A number indicating exactly which "bank" or copy of the firmware on the module should be updated. This is most often used with the Bootloader type.

interval

The minimum number of milliseconds between responses to the request describing the progress of the operation.

total

The total number of bytes in the new firmware file.

method

An UpdateMethod indicating the allowable method for the module to use to complete the update.


Secondary Message Fields

File data can be streamed or sent in a single chunk, but must be sent after the initial parameters.

fileData

Byte buffer containing the file data for the new firmware to install on a Serious Integrated module.


Response Message Fields

These fields will be used by SHIPHarbour Master to notify the client of the progress of the update.

current

A number indicating the current progress as compared to the field total.

total

A number indicating the value that current must match before this stage is considered complete.

stage

An UpdateStage indicating what part of the update is currently being processed.

quitOk

Boolean indicating whether or not it is currently safe to end the routine without sending a cancel request.