swaits 0d0dc81879 test: cargo-fuzz targets on parser and framing
Four libFuzzer targets:
- parse_command: Command::from_bytes never panics; bounded payload.
- parse_radio_config: RadioConfig::from_bytes never panics.
- cobs_decoder_feed: CobsDecoder::feed is panic-free across arbitrary
  byte streams split into arbitrary chunks.
- cobs_roundtrip: structure-aware (via arbitrary crate) Response →
  cobs_encode_response → ucobs::decode yields identical raw bytes.

All four smoke-tested at 50k runs each with no findings. Intended CI
cadence is a weekly cron with a larger time budget; per-PR would be
expensive. Requires nightly + cargo-fuzz.
2026-04-13 09:05:07 -06:00

donglora-protocol

Wire protocol types and COBS framing for DongLoRa, shared between firmware and host crates (client-rs, mux-rs, bridge).

no_std by default. defmt::Format derives are opt-in via the default defmt feature. Host consumers disable default features:

donglora-protocol = { version = "0.1", default-features = false }

Status

Pre-1.0. Currently consumed by path dep; will publish to crates.io once the surface area settles.

Layout

  • src/lib.rs — Command, Response, RadioConfig, ErrorCode, etc.
  • src/framing.rs — CobsDecoder + cobs_encode_response for USB/UART transports.
  • tests/ — proptest suite (roundtrips, bounded-capacity invariants, regional-regs, duty-cycle math).
  • fuzz/ — cargo-fuzz targets on the parser and framer.
S
Description
No description provided
Readme MIT
176 KiB
0 Stars 1 Watchers 0 Forks
Languages
Rust 98.6%
Just 1.4%