8feb34e7a8
RadioLib edge-triggered interrupts robustness ( #9658 )
...
* Fix potential race condition (read, ISR write, clear) in NotifiedWorkerThread
* Check for missed edge-triggered interrupts race condition between startReceive and enableInterrupt
* Occasionally poll to catch missed RX_DONE interrupts. (RadioLibInterface::pollMissedIrqs)
* Simplify RadioLibInterface::checkRxDoneIrqFlag()
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-02-21 06:14:04 -06:00
Mike Robbins and GitHub
bfbce2e314
Log rxBad PacketHeaders with more info (id, relay_node) like printPacket, so we can try to match RX errors to other packets in the logs. ( #9614 )
2026-02-12 05:52:24 -06:00
a6a80b067f
Recover long_name, short_name from our own NodeDB entry if device.proto is unreadable ( #9248 )
...
* Recover long_name, short_name from our own NodeDB entry if device.proto is unreadable
* NodeDB::loadFromDisk: restore long/short name with memcpy and explicit null termination
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-01-15 11:02:09 +11:00
Mike Robbins and GitHub
e99853f660
SafeFile: use atomic rename-with-overwrite, rather than non-atomic delete-then-rename ( #9296 )
2026-01-13 05:57:04 -06:00
Mike Robbins and Ben Meadors
4d86bbafe6
addFromContact: Don't auto-favorite when CLIENT_BASE; don't update last_heard unless CLIENT_BASE ( #8495 )
...
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2025-11-06 07:14:33 -06:00
6a6c409b9a
addFromContact: Don't auto-favorite when CLIENT_BASE; don't update last_heard unless CLIENT_BASE ( #8495 )
...
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2025-11-06 07:10:20 -06:00
Mike Robbins
126954c2ed
NimbleBluetooth: reuse BLE_HS_CONN_HANDLE_NONE instead of creating a different constant to represent no connection
2025-10-19 11:10:14 -04:00
Mike Robbins
f6eede8597
NimbleBluetooth: process fromPhoneQueue before toPhoneQueue (fixes bug with 0-length reads during config phase)
2025-10-19 11:00:47 -04:00
f2a63faddd
Fix NimbleBluetooth reliability and performance ( #8385 )
...
* Initial work to get NimbleBluetooth working reliably, and cross-task mutexes cleaned up
* Pre-fill toPhoneQueue when safe (during config/nodeinfo): runOnceToPhoneCanPreloadNextPacket
* Handle 0-byte responses breaking clients during initial config phases
* requestLowerPowerConnection
* PhoneAPI: onConfigStart and onConfigComplete callbacks for subclasses
* NimbleBluetooth: switch to high-throughput BLE mode during config, then lower-power BLE mode for steady-state
* Add some documentation to NimbleBluetooth.cpp
* make cppcheck happier
* Allow runOnceHandleToPhoneQueue to tell runOnce to shouldBreakAndRetryLater, so we don't busy-loop forever in runOnce
* Gating some logging behind DEBUG_NIMBLE_ON_READ_TIMING ifdef again; bump retry count
* Add check for connected state in NimBLE onRead()
---------
Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz >
2025-10-19 05:32:58 -05:00
f7469159cf
Reliable ACKs for DMs ( #8165 )
...
* RoutingModule::sendAckNak takes ackWantsAck arg to set want_ack on the ACK itself
* Use reliable delivery for traceroute requests (which will be copied to traceroute responses by setReplyTo)
* Update ReliableRouter::sniffReceived to use ReliableRouter::shouldSuccessAckWithWantAck
* Use isFromUs
* Update MockRoutingModule::sendAckNak to include ackWantsAck argument (currently ignored)
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2025-10-01 15:31:53 -05:00
Mike Robbins
5d3c92f1a2
When DEBUG_HEAP is defined, add free heap bytes to every log line in RedirectablePrint::log_to_serial
2025-09-15 12:50:38 -07:00
Mike Robbins and Ben Meadors
bf4e2e8e86
Fix GPS gm_mktime memory leak ( #7981 )
2025-09-14 06:36:16 -05:00
Mike Robbins and GitHub
00772996b6
Fix GPS gm_mktime memory leak ( #7981 )
2025-09-14 05:05:06 -05:00
Mike Robbins
ead67446a3
Fix memory leak in NRF52Bluetooth: allocate BluetoothStatus on stack, not heap
2025-09-12 13:15:52 -07:00
Mike Robbins
43cf12edfb
Fix memory leak in NimbleBluetooth: allocate BluetoothStatus on stack, not heap
2025-09-12 13:00:17 -07:00
Mike Robbins and Ben Meadors
962e5d513c
Fix memory leak in NextHopRouter: always free packet copy when removing from pending
2025-09-12 13:16:48 -05:00
Mike Robbins
0fc33c352a
Fix memory leak in NextHopRouter: always free packet copy when removing from pending
2025-09-12 10:40:13 -07:00
Mike Robbins
35340fc6e2
NextHopRouter::roleAllowsCancelingFromTxQueue (same logic as FloodingRouter::roleAllowsCancelingDupe)
2025-09-11 21:31:42 -07:00
Mike Robbins
4ab125bbf7
src/graphics/Screen.cpp: move #include "meshUtils.h" outside of "#ifdef HAS_SCREEN" so IS_ONE_OF works on all devices
2025-09-11 21:31:42 -07:00
Mike Robbins
87eff2c4a9
Fix logic in Screen::shouldWakeOnReceivedMessage and add CLIENT_HIDDEN and CLIENT_BASE to be treated the same as CLIENT and CLIENT_MUTE
2025-09-11 21:31:42 -07:00
Mike Robbins
527e88ca46
Add CLIENT_BASE to DisplayFormatters::getDeviceRole
2025-09-11 21:31:42 -07:00
Mike Robbins
4140ecfb49
Bring src/mesh/generated/meshtastic/config.pb.h from develop after rebase
2025-09-11 21:31:42 -07:00
Mike Robbins
27cdd464d1
getTxDelayMsecWeighted and startTransmitTimerRebroadcast: extract p->rxSnr
2025-09-11 21:31:42 -07:00
Mike Robbins
5a463373f2
Remove changes to src/mesh/generated/meshtastic/config.pb.h from this PR
2025-09-11 21:31:42 -07:00
Mike Robbins
b768860866
NodeDB::isFromOrToFavoritedNode: skip search for NODENUM_BROADCAST; one-pass search and early exit
2025-09-11 21:31:42 -07:00
Mike Robbins
c63102a312
Swap expression order to allow short-circuit evaluation
2025-09-11 21:31:42 -07:00
Mike Robbins
b1f55ef6e8
Fix linter
2025-09-11 21:31:42 -07:00
Mike Robbins
b305acf7e5
Add FloodingRouter::roleAllowsCancelingDupe and condition for CLIENT_BASE
2025-09-11 21:31:42 -07:00
Mike Robbins
ab5332950c
Add RadioInterface::shouldRebroadcastEarlyLikeRouter and add CLIENT_BASE condition
2025-09-11 21:31:42 -07:00
Mike Robbins
484b4cd848
Add NodeDB::isFavorite, NodeDB::isFromOrToFavoritedNode
2025-09-11 21:31:42 -07:00
Mike Robbins
3cc2b70e4f
Pass meshtastic_MeshPacket down into startTransmitTimerRebroadcast and getTxDelayMsecWeighted
2025-09-11 21:31:42 -07:00
Mike Robbins
7e00054fd7
Rename startTransmitTimerSNR to startTransmitTimerRebroadcast
2025-09-11 21:31:42 -07:00