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 ebe9197d04 feat: per-board TX power range, TX_POWER_MAX sentinel (-128)
- Each board exports TX_POWER_RANGE constant (min, max dBm)
- RadioConfig::validate() uses the board's range, not hardcoded limits
- TX_POWER_MAX sentinel (-128 on the wire) means "use board's maximum"
  — resolved to the actual max before storing config
- GetConfig returns the resolved actual power, not the sentinel
- Default configs in examples use TX_POWER_MAX
- Protocol docs updated
2026-03-29 20:42:58 -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