refactor: relocate MeshCore tools to examples/meshcore/
MeshCore is a protocol implementation ON TOP of DongLoRa, not part of the dongle itself. Moving it to examples/ makes the separation clear while keeping it accessible as a real-world usage example.
This commit is contained in:
36 files changed
+29
-3
No files matched your search
+1
-1
@@ -4,4 +4,4 @@
|
||||
src/board/mod.rs
|
||||
__pycache__/
|
||||
.hypothesis/
|
||||
corpus/generated/
|
||||
examples/meshcore/corpus/generated/
|
||||
@@ -0,0 +1,26 @@
|
||||
# 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
|
||||
|
||||
```sh
|
||||
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
|
||||
|
||||
```sh
|
||||
uv run examples/meshcore/corpus/validate.py
|
||||
```
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -12,8 +12,8 @@ from pathlib import Path
|
||||
|
||||
import jsonschema
|
||||
|
||||
# Add tools/ to path so we can import the decoder
|
||||
sys.path.insert(0, str(Path(__file__).parent.parent / "tools"))
|
||||
# Add meshcore/ directory to path so we can import the decoder
|
||||
sys.path.insert(0, str(Path(__file__).parent.parent))
|
||||
from meshcore_rx import decode_meshcore_packet # noqa: E402
|
||||
|
||||
CORPUS_DIR = Path(__file__).parent
|
||||
File renamed without changes.
Reference in new issue
Block a user