Add MainBoard::bootComplete() hook for boot-indicator LED feedback

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.
This commit is contained in:
AtlavoxDev
2026-05-25 09:04:47 -04:00
parent 7227871d6a
commit 39a69b86c3
5 changed files with 12 additions and 0 deletions
+2
View File
@@ -238,6 +238,8 @@ void setup() {
#ifdef DISPLAY_CLASS
ui_task.begin(disp, &sensors, the_mesh.getNodePrefs()); // still want to pass this in as dependency, as prefs might be moved
#endif
board.bootComplete();
}
void loop() {
+2
View File
@@ -119,6 +119,8 @@ void setup() {
modem->setGetCurrentRssiCallback(onGetCurrentRssi);
modem->setGetStatsCallback(onGetStats);
modem->begin();
board.bootComplete();
}
void loop() {
+2
View File
@@ -103,6 +103,8 @@ void setup() {
#if ENABLE_ADVERT_ON_BOOT == 1
the_mesh.sendSelfAdvertisement(16000, false);
#endif
board.bootComplete();
}
void loop() {
+2
View File
@@ -80,6 +80,8 @@ void setup() {
#if ENABLE_ADVERT_ON_BOOT == 1
the_mesh.sendSelfAdvertisement(16000, false);
#endif
board.bootComplete();
}
void loop() {
+4
View File
@@ -52,6 +52,10 @@ public:
virtual void onAfterTransmit() { }
virtual void reboot() = 0;
virtual void powerOff() { /* no op */ }
// Called by example setup() functions to signal that boot is complete.
// Boards may override to stop a boot-indicator LED sequence or similar.
// Default no-op: boards that don't care need not implement anything.
virtual void bootComplete() { /* no op */ }
virtual void sleep(uint32_t secs) { /* no op */ }
virtual uint32_t getGpio() { return 0; }
virtual void setGpio(uint32_t values) {}