Ben Meadors 66a98fb062 2.6 <- Next hop router (#6005)
* Initial version of NextHopRouter

* Set original hop limit in header flags

* Short-circuit to FloodingRouter for broadcasts

* If packet traveled 1 hop, set `relay_node` as `next_hop` for the original transmitter

* Set last byte to 0xFF if it ended at 0x00
As per an idea of @S5NC

* Also update next-hop based on received DM for us

* temp

* Add 1 retransmission for intermediate hops when using NextHopRouter

* Add next_hop and relayed_by in PacketHistory for setting next-hop and handle flooding fallback

* Update protos, store multiple relayers

* Remove next-hop update logic from NeighborInfoModule

* Fix retransmissions

* Improve ACKs for repeated packets and responses

* Stop retransmission even if there's not relay node

* Revert perhapsRebroadcast()

* Remove relayer if we cancel a transmission

* Better checking for fallback to flooding

* Fix newlines in traceroute print logs

* Stop retransmission for original packet

* Use relayID

* Also when want_ack is set, we should try to retransmit

* Fix cppcheck error

* Fix 'router' not in scope error

* Fix another cppcheck error

* Check for hop_limit and also update next hop when `hop_start == hop_limit` on ACK
Also check for broadcast in `getNextHop()`

* Formatting and correct NUM_RETRANSMISSIONS

* Update protos

* Start retransmissions in NextHopRouter if ReliableRouter didn't do it

* Handle repeated/fallback to flooding packets properly
First check if it's not still in the TxQueue

* Guard against clients setting `next_hop`/`relay_node`

* Don't cancel relay if we were the assigned next-hop

* Replies (e.g. tapback emoji) are also a valid confirmation of receipt

---------

Co-authored-by: GUVWAF <thijs@havinga.eu>
Co-authored-by: Thomas Göttgens <tgoettgens@gmail.com>
Co-authored-by: Tom Fifield <tom@tomfifield.net>
Co-authored-by: GUVWAF <78759985+GUVWAF@users.noreply.github.com>
2025-02-07 06:29:36 -06:00
2024-12-14 10:59:15 +01:00
2025-02-06 20:01:18 -06:00
2024-09-24 15:24:08 -05:00
2025-02-06 20:00:56 -06:00
2025-02-07 06:29:36 -06:00
2025-01-07 07:10:42 -06:00
2024-09-01 11:29:34 -05:00
2024-11-28 06:26:51 -06:00
2024-09-04 15:33:28 -07:00
2025-01-13 12:24:05 +08:00
2024-09-25 16:18:45 -05:00
2025-01-28 08:38:22 -06:00

Meshtastic Firmware

GitHub release downloads CI CLA assistant Fiscal Contributors Vercel

Overview

This repository contains the device firmware for the Meshtastic project.

Stats

Alt

Languages
C++ 67.2%
C 30.9%
Python 1.1%
Shell 0.3%
Batchfile 0.3%
Other 0.1%