Commit Graph

42 Commits

Author SHA1 Message Date
ripplebiz
cf0cc851d4 Merge pull request #1297 from ViezeVingertjes/feature/duty-cycle-token-bucket
Implement token bucket duty cycle enforcement
2026-03-08 23:54:32 +11:00
Scott Powell
45564bad9b * Dispatcher bug fixes 2026-02-23 23:51:30 +11:00
Scott Powell
3e76161e9c * refactor of Contact/Client out_path_len (stored in files), from signed to unsigned byte (+2 squashed commits)
Squashed commits:
[f326e25] * misc
[fa5152e] * new 'path mode' parsing in Dispatcher
2026-02-21 19:35:51 +11:00
ViezeVingertjes
519b97a90a Updated the Dispatcher logic to replace hardcoded values with defined constants for minimum TX budget reserve and airtime division. 2026-02-07 19:07:33 +01:00
ViezeVingertjes
30d6588792 Update logic in Dispatcher to ensure refill is only applied when greater than zero. 2026-02-07 18:26:39 +01:00
ViezeVingertjes
eb4fa032ff Implement token bucket duty cycle enforcement 2026-01-04 21:33:46 +01:00
Chris
ea2ce93c02 Add a counter to track rx time for repeater stats 2025-07-30 09:41:20 -07:00
Scott Powell
466bd6d596 * fix for when AGC reset is disabled (interval = 0) 2025-06-13 14:25:09 +10:00
Scott Powell
32ca3dc9d0 * repeater and room server: new CLI setting "agc.reset.interval" (seconds) 2025-06-13 14:15:21 +10:00
Scott Powell
b3d78ac8a7 * interference threshold now stored in prefs, CLI: set/get "int.thresh" 2025-05-26 17:18:49 +10:00
Scott Powell
0e35ae5ec6 * dynamic noise floor sampling 2025-05-25 21:44:15 +10:00
Scott Powell
f2243b78ae * added Radio::loop() virtual function
* RadioLibWrapper:  new isChannelActive() based on current RSSI being above noise_floor + THRESHOLD
2025-05-24 21:24:44 +10:00
Scott Powell
e291b57a07 * Dispatcher::checkSend() bug: getOutboundCount() should only count non-future packets 2025-05-14 16:50:11 +10:00
Scott Powell
805ca7b900 * CommonCLI: added "clear stats" command 2025-05-13 18:12:58 +10:00
Scott Powell
177dd90ca1 * Repeater/Room server: new diagnostics, stats.n_full_events now repurposed to 'err_events' (bit flags)
* new Radio::isInRecvMode() method
2025-05-13 15:38:10 +10:00
Scott Powell
b08436eba7 * startSendRaw() now returns false if fail 2025-05-12 17:26:44 +10:00
Scott Powell
1d4ae9f3c4 minor refactor 2025-04-11 19:11:06 +10:00
Scott Powell
ab8cd85d8e * added Packet::getRawLength() helper 2025-04-11 15:12:04 +10:00
Scott Powell
3c7ff8da29 * Packet::header, new: ROUTE_TYPE_TRANS_FLOOD, ROUTE_TYPE_TRANS_DIRECT
* Packet wire format change: (optional) extra 4 bytes for two trans_codes
2025-04-11 04:56:13 +10:00
Scott Powell
89bd6c3416 * Dispatcher: now impose a max time for CAD fail (ie. channel busy), defined by getCADFailMaxDuration(), default 4 seconds.
(an sx126x bug _might_ be making radio->isReceiving() return true indefinitely)
2025-03-28 20:50:42 +11:00
Scott Powell
fe4fdeb236 * redesigned TRACE packet structure 2025-03-17 17:56:12 +11:00
Scott Powell
9aa2edf9ba Merge branch 'dev' into trace
# Conflicts:
#	examples/companion_radio/main.cpp
#	src/Dispatcher.cpp
2025-03-15 15:12:50 +11:00
Scott Powell
3778c0a8ff * repeater and room server: MESH_PACKET_LOGGING, now dumps RAW: rx packet contents
* Dispatcher: MESH_PACKET_LOGGING,  added " hash={packet-hash}"
2025-03-09 20:36:49 +11:00
Scott Powell
f77a6944f9 * PUSH_CODE_LOG_RX_DATA: is now just: {snr*4},{rssi},{raw-lora-packet} 2025-03-09 17:04:22 +11:00
Scott Powell
2889867c4c * Dispatcher: added guard for packet payload size too large 2025-03-08 19:38:36 +11:00
Scott Powell
544adec2b6 * refactor Packet::_snr to single byte 2025-03-07 12:32:23 +11:00
Scott Powell
b2fcc692ea * TRACE packet logging fix 2025-03-07 12:24:18 +11:00
Scott Powell
b03aac18c0 Merge branch 'dev' into trace
# Conflicts:
#	src/Dispatcher.cpp
#	src/Mesh.cpp
#	src/helpers/BaseChatMesh.cpp
2025-03-07 12:14:26 +11:00
Scott Powell
189ed79d46 * new Dispatcher::getCADFailRetryDelay() 2025-02-27 04:05:50 +11:00
Scott Powell
e65c3e3240 * MESH_DEBUG_PRINTLN fixes 2025-02-20 18:04:35 +11:00
Scott Powell
fc02d8fbcb * Mesh/Dispatcher: MESH_DEBUG_ and MESH_PACKET_LOGGING now output date-time. (new getLogDateTime() virtual)
* MESH_PACKET_LOGGING now parity with dynamic/file logging (src/dest hashes)
2025-02-20 12:41:47 +11:00
Scott Powell
3b5b7a1642 * SimpleMeshTables: ACKs now handled separately
* Dispatcher: logging methods now with 'len' param
2025-02-18 22:59:03 +11:00
Scott Powell
9d9145a1c2 * repeater: new CLI commands: "log start", "log stop", "log erase", and "log" 2025-02-18 13:20:48 +11:00
Scott Powell
0db15db625 * new Packet type: PAYLOAD_TYPE_TRACE 2025-02-17 19:22:31 +11:00
Scott Powell
5824c9a6c0 * bug fix for rxdelay 0 2025-02-06 11:16:17 +11:00
Scott Powell
7da0a5f7ec * new RX delays based on SNR 2025-02-04 12:35:53 +11:00
Scott Powell
33bee48d38 * Terminal Chat: new commands "card" and "import" 2025-02-01 21:45:34 +11:00
Scott Powell
de27dfacb6 * basic CAD before TX, for sx126x wrappers 2025-01-21 13:37:32 +11:00
Scott Powell
e4ec9aec0b * tidy ups 2025-01-20 10:20:42 +11:00
Scott Powell
382b73f6c5 * Dispatcher: more stats added 2025-01-19 00:36:59 +11:00
Scott Powell
20cd756c88 * Radio:: getLastSNR(), getLastRSSI()
* MESH_PACKET_LOGGING
2025-01-15 17:02:49 +11:00
Scott Powell
6c7efdd0f6 Initial commit 2025-01-13 14:07:48 +11:00