mirror of
https://github.com/meshtastic/firmware.git
synced 2026-11-07 23:04:49 -05:00
MeshBeacon: wait out the remaining interval after a reboot (#12274)
* MeshBeacon: wait out the remaining interval after a reboot When the transmit history shows a beacon inside the interval, runOnce now sleeps until that interval ends instead of a full interval from boot. Saving mesh_beacon reschedules the broadcaster, so enabling broadcast or changing the interval takes effect within the broadcast start delay rather than on the old period. fixes #12273 * MeshBeacon: retry an airtime-held beacon within the hour A due beacon held by the air-util limit now rechecks after 5 minutes, doubling to a 60 minute cap, instead of waiting a full interval. The history check runs first, so a beacon that is not due no longer logs a skipped send. A reschedule requested while runOnce runs, as from the nRF52 BLE write callback, is now kept rather than overwritten by runOnce's return. Declare the transmit_history.dat write in the state manifest.
This commit is contained in:
1 parent
6975a80dd8
commit
11f8de309c
5 files changed
+165
-6
No files matched your search
@@ -1394,8 +1394,10 @@ bool AdminModule::handleSetModuleConfig(const meshtastic_ModuleConfig &c)
|
||||
moduleConfig.mesh_beacon = beaconCfg;
|
||||
shouldReboot = false;
|
||||
// Payload content changed - invalidate the broadcaster's cache.
|
||||
if (meshBeaconBroadcastModule)
|
||||
if (meshBeaconBroadcastModule) {
|
||||
meshBeaconBroadcastModule->invalidateCache();
|
||||
meshBeaconBroadcastModule->reschedule();
|
||||
}
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in new issue
Block a user