Feature/mainboard boot complete hook - #2621
Merged
liamcottle merged 2 commits intoMay 25, 2026
Merged
Conversation
Framework for upcoming variant-specific PRs that add LED feedback during boot. The hook gives users visual cues that the device is busy and shouldn't be interacted with until startup completes.
Matches the existing event-style lifecycle hooks on MainBoard (onBeforeTransmit, onAfterTransmit) per @liamcottle's review feedback.
hermes-gadget
added a commit
to gadgethd/MeshCore-MQTT
that referenced
this pull request
May 25, 2026
Upstream dev: 3 new commits - 39a69b8 Add MainBoard::bootComplete() hook for boot-indicator LED feedback - e5dab6b Rename bootComplete() to onBootComplete() for naming consistency - d2c2a6e Merge PR meshcore-dev#2621 (mainboard-boot-complete-hook) Conflicts resolved: none (auto-merged) MQTT additions preserved.
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.
Adds
virtual void onbootComplete()toMainBoardas a lifecycle hook (default no-op), called from each example'ssetup()at completion.Zero behavior change for any existing board. Every board inherits the no-op default, so calling
onbootComplete()is identical to not calling it for boards that don't override.Why this exists: sets up upcoming variant-specific PRs (ThinkNode M6, SenseCAP Solar) that add LED feedback during boot. The visual cue tells users the device is busy starting up, preventing confusion when button presses during boot don't register, and providing positive feedback that the device is successfully powering on.
Out of scope: no LED behavior is added by this PR; that's deferred to the variant PRs.
Follows the existing
MainBoardconvention ofvirtual <name>() { /* no op */ }extension points (seepowerOff(),sleep(),onBeforeTransmit(), etc.).