Commit Graph

84 Commits

Author SHA1 Message Date
GUVWAF
a3d9582b35 Replies (e.g. tapback emoji) are also a valid confirmation of receipt 2025-01-11 16:01:33 +01:00
GUVWAF
c7d04d7064 Merge remote-tracking branch 'origin/master' into NextHopRouter 2024-12-29 19:57:16 +01:00
Erayd
b2808063d0 Add new ROUTER_LATE role (#5528)
Will always rebroadcast packets, but will do so after all other modes.
Intended for router nodes that are there to provide additional coverage
in areas not already covered by other routers, or to bridge around
problematic terrain, but should not be given priority over other routers
in order to avoid unnecessaraily consuming hops.

By default, this role will rebroadcast during the normal client window.
However, if another node is overheard rebroadcasting the packet, then it
will be moved to a second window *after* the normal client one, with the
same timing behaviour.
2024-12-28 09:52:18 +11:00
GUVWAF
98b4a29ef9 Merge branch 'master' into NextHopRouter 2024-12-10 20:26:52 +01:00
GUVWAF
c3d60342f4 Don't use channel index for encrypted packet (#5509)
* Don't use channel index for encrypted packet

* Remove assert in `getKey`, set invalid key length
So encrypting will fail without reboot

* Reset channel to 0 when unable to encrypt
Such that the NAK doesn't use the failing channel hash
2024-12-05 10:00:19 +08:00
Ben Meadors
d00e0f6911 Convert userprefs to a json file instead of header file which has to be included everywhere (#5471)
* WIP

* Got string quoting and macro expansion working

* Need the placeholder

* Cleanup

* Missed a user prefs reference

* Update jsonc
2024-12-03 06:17:25 -06:00
GUVWAF
0952c861ae Don't cancel relay if we were the assigned next-hop 2024-11-27 19:44:19 +01:00
GUVWAF
bfc6a1940d Handle repeated/fallback to flooding packets properly
First check if it's not still in the TxQueue
2024-11-16 16:32:24 +01:00
GUVWAF
dbe520c3ab Merge remote-tracking branch 'origin/master' into NextHopRouter 2024-11-14 19:00:45 +01:00
GUVWAF
e866734a25 Handle repeated packet after potentially canceling previous Tx (#5330)
* Revert "Fix sending duplicate packets to PhoneAPI/MQTT (#5315)"

This reverts commit 40bc04b521.

* Handle repeated packet after potentially canceling previous Tx
2024-11-12 15:23:32 -06:00
GUVWAF
790801f8e7 Revert perhapsRebroadcast() 2024-11-05 18:57:50 +01:00
GUVWAF
28944adf20 Merge remote-tracking branch 'origin/master' into NextHopRouter 2024-11-05 18:54:32 +01:00
Ben Meadors
f769c50fa5 More reduction (#5256)
* Now with even fewer ings

* Ye

* Mo

* QMA6100PSensor
2024-11-04 19:15:59 -06:00
Ben Meadors
50dac38a1b Pass#2: Lots more savings in logs and string reduction surgery (#5251)
* Pass#2: Lots more savings in logs and string reduction surgery

* Don't need Thread suffix either

* Warn
2024-11-04 12:16:25 -06:00
Tom Fifield
276067065e Log cleanups (#5135)
* Log cleanups

change log levels, shorten log messages, delete commented out logs

* Address comments from review

* Remove full stops

* EDEBUG --> DEBUG
2024-11-04 06:09:23 -06:00
GUVWAF
e4c98185d2 Improve ACKs for repeated packets and responses 2024-11-02 19:34:21 +01:00
GUVWAF
ba4220fe50 Update protos, store multiple relayers 2024-11-01 17:02:04 +01:00
GUVWAF
aae4443e25 Merge remote-tracking branch 'origin/master' into NextHopRouter 2024-11-01 09:41:43 +01:00
GUVWAF
6fe42ed4c5 Add next_hop and relayed_by in PacketHistory for setting next-hop and handle flooding fallback 2024-11-01 09:16:51 +01:00
GUVWAF
2e303a33be Add 1 retransmission for intermediate hops when using NextHopRouter 2024-11-01 09:11:34 +01:00
Ben Meadors
4575352d8c Initial NODENUM_BROADCAST_NO_LORA implementation with NeighborInfo module (#5087)
* Initial NODENUM_BROADCAST_NO_LORA implementation with NeighborInfo module

* isBroadcast

* Trunkt
2024-10-19 12:48:00 -05:00
Thomas Göttgens
05e4a639a1 remove newline from logging statements. (#5022)
remove newline from logging statements in code. The LOG_* functions will now magically add it at the end.

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-10-14 15:11:43 +11:00
Ben Meadors
fb9f361052 Implement rebroadcast mode NONE (#5040)
* Implement rebroadcast mode none

* Correct debug message
2024-10-12 06:17:44 -05:00
GUVWAF
673fe294f3 Add rxDupe, txRelay and txRelayCanceled to LocalStats (#4936)
* Introduce `isFromUs()` and `isToUs()`

* Add rxDupe, txRelay and txRelayCanceled to LocalStats
2024-10-04 06:28:51 -05:00
Ben Meadors
00f15459ec Userprefs prefix macros for clarity and consistency (#4923)
* Convert userprefs macros to prefixed ones for clarity

* Fix key
2024-10-02 06:14:24 -05:00
Ben Meadors
18f12584ab Consolidate and shrink down the re-used strings in logs (#4907)
* Consolidate and shrink down the re-used strings in GPS

* Condense all the things

---------

Co-authored-by: GUVWAF <thijs@havinga.eu>
2024-10-01 15:38:36 -05:00
Thomas Göttgens
e91dcb4ec3 Merge branch 'master' into NextHopRouter 2024-09-04 09:57:03 +02:00
Ben Meadors
59cc57fc29 Event mode: Enforce reliable hop limit and disallow default public MQTT (#4343)
* Event mode: Enforce reliable hop limit

* Event mode: Short circuit wantsLink on MQTT for default broker address

* Just enforce at channels level since everything uses this

* For events never forward packets with excessive hop_limit

* In EVENT_MODE, don't respond with hop_limit set more then the configured max.

* Correct hop_start when correcting hop_limit in event mode.

* Make EVENT_MODE work from userPrefs.h

* Event mode: Disallow Router or Repeater roles

---------

Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz>
2024-07-29 20:16:47 -05:00
Ben Meadors
20c1d71214 Deprecate Router Client role (and make it Client) (#4201) 2024-06-29 19:03:00 -05:00
Ben Meadors
02d8715ca0 Standardize lat/lon position logs (#4156)
* Standardize lat/lon position logs

* Missed sone and condensed logs
2024-06-21 17:25:54 -05:00
Thomas Göttgens
d4ef0cdba5 Merge branch 'master' into NextHopRouter 2024-05-03 15:35:05 +02:00
GUVWAF
e51ee91c39 Optimization: stop relaying when reply is received (#3753) 2024-04-30 20:07:15 -05:00
GUVWAF
25ec0514da Resolve conflicts (needs testing) 2024-04-20 13:35:36 +02:00
GUVWAF
d30d6bd3eb Fix #3452: only alter received packet if port number matches (#3474)
* Use `alterReceivedProtobuf()` for NeighborInfo and Traceroute
`alterReceived()` should never return NULL
Traceroute should be promiscuous

* Remove extensive logging from NeighborInfo module
2024-03-23 07:31:58 -05:00
GUVWAF
eb8a12e5a2 Refactor MQTT: only publish on LoRa Tx if packet is from us and on Rx if not (#3245)
Such that direct message to MQTT node gets published and we get rid of always rebroadcasting when MQTT is enabled

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-02-21 13:00:14 -06:00
GUVWAF
0d6729b9eb Initial version of NextHopRouter 2023-10-02 19:31:23 +02:00
Ben Meadors
23fb377fd7 Don't cancel sending "seen" messages on MQTT enabled nodes (#2690) 2023-08-08 06:27:26 -05:00
Ben Meadors
41b07de5a2 Merge branch 'master' into neighborinfo 2023-07-17 09:21:08 -05:00
prokrypt
5c34e36bec Temporary band-aid to address mesh [un]reliability after queue "fix" (#2588) 2023-07-06 06:43:21 -05:00
GUVWAF
66c71250b8 Update last_sent_by_id in FloodingRouter 2023-06-08 20:59:09 +02:00
GUVWAF
344baf7ffc Cancel rebroadcast in Tx queue upon receiving another rebroadcast (#2538)
* Make portduino great again

* Upon receiving packet that was seen recently, cancel a rebroadcast if there was one in Tx queue already

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2023-06-01 13:36:30 -05:00
GUVWAF
eb4ab26e1f Check if packet is decrypted before searching node in DB (#2320)
* Check whether TraceRouteModule exists
In case in the future we don't enable it

* Check whether packet is decrypted before searching node in DB
2023-03-02 13:22:14 -06:00
Ben Meadors
860aca9335 Set encryptedOk to false for local_only rebroadcast 2023-01-30 14:50:03 -06:00
Ben Meadors
0633b2f238 Verbiage 2023-01-29 17:45:24 -06:00
Ben Meadors
ec1358b050 Debug log for indicator 2023-01-29 15:42:40 -06:00
Ben Meadors
cd35e92471 Added modes for rebroadcast 2023-01-29 14:22:51 -06:00
Ben Meadors
bdf3fe3f5c Logging tweaks 2023-01-28 13:40:14 -06:00
Thomas Göttgens
cdf379616c whatever makes trunk happy. 2023-01-21 21:23:24 +01:00
Thomas Göttgens
6fdb93cd16 re-add namespacing in protobufs. Let's see what i missed. Portduino likely ...
Checking in generated on purpose.
2023-01-21 21:23:24 +01:00
Thomas Göttgens
51b2c431d9 trunk roundhouse kick 2023-01-21 21:23:24 +01:00