MeshCore/src
Daniel Novak 011edd3c99 Fix millis() wraparound in PacketQueue time comparisons
PacketQueue::countBefore() and PacketQueue::get() use unsigned
comparison (_schedule_table[j] > now) to check if a packet is
scheduled for the future. This breaks when millis() wraps around
after ~49.7 days: packets scheduled just before the wrap appear
to be in the far future and get stuck in the queue.

Use signed subtraction instead, matching the approach already used
by Dispatcher::millisHasNowPassed(). This correctly handles the
wraparound for time differences up to ~24.8 days in either
direction, well beyond the maximum queue delay of 32 seconds.
2026-02-22 18:01:55 +01:00
..
helpers Fix millis() wraparound in PacketQueue time comparisons 2026-02-22 18:01:55 +01:00
Dispatcher.cpp Add a counter to track rx time for repeater stats 2025-07-30 09:41:20 -07:00
Dispatcher.h * fix: init rx_air_time to 0 2025-08-01 20:05:37 +10:00
Identity.cpp allow set prv.key from remote, validate new prv.key 2026-01-25 01:32:48 +11:00
Identity.h allow set prv.key from remote, validate new prv.key 2026-01-25 01:32:48 +11:00
Mesh.cpp * check for 'early receive' ACK 2025-12-27 20:46:28 +11:00
Mesh.h * region filtering now applied in allowPacketForward() 2025-11-06 12:27:25 +11:00
MeshCore.h add get bootloader.ver command for nrf52 2026-02-18 15:35:20 +11:00
Packet.cpp * Packet::readFrom() payload_len guard 2025-04-26 11:05:13 +10:00
Packet.h * new PAYLOAD_TYPE_CONTROL (11) 2025-11-06 00:56:54 +11:00
Utils.cpp * Terminal Chat: "set ..." commands, save to "node_prefs" file, consistent with the other firmwares 2025-02-03 13:56:57 +11:00
Utils.h * Terminal Chat: "set ..." commands, save to "node_prefs" file, consistent with the other firmwares 2025-02-03 13:56:57 +11:00