MeshCoreTel-firmware layer on top of upstream MeshCore.
Default: preserve upstream behavior.
Only modify code for clearly scoped EastMesh features:
*_repeater_mqtt*_companion_radio_wifi| Change | File |
|---|---|
| CLI | docs/custom-cli.md |
| Web panel UI/behavior | docs/web-panel.md |
| Releases | release-notes.yml |
| Flashing guidance | docs/releases.md |
If editing examples/simple_repeater/MyMesh.cpp, also update docs/custom-cli.md.
uv + PlatformIO via uv runpioBuilds are expensive. Avoid unless necessary.
Do NOT build for:
Prefer:
Build only if:
uv sync
uv run pio run -e <env>
uv run pio device monitor --port <port> --baud 115200
uv run --group docs zensical serve
uv run --group docs zensical build
Do not assume pio is installed globally.
List build targets:
bash build.sh list
Build a single target:
uv run pio run -e heltec_v4_repeater_mqtt
uv run pio run -e T_Beam_S3_Supreme_SX1262_repeater_mqtt
uv run pio run -e heltec_v4_companion_radio_wifi
uv run pio run -e T_Beam_S3_Supreme_SX1262_companion_radio_wifi
Build with release-style metadata:
export FIRMWARE_VERSION=v1.14.1
export MESHCORETEL_VERSION=v1.0.1
bash build.sh build-firmware heltec_v4_repeater_mqtt
bash build.sh build-firmware T_Beam_S3_Supreme_SX1262_repeater_mqtt
Flash a target:
uv run pio run -e heltec_v4_repeater_mqtt -t upload --upload-port /dev/tty.usbmodemXXXX
uv run pio run -e T_Beam_S3_Supreme_SX1262_repeater_mqtt -t upload --upload-port /dev/tty.usbmodemXXXX
build.sh — build wrapperplatformio.inivariants/eastmesh_mqtt/platformio.iniexamples/simple_repeater/MyMesh.cppsrc/helpers/mqtt/MQTTUplink.cppdocs/*.mdRELEASE.mdrelease-notes.ymlIf you change any of the following, update docs in the same PR when practical:
docs/custom-cli.mddocs/web-panel.mddocs/custom-cli.mdrelease-notes.ymldocs/releases.md*_repeater_mqtt builds may include the local HTTPS web panel on supported ESP32 targets.
Operational guidance already reflected in docs:
set web off afterward for maximum heap headroom*_companion_radio_wifi targets support persisted Wi-Fi rescue commands via serial CLI Rescue.
Do not document companion rescue commands in repeater docs. Do not assume web-panel behavior applies.
Companion release/version rule:
v1.14.1meshcore-dev/MeshCore has made an official releaseCurrent tag formats:
git tag companion-wifi-v1.2.3
git tag repeater-mqtt-meshcoretel-v1.0.1
Rules:
companion-wifi tags use the upstream MeshCore version directlyrepeater-mqtt tags use the EastMesh release version in the tagOFFICIAL_MESHCORE_VERSION supplies the upstream base version for repeater MQTT release buildsOFFICIAL_MESHCORE_VERSION in GitHub before cutting release tagsTypical release flow:
OFFICIAL_MESHCORE_VERSION if upstream changed.release-notes.yml on develop.develop to main.main.When asked to pull from upstream MeshCore:
meshcore-dev/MeshCore:devdevelopdevelopdev into that temporary integration branchdevelopDo not merge upstream directly into main.
Do NOT (unless asked):
Use concise, conventional prefixes:
feat: new functionalityfix: bug fixesdocs: documentation changeschore: maintenance, tooling, non-functionalrefactor: code changes without behavior changeKeep messages short and scoped.
If a change is not clearly EastMesh-specific, do not modify the code. When uncertain, prefer no change or request clarification.