Repository navigation
Protocol Library
Oguzhan KAYNAK edited this page Oct 25, 2026
·
5 revisions
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".
Issues · License: MIT runtime, BUSL-1.1 otherwise (LICENSE) · Commercial licensing: kaynak.oguzhan0@gmail.com