Browse Source

Merge pull request #2621 from AtlavoxDev/feature/mainboard-boot-complete-hook

Feature/mainboard boot complete hook
Liam Cottle 2 months ago
parent
commit
d2c2a6ef0b

+ 2 - 0
examples/companion_radio/main.cpp

@@ -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.onBootComplete();
 }
 
 void loop() {

+ 2 - 0
examples/kiss_modem/main.cpp

@@ -119,6 +119,8 @@ void setup() {
   modem->setGetCurrentRssiCallback(onGetCurrentRssi);
   modem->setGetStatsCallback(onGetStats);
   modem->begin();
+
+  board.onBootComplete();
 }
 
 void loop() {

+ 2 - 0
examples/simple_repeater/main.cpp

@@ -103,6 +103,8 @@ void setup() {
 #if ENABLE_ADVERT_ON_BOOT == 1
   the_mesh.sendSelfAdvertisement(16000, false);
 #endif
+
+  board.onBootComplete();
 }
 
 void loop() {

+ 2 - 0
examples/simple_room_server/main.cpp

@@ -80,6 +80,8 @@ void setup() {
 #if ENABLE_ADVERT_ON_BOOT == 1
   the_mesh.sendSelfAdvertisement(16000, false);
 #endif
+
+  board.onBootComplete();
 }
 
 void loop() {

+ 4 - 0
src/MeshCore.h

@@ -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 onBootComplete() { /* no op */ }
   virtual void sleep(uint32_t secs)  { /* no op */ }
   virtual uint32_t getGpio() { return 0; }
   virtual void setGpio(uint32_t values) {}