Skip to content

Feature/mainboard boot complete hook - #2621

Merged
liamcottle merged 2 commits into
meshcore-dev:devfrom
AtlavoxDev:feature/mainboard-boot-complete-hook
May 25, 2026
Merged

Feature/mainboard boot complete hook#2621
liamcottle merged 2 commits into
meshcore-dev:devfrom
AtlavoxDev:feature/mainboard-boot-complete-hook

Conversation

@AtlavoxDev

Copy link
Copy Markdown
Contributor

Adds virtual void onbootComplete() to MainBoard as a lifecycle hook (default no-op), called from each example's setup() 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 MainBoard convention of virtual <name>() { /* no op */ } extension points (see powerOff(), sleep(), onBeforeTransmit(), etc.).

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.
@liamcottle
liamcottle merged commit d2c2a6e into meshcore-dev:dev May 25, 2026
12 checks passed
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.
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.

2 participants