Skip to content

A build declares whether it takes MeshCore's console commands - #791

Merged
A13xB0 merged 3 commits into
mainfrom
feat-599-firmware-dialect
Oct 30, 2026
Merged

A13xB0 merged 3 commits into
mainfrom
feat-599-firmware-dialect

Conversation

@A13xB0

@A13xB0 A13xB0 commented Oct 25, 2026

Copy link
Copy Markdown
Collaborator

Closes #599.

  • Build settings gain dialect: meshcore (the default, stored as nothing), none, or another firmware's name. It is settable on firmware.import and firmware.update, reported by firmware.details, and has a switch in the build's window ("takes MeshCore's console commands").
  • Provisioning: a node running a build that isn't MeshCore's gets one comment line instead of the script: # Deck runs wadamesh firmware, which does not take MeshCore's console commands: nothing is sent. Both the boot path and experiment cells already skip comments, so nothing is typed at it. The Provisioning panel shows that line.
  • Experiments: experiment.start refuses an arm that pins settings (path hash, loop detect, CAD, set:) onto such a node, naming the arm and the nodes. Each node is judged on the build that arm runs it on. An arm that only chooses builds is not refused.
  • Go, Python and JS clients carry the field. docs/firmware-build-settings.md has a section on it.

Tests cover a wadamesh build provisioned with nothing, a MeshCore build left alone, and the arm refusal. One Python client test (test_a_development_workbench_is_served...) fails locally on main too, so it is unrelated.

A build's settings gain dialect. A node running one that is not
MeshCore's is not provisioned (the script is one comment saying why),
and experiment.start refuses an arm that would pin a setting onto it.
Settable at import, on firmware.update, and from the build's window.

Closes #599.
… one image's dialect is not read off another's
@A13xB0
A13xB0 merged commit e9d92e3 into main Oct 30, 2026
4 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Firmware should declare whether it speaks MeshCore's console commands

1 participant