Files
meshcore-bot-firmware/CHANGELOG.md
cj-vana 15c7072d81 Add repo scaffolding for Colorado-Mesh publish
Adds the project metadata and CI/release workflow needed to publish this
repo under Colorado-Mesh/meshcore-bot-firmware.

- LICENSE: MIT with attribution to upstream MeshCore (also MIT)
- README: rewritten with badges, supported boards, install paths (web
  flasher / PlatformIO / esptool), bot command table, layout map,
  development quickstart
- CONTRIBUTING: submodule + patch-queue workflow, what-goes-where,
  patch hygiene rules, PR expectations
- RELEASE: cmesh-bot-vX.Y.Z tag scheme + procedure
- CHANGELOG: Keep-a-Changelog format, seeded with the hop-coordination
  fix and patch-5 utility commands
- Issue templates: bug_report (with bot stats prompt), feature_request,
  config.yml (no blank issues, link to upstream + community)
- Pull request template: layer checklist, verification gates,
  prefs-schema impact prompt
- .github/workflows/firmware-build.yml: keep PR check on representative
  envs (Heltec V3, RAK 4631 USB+BLE), add concurrency cancellation for
  PRs, scope cache key to PIO config hash
- .github/workflows/release.yml: NEW; triggers on cmesh-bot-v* tag or
  manual dispatch, enumerates all 133 *_companion_radio_(usb|ble) envs
  from vendor/MeshCore/variants/, shards across 8 parallel matrix jobs,
  aggregates artifacts into a single draft release
- scripts/verify.sh: respect MESHCORE_SKIP_APPLY_PATCHES like
  build-representative.sh does, so verify works when vendor already has
  patches applied as commits
- .gitignore: add .forge.bak.*/ for forge backup directories
2026-05-16 13:01:09 -06:00

1.4 KiB

Changelog

All notable changes to this firmware are documented here. Format follows Keep a Changelog, versioning follows the cmesh-bot-vX.Y.Z scheme described in RELEASE.md.

[Unreleased]

Added

  • Hop-aware response coordination: bot delays its reply proportional to the sender's hop count so the closest bot wins; far bots suppress.
  • Utility commands: time, lora, id, neighbors.
  • Neighbor tracking: bot remembers nodes heard directly within the last hour for the neighbors command.
  • received_at_timestamp field on bot messages; personalized ack target in command context.
  • Comprehensive repository scaffolding: README, CONTRIBUTING, LICENSE, CHANGELOG, RELEASE doc, issue/PR templates, release workflow building all 133 companion USB+BLE environments.

Changed

  • BOT_HOP_STEP_MILLIS_DEFAULT lowered from 5000 to 1500 ms per hop.
  • Added BOT_HOP_BIAS_MAX_MILLIS cap of 8000 ms on the total hop bias.
  • BOT_RESPONSE_PENDING_TTL_MILLIS raised from 15000 to 45000 ms.
  • BOT_PREFS_VERSION bumped 2 → 3 to force re-default of in-the-wild bots that saved the broken 5000 ms hop-step value.

Fixed

  • Multi-hop senders on #bot no longer get silently ignored. Previously 3+ hop responses scheduled past the 15 s TTL and were dropped by the coordinator's poll() as READY_EXPIRED. Verified on a Heltec V3 bench bot replying at 2, 4, and 6 hops.