Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 24 Oct 22:17
· 3 commits to master since this release
6b4cc61

WireForge in one minute (video)

WireForge 0.3.0 brings MAVLink 2, a tutorial that runs in CI, and a new web UI.

Highlights

  • MAVLink 2 (wireforge init --protocol mavlink2): the frame with its 24-bit message id, HEARTBEAT, GPS_RAW_INT and COMMAND_ACK with extension fields, ATTITUDE, GLOBAL_POSITION_INT and COMMAND_LONG. Checked byte for byte against pymavlink, including frames whose trailing zero bytes are left out. A Lua hook lets the Wireshark dissector verify MAVLink's checksum.
  • Payloads without trailing zeros for any interface (trim_trailing_zeros): generated C++ and C, the reference codec, the Wireshark dissector, the layout report and the compatibility check all know the rule.
  • Tutorial (docs/tutorial): ten chapters around one drone link, from the model to a vehicle that talks to a pymavlink ground station, tests, CI, Wireshark and AI agents. Its commands run in CI with the released wheel.
  • Web UI: light and dark themes, the logo, and Generate in C++17 or C99 with the download of code and tests.
  • How it compares: docs/COMPARISON.md, next to protobuf, nanopb, Kaitai Struct, mavgen and cantools.

Also

  • wireforge test uses the project's own checksum plugin, so a project from init --protocol tests without --plugins.
  • Header bit-fields of whole bytes are generated as fields of their own width (Encoder::write_width).
  • Long fuzzing runs weekly as four parallel jobs.

Install

pip install "wireforge[server,mcp]"
wireforge init drone --protocol mavlink2 && wireforge test drone -o build/drone

GitHub Action: uses: oguzhankynk/wireforge@v0.3.0.

Free for development, evaluation and CI; the generated code and its runtime are yours under MIT.