mikecarper
499e5bc94a
Escalate coding rate on hop-zero flood retries
2026-09-10 11:17:58 -07:00
mikecarper
1a40a6420c
Limit flood advert forwarding and persistent abuse
2026-09-09 17:16:00 -07:00
mikecarper
cb27fa8539
Fix nRF52 contact persistence and ExtraFS recovery
2026-09-02 11:41:38 -07:00
mikecarper
dc4a8808c0
Harden and qualify compact RAK3401 OTA updates
2026-08-19 11:17:22 -07:00
mikecarper
cd824765b4
Prioritize and pace private TempRadio OTA
2026-08-13 17:53:33 -07:00
mikecarper
f7c2d382c3
Speed up and harden LoRa OTA transfers
2026-08-13 14:43:59 -07:00
mikecarper
c0aeb8fc3a
Pipeline OTA downloads and adapt relay timing
2026-08-13 00:38:17 -07:00
mikecarper
26d6e0f99a
Harden message retry replacement and seed testing channel
2026-08-07 23:22:31 -07:00
mikecarper
86160e9323
Relay opaque flood packets through repeaters
2026-07-31 13:28:45 -07:00
mikecarper
c1752f2db1
Defer remote commands outside receive stack
2026-07-24 00:18:35 -07:00
mikecarper
468e7846bd
Collect edge clock samples with repeat off
2026-07-23 11:00:21 -07:00
mikecarper
371d86c4b1
Normalize tracked text to ASCII
2026-07-22 00:43:38 -07:00
mikecarper
57cc977e58
Harden retry, power, and companion behavior
2026-07-20 10:50:55 -07:00
mikecarper
09c8aaba9c
Add repeater flood filters and transport scopes
2026-07-17 00:35:51 -07:00
mikecarper
fcfca64cc5
Refine trace and group data retries
2026-07-13 17:56:08 -07:00
mikecarper
e3f47b487b
Harden packet, retry, and alert handling
2026-07-13 16:37:32 -07:00
mikecarper
b8f438d6ea
Honor retry settings across firmware roles
2026-07-13 15:22:36 -07:00
mikecarper
4f839d3477
Reduce background polling and radio power use
2026-07-13 14:36:34 -07:00
mikecarper
b9e7e416be
Harden retry, region, radio, and alert logic
2026-07-13 13:18:49 -07:00
mikecarper
5a2aa592ea
Improve repeater alerts and delivery reliability
2026-07-13 09:54:16 -07:00
mikecarper
da00a00436
Improve repeater reliability and build tooling
2026-07-13 01:03:27 -07:00
mikecarper
4c0dbe707d
Merge PR 2864 LoRa OTA into Keymind
2026-07-11 12:40:31 -07:00
mikecarper
ebd7da795c
Share direct retry timing defaults
2026-07-07 00:56:44 -07:00
mikecarper
84c166d5cc
Merge remote-tracking branch 'upstream/dev' into keymindCascade
...
# Conflicts:
# examples/companion_radio/ui-new/UITask.cpp
# examples/companion_radio/ui-orig/UITask.cpp
# examples/companion_radio/ui-tiny/UITask.cpp
# examples/simple_repeater/MyMesh.cpp
# src/Mesh.cpp
# src/Mesh.h
# src/helpers/ESP32Board.cpp
# src/helpers/ESP32Board.h
# src/helpers/SimpleMeshTables.h
# variants/heltec_v3/HeltecV3Board.h
# variants/tenstar_c3/target.h
2026-07-06 15:32:07 -07:00
Christoph Koehler
4f701b7aec
refactor: split MeshTables::hasSeen into pure query + markSeen
...
hasSeen() was simultaneously a predicate and a mutator — it inserted the
packet hash on every miss, making five call sites that only wanted to mark
a packet as sent call it with the return value discarded.
Split into:
- wasSeen() — pure predicate, no side effects
- markSeen() — explicit insert
All query sites now call markSeen() immediately after wasSeen() returns
false, preserving identical runtime behaviour. The five mark-only send
sites (sendFlood, sendDirect, sendZeroHop x2) now call markSeen directly.
Also fixes three bridge sites (BridgeBase, ESPNowBridge, RS232Bridge)
that had the same query+implicit-insert pattern.
Tests: add test/test_mesh_tables/ covering wasSeen purity, markSeen,
dup stats, and clear. Update SHA256 mock to produce deterministic output
(previously finalize() was a no-op). Add Packet.cpp to native build filter.
2026-07-01 21:51:38 -06:00
Valentin Kivachuk Burda
259802b706
ota: configurable hop limit (ota config hops) + accept-gate + forward RAM guard
...
Bound OTA-over-LoRa duty cycle across repeaters with one runtime-tunable,
persisted limit (OtaManager::max_hops, `ota config hops <0..8>`, default 3):
- Accept-gate: a node ignores OTA that arrived from more than max_hops hops
away (neither processes nor relays it). 0 = direct only.
- Forward-cap: relay a flood only while still under max_hops, appending this
node's path-hash (hop count increments like the mesh flood routing).
- RAM guard: relay an OTA flood only while more than OTA_FWD_MIN_FREE packet-
pool slots stay free, so heavy OTA (best-effort, lowest-priority) can never
monopolise the shared pool and starve real traffic — a dropped relay is
re-requested by the source.
Persisted in NodePrefs (CommonCLI) and shown in `ota config`. Docs updated.
2026-06-30 20:35:48 +02:00
Valentin Kivachuk Burda
543c90119e
ota: CLI commands + node/CommonCLI integration + example hooks
2026-06-29 20:24:24 +02:00
mikecarper
4d2f304f63
Tune mesh retry behavior and builds
2026-06-27 01:51:23 -07:00
Liam Cottle
dc200cf22d
Merge pull request #2639 from sefinek/fix/typos-in-comments
...
fix: fix typos in source code comments
2026-06-27 11:26:54 +12:00
mikecarper
48ac725d76
Tune keymind repeater behavior
2026-06-24 17:06:49 -07:00
mikecarper
4813b9eea4
Merge remote-tracking branch 'upstream/pr-2367' into keymindCascade
...
# Conflicts:
# build-iotthinks.sh
# build.sh
# docs/cli_commands.md
# examples/companion_radio/MyMesh.cpp
# examples/companion_radio/main.cpp
# examples/simple_repeater/MyMesh.cpp
# examples/simple_repeater/MyMesh.h
# src/helpers/CommonCLI.cpp
# src/helpers/CommonCLI.h
# src/helpers/ESP32Board.h
# src/helpers/SimpleMeshTables.h
# src/helpers/sensors/EnvironmentSensorManager.cpp
# variants/heltec_ct62/platformio.ini
# variants/heltec_t096/T096Board.cpp
# variants/heltec_t096/platformio.ini
# variants/heltec_tracker/platformio.ini
# variants/heltec_tracker_v2/platformio.ini
# variants/heltec_v2/platformio.ini
# variants/heltec_v3/platformio.ini
# variants/heltec_v4/HeltecV4Board.cpp
# variants/heltec_v4/platformio.ini
# variants/heltec_wireless_paper/platformio.ini
# variants/lilygo_tbeam_1w/platformio.ini
# variants/lilygo_tbeam_SX1262/platformio.ini
# variants/lilygo_tbeam_SX1276/platformio.ini
# variants/lilygo_tbeam_supreme_SX1262/platformio.ini
# variants/lilygo_tlora_v2_1/platformio.ini
# variants/xiao_c3/platformio.ini
# variants/xiao_s3/platformio.ini
# variants/xiao_s3_wio/platformio.ini
2026-06-22 18:13:18 -07:00
mikecarper
1f14f744af
Clean Mesh header comments
2026-06-16 13:28:46 -07:00
mikecarper
4a9d6bae52
Remove duplicate Mesh comments
2026-06-16 13:25:04 -07:00
mikecarper
f58cdef8a8
Revert Mesh comment noise
2026-06-16 13:21:51 -07:00
mikecarper
7d2ff38120
Trim direct retry cleanup
2026-06-16 13:15:52 -07:00
mikecarper
4ed9415866
Clean up Mesh comments
2026-06-15 18:15:00 -07:00
mikecarper
765ec1447b
Add direct retry controls
2026-06-15 17:24:22 -07:00
mikecarper
7d8bb1d319
Keep Halo branch focused on direct retry
2026-06-15 16:05:23 -07:00
mikecarper
40d1e29ad9
Merge remote-tracking branch 'upstream/main' into keymindCascade
...
# Conflicts:
# docs/cli_commands.md
# examples/companion_radio/MyMesh.cpp
# examples/companion_radio/main.cpp
# examples/simple_repeater/MyMesh.cpp
# examples/simple_room_server/MyMesh.cpp
# examples/simple_sensor/SensorMesh.cpp
# platformio.ini
# src/MeshCore.h
# src/helpers/CommonCLI.cpp
# src/helpers/ESP32Board.h
# src/helpers/SimpleMeshTables.h
# src/helpers/radiolib/CustomLLCC68Wrapper.h
# src/helpers/radiolib/CustomLR1110Wrapper.h
# src/helpers/radiolib/CustomSTM32WLxWrapper.h
# src/helpers/radiolib/CustomSX1262Wrapper.h
# src/helpers/radiolib/CustomSX1268Wrapper.h
# src/helpers/radiolib/CustomSX1276Wrapper.h
# src/helpers/sensors/EnvironmentSensorManager.cpp
# variants/xiao_s3/platformio.ini
# variants/xiao_s3/target.cpp
# variants/xiao_s3/target.h
2026-06-15 15:45:05 -07:00
mikecarper
60879c9973
Merge remote-tracking branch 'upstream/dev' into halo-direct-path-retries
...
# Conflicts:
# examples/simple_repeater/MyMesh.cpp
# src/Dispatcher.cpp
# src/Dispatcher.h
# src/Mesh.cpp
# src/helpers/CommonCLI.cpp
# src/helpers/CommonCLI.h
# src/helpers/SimpleMeshTables.h
2026-06-15 15:32:58 -07:00
mikecarper
c20e57385a
Fix direct retry diagnostics
2026-06-04 15:15:30 -07:00
mikecarper
b125d0a0d1
Max retries is now a var that can be set between 1 to 15
2026-06-04 15:11:14 -07:00
mikecarper
dbc4dda0ca
Retry 3 times with a 200ms,300ms,400ms backoff.
2026-06-04 15:09:37 -07:00
mikecarper
2af7b75d70
For packets with a path set; auto try again if no echo was heard
2026-06-04 15:07:11 -07:00
Sefinek
cc05ae555a
docs: fix typos, grammar, and formatting in FAQ and code comments
2026-06-02 22:12:18 +02:00
mikecarper
4f9b8bf1ef
Handle direct route path consumption
2026-05-28 17:33:33 -07:00
Sefinek
4bf391f5c3
fix: fix typos in source code comments
2026-05-28 16:38:39 +02:00
Sefinek
00d445a269
fix: fix typos in source code comments
2026-05-28 15:44:56 +02:00
mikecarper
b59966b6fa
Add direct path override support
2026-05-22 14:16:14 -07:00
Scott Powell
f6e6fdaa05
* support for sending 5-byte ACKs
2026-05-17 22:10:13 +10:00