Adds the modjam package: a MeshCore-backed test station service for Pi (IDLE + RUNNING states, cuesheet-driven), a control station REPL for the Mac, and a UDP simulator that swaps in for the radio when SIMULATOR=true (drops cross-config packets and a configurable fraction of test-payload datagrams to mimic real radio loss). docker-compose runs three sim stations + control on a bridge net. TSV log format matches the reference traces. Pytest suite covers protocol codec, cuesheet builder, TSV logger, config loader, and UDP radio packet routing/loss; .forgejo/workflows runs it on push to main and on PRs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
27 lines
582 B
TOML
27 lines
582 B
TOML
[build-system]
|
|
requires = ["setuptools>=68", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "modjam"
|
|
version = "0.1.0"
|
|
description = "LoRa modulation jam — packet delivery rate measurement across MeshCore radio settings"
|
|
requires-python = ">=3.11"
|
|
dependencies = [
|
|
"meshcore==2.3.7",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
test = [
|
|
"pytest>=8",
|
|
]
|
|
|
|
[project.scripts]
|
|
modjam-station = "modjam.cli:station_main"
|
|
modjam-control = "modjam.cli:control_main"
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = ["modjam*"]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|