Skip to content

Protocol Library

Oguzhan KAYNAK edited this page Oct 25, 2026 · 5 revisions

Protocol Library

wireforge init <dir> --protocol <name> copies the model of a published protocol. Each model is written from the public documents of the protocol and checked byte for byte against an independent implementation. Every model has a README with its source and what it covers and does not cover (protocols/).

Protocol Covers Checked against
modbus_rtu Read holding registers, write single register, exceptions, CRC-16/MODBUS pymodbus
modbus_tcp The MBAP header with a length vectors of the specification
crsf Frame, HEARTBEAT, BATTERY_SENSOR, LINK_STATISTICS crsf-parser
j1939 Identifier word, EEC1, CCVS, ET1 cantools
mavlink1 Frame, HEARTBEAT, ATTITUDE, GLOBAL_POSITION_INT, COMMAND_LONG pymavlink
mavlink2 Frame with the 24-bit id, payloads without trailing zero bytes, HEARTBEAT, GPS_RAW_INT and COMMAND_ACK with extensions, ATTITUDE, GLOBAL_POSITION_INT, COMMAND_LONG; a Lua checksum hook for Wireshark pymavlink
ubx Frame, ACK-ACK, ACK-NAK, CFG-RATE, NAV-PVT, MON-VER pyubx2

For the whole MAVLink message set of a dialect, see Importing (wireforge import-mavlink).

Details: docs/GUIDE.md, "Published protocols".

Clone this wiki locally