Not modelling any specific vendor's exact protocol -- illustrates the auto-baud mechanism common to several real MCU ROM bootloaders.
Physical UART Transport (115200 bps, 8N1.0)
Send command AutoBaudSync (ID: 0x7F)
The sync byte itself (physicalLayer.autoBaud.syncByte) -- not a normal command, just the timing reference the bootloader measures before anything else can happen.
Available only on servers:
Accepts the following message:
The sync byte itself (physicalLayer.autoBaud.syncByte) -- not a normal command, just the timing reference the bootloader measures before anything else can happen.
{
"command_id": 127,
"syncByte": 127
}
Send command GetVersion (ID: 0x01)
Dispatch GetVersion frame to microcontroller over serial line
Available only on servers:
Accepts the following message:
Command payload for GetVersion
{
"command_id": 1,
"opcode": 1
}
Send command WriteMemory (ID: 0x02)
Dispatch WriteMemory frame to microcontroller over serial line
Available only on servers:
Accepts the following message:
Command payload for WriteMemory
{
"command_id": 2,
"opcode": 2,
"address": 0,
"data": "string"
}
Send command Go (ID: 0x03)
Jumps to application code at the given address, ending the bootloader session.
Available only on servers:
Accepts the following message:
Jumps to application code at the given address, ending the bootloader session.
{
"command_id": 3,
"opcode": 3,
"address": 0
}
Unsolicited telemetry message Ack (ID: 0x79)
Unsolicited telemetry message from device: Ack
Available only on servers:
Accepts the following message:
Device-initiated telemetry payload for Ack
{
"controlByte": 121
}
Unsolicited telemetry message Nack (ID: 0x1F)
Unsolicited telemetry message from device: Nack
Available only on servers:
Accepts the following message:
Device-initiated telemetry payload for Nack
{
"controlByte": 31
}
The sync byte itself (physicalLayer.autoBaud.syncByte) -- not a normal command, just the timing reference the bootloader measures before anything else can happen.
Command payload for GetVersion
Command payload for WriteMemory
Jumps to application code at the given address, ending the bootloader session.
Device-initiated telemetry payload for Ack
Device-initiated telemetry payload for Nack