Add board hooks for variant-specific telemetry and CLI commands - #3131
Open
liekmarflow wants to merge 1 commit into
Open
Add board hooks for variant-specific telemetry and CLI commands#3131liekmarflow wants to merge 1 commit into
liekmarflow wants to merge 1 commit into
Conversation
liekmarflow
added a commit
to liekmarflow/MeshCore
that referenced
this pull request
Aug 8, 2026
…ev#3131/meshcore-dev#3132) - CONTEXT.md getrackt Stand-Block neu: Issue + beide PRs mit Branch-Zeigern und Naechster-Schritt- Ablauf nach Merge von meshcore-dev#3131. Ueberholte Doktrin ('kein PR-Verkehr zu upstream') entfernt; stattdessen die Sicherungsregel: PR-Branches immer von upstream/main schneiden. Feature-Branches als live PR-Koepfe markiert (nicht loeschen). CONTEXT.md aus .gitignore genommen - auf main getrackt ist sie PR-sicher, weil PR-Branches nie von Fork-main abstammen.
Boards can now expose their own functionality without core changes: - MainBoard::tick(): called from the example main loops; default no-op. Lets a board feed its watchdog and run periodic housekeeping. - MainBoard::getCustomGetter()/setCustomSetter(): CommonCLI forwards 'get board.*' / 'set board.*' to the board class; unknown commands reply with an error as before. Default no-op returns keep behavior identical for all existing boards. - MainBoard::queryBoardTelemetry(CayenneLPP&): simple_repeater asks the board for extra telemetry channels (gated by TELEM_PERM_ENVIRONMENT). All defaults are no-ops, so existing variants build and behave unchanged. Used by the Inhero MR-2 variant (separate PR).
liekmarflow
force-pushed
the
feature/board-api-hooks
branch
from
August 9, 2026 19:21
3796c01 to
efd8867
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Needed for #3130 (Inhero MR-2 hardware support).
This adds four virtual methods to
mesh::MainBoardso a board variant canexpose its own functionality without core changes:
tick()— called from the example main loops. Lets a board feed itswatchdog and run periodic housekeeping. Default: no-op.
getCustomGetter()/setCustomSetter()— CommonCLI forwardsget board.*/set board.*to the board class. Unknown commands replywith an error, exactly as before. Default: not handled.
queryBoardTelemetry(CayenneLPP&)— simple_repeater asks the board foradditional telemetry channels (gated by
TELEM_PERM_ENVIRONMENT).Default: no-op.
All defaults are no-ops, so every existing variant builds and behaves
unchanged. Verified locally:
RAK_4631_repeaterandHeltec_v3_repeater(both from the PR build-check matrix) build green on this branch.
The Inhero MR-2 variant that uses these hooks follows in a separate PR.