This repository has been archived on 2026-08-31. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
donglora/examples/meshcore
swaits 7a947a1a05 refactor: update Python examples for fixed-size LE wire format
Remove all varint/zigzag encoding. Every field is now struct.pack/unpack
with fixed-size little-endian format strings. RadioConfig is a single
struct.pack('<IBBBHB', ...) call. Response decoding uses struct.unpack_from
with known offsets. No encoding helpers needed beyond struct.
2026-03-29 20:42:59 -06:00
..

MeshCore Example

This is a protocol implementation built on top of DongLoRa. The DongLoRa firmware itself is protocol-agnostic — it just gives you a LoRa radio pipe. MeshCore is one of many possible protocols you can run over it.

What's here

  • meshcore_rx.py — MeshCore packet decoder, Watchman mesh health reporter
  • channels.csv — 276 known MeshCore channels (Public + hashtag channels)
  • corpus/ — Test vectors for MeshCore packet decoders

Usage

uv run examples/meshcore/meshcore_rx.py [PORT]

Connects to a DongLoRa device, configures the radio for the MeshCore frequency/modulation, and decodes received packets in real time.

Running the test corpus

uv run examples/meshcore/corpus/validate.py