Commit Graph

4 Commits

Author SHA1 Message Date
James L
42f0eec7b1 Rename to RTNode-HeltecV4, replace 'boundary' with 'transport' in docs
- Rename project from RNodeTHV4 to RTNode-HeltecV4
- Update GitHub repo URL, firmware binary names (rtnode_heltec_v4.bin, rtnode_heltec_v3.bin)
- Replace 'boundary node' with 'transport node' in README and flash.py descriptions
- Update OLED title bar to 'RTNode'
- Bump version to v1.0.18
2026-03-05 23:33:18 -05:00
James L
f042dd5f71 v1.0.13: Fix path discovery starvation and remove redundant announce echo blocking
Immediate PATH_RESPONSE for local clients: On ESP32, continuous TCP
backbone data can starve the jobs() loop for many seconds, causing
path discovery timeouts for local TCP clients. When a local client's
path request is satisfied by a cached announce, send the PATH_RESPONSE
immediately rather than queuing it for the next jobs() cycle.

Remove boundary-mode announce echo blocking: The boundary-specific
code that prevented backbone announces from overwriting LoRa paths
was redundant (the standard random_blob check already prevents echoes)
and harmful (it blocked TCP clients from learning backbone paths and
prevented correct transport routing for LINKREQUESTs).
2026-02-28 15:00:40 -05:00
James L
1122e9a0ee v1.0.12: Fix link MTU clamping, echo-back prevention, oversized frame detection
MTU Clamping (Bug 8a): Clamp link MTU signalling in LINKREQUEST packets
when forwarding through transport node, matching Python reference impl.
Without this, TCP endpoints negotiate 8192-byte segments that exceed the
V3's 1064-byte HDLC buffer, causing silent truncation and permanent
resource transfer stalls at ~70%.

Fixed MTU declaration (Bug 8b): Set FIXED_MTU=true on TcpInterface so
Transport uses HW_MTU for clamping decisions.

Oversized frame detection (Bug 8c): Track truncated HDLC frames and
drop them with a diagnostic log instead of silently delivering corrupt
data to Transport.

Echo-back prevention (v1.0.10): Track which TCP client originated each
inbound frame and skip that client in send_outgoing() to prevent
flooding TCP buffers.

Register local client interface: Enable Transport forwarding of
announces, link packets, and proofs to TCP clients.

Document all discovered microReticulum bugs in MICRORETICULUM_BUGS.md.
2026-02-28 15:00:40 -05:00
James L
59784a34fd v1.0.7: Fix LocalTcpInterface mode — AP→GATEWAY to allow announce rebroadcasts
MODE_ACCESS_POINT unconditionally blocks announce broadcasts in
Transport::outbound(), preventing local TCP clients from discovering
each other. Changing to MODE_GATEWAY allows announces to flow through
send_outgoing() which broadcasts to all connected clients.

Root cause: receiver's announce was stored in announce_table but never
rebroadcast on LocalTcpInterface, so sender could never find a path.
2026-02-28 15:00:40 -05:00