This repository holds the shared USB protocol definitions used by Usb2Arm.
Current scope:
- bootloader upgrade protocol on top of RPL USB framing
- packet definitions plus host/device shared upgrade image helpers
- platform-independent transport alias for
RPL::USBTransport
Main header:
#include <florid_usb_protocol/protocol.hpp>Upgrade protocol notes:
- request packets use RPL request/ack semantics
- data-bearing responses are separate packets carrying the original
req_id WriteChunkRequestcurrently uses a fixed 1024-byte payload ceilingdata_sizeis the aligned flash-programming length for the current chunkvalid_sizeis the logical image byte count inside that chunk; trailing bytes are0xFFpadding whenvalid_size < data_sizeFirmwareImage/ChunkPlan/UpgradePlanare transport-agnostic helpers for image CRC calculation, aligned chunking, and request packet building- USB send/receive, retries, session state machines, and bootloader flash logic still belong in product code rather than this shared protocol library