Add board hooks for periodic work and variant telemetry - #3131
Open
liekmarflow wants to merge 1 commit into
Open
Add board hooks for periodic work and variant telemetry#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.
liekmarflow
force-pushed
the
feature/board-api-hooks
branch
from
August 9, 2026 19:21
3796c01 to
efd8867
Compare
liekmarflow
force-pushed
the
feature/board-api-hooks
branch
from
August 12, 2026 17:40
efd8867 to
798a624
Compare
3 tasks
liekmarflow
added a commit
to liekmarflow/MeshCore
that referenced
this pull request
Aug 21, 2026
… of the story The "Relation to upstream" section still described the variant as a standalone out-of-tree product fork. That has not been true since 2026-08-08: meshcore-dev#3130 (hardware request), meshcore-dev#3131 (board hooks) and meshcore-dev#3132 (the variant itself) are open upstream, and the fork releases are the interim until those land. It also left the April withdrawal unexplained. The board was not available yet and CE certification was still in progress; both are settled now, which is the reason the variant is being proposed again.
Two no-op virtuals on MainBoard, so a variant can do these things without core changes: - tick(): called from the simple_repeater and simple_sensor main loops. Lets a board feed its watchdog and run periodic housekeeping. - queryBoardTelemetry(CayenneLPP&): simple_repeater asks the board for extra telemetry channels, gated by TELEM_PERM_ENVIRONMENT. Variant-specific CLI is already covered by MainBoard::handleCommand(), so this adds nothing for that. Both defaults are no-ops, so existing variants build and behave unchanged. Used by the Inhero MR2 variant (separate PR).
liekmarflow
force-pushed
the
feature/board-api-hooks
branch
from
August 28, 2026 07:48
798a624 to
3a96266
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 MR2 hardware support).
This adds two no-op virtual methods to
mesh::MainBoardso a board variantcan do these things without core changes:
tick()— called from the simple_repeater and simple_sensor main loops.Lets a board feed its watchdog and run periodic housekeeping. Default: no-op.
queryBoardTelemetry(CayenneLPP&)— simple_repeater asks the board foradditional telemetry channels (gated by
TELEM_PERM_ENVIRONMENT).Default: no-op.
An earlier revision of this PR also carried a
get board.*/set board.*CLI forwarding hook. That is covered on
devbyMainBoard::handleCommand()(47b0b7b) since then, so it is gone from this PR; the variant uses the
existing hook.
Both 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 MR2 variant that uses these hooks follows in #3132.