Commit Graph
1001 Commits
Author SHA1 Message Date
agessaman 542f8a31ee Enhance MQTTBridge to manage active connection slots based on available memory. Introduced psram_calloc for memory allocation with PSRAM support, limiting active slots to 3 with PSRAM and 2 without. Updated slot setup logic to prevent exceeding active slot limits during MQTT operations. 2026-03-20 22:50:39 -07:00
agessaman b43e9618db Refactor MQTT bridge implementation to support up to 3 configurable connection slots with built-in presets for LetsMesh Analyzer (US/EU) and MeshMapper. Update CLI commands for slot management and enhance configuration migration from legacy settings. Adjust related documentation and code structure for improved clarity and functionality. 2026-03-20 22:41:41 -07:00
agessaman abe6e046fe Merge branch 'upstream/dev' into mqtt-bridge-implementation
Reverted prior dev merge, then merged current meshcore-dev dev. Resolved
CommonCLI by restoring MQTT prefs flow with upstream com_prefs layout
(rx_boosted_gain at offset 79), rxgain CLI, poweroff/shutdown, and FEM
variant files from upstream.

Made-with: Cursor
2026-03-20 15:55:39 -07:00
agessaman 22eb9b87a3 Revert "Merge remote-tracking branch 'origin/dev' into mqtt-bridge-implementation"
This reverts commit 2b63765522, reversing
changes made to 304719e8e0.
2026-03-20 15:54:14 -07:00
agessaman 2b63765522 Merge remote-tracking branch 'origin/dev' into mqtt-bridge-implementation 2026-03-20 06:06:06 -07:00
Quency-D f6cfed66b3 add heltec_mesh_node_t096 board. 2026-03-20 15:56:09 +08:00
João BrázioandGitHub 83b7a95679 Merge pull request #2 from weebl2000/2026/remote-lna
Make sure LR1110 builds
2026-03-16 09:55:00 +00:00
João BrázioandGitHub 92bef49c55 Merge branch 'dev' into 2026/remote-lna 2026-03-16 09:40:10 +00:00
João Brázio 274e00df50 Merge remote-tracking branch 'upstream/dev' into 2026/remote-lna 2026-03-16 09:37:55 +00:00
Wessel Nieboer 0e62240119 Set AUTO_OFF_MILLIS to 0 for E213, E290 2026-03-15 15:51:31 +01:00
Wessel Nieboer 696323c11b Fix Heltec E213 and E290 e-ink board builds 2026-03-15 15:51:25 +01:00
Wessel Nieboer 9af332b6e6 Make sure LR1110 builds 2026-03-13 13:48:36 +01:00
Scott Powell bb8dc5b55b Merge branch 'main' into dev 2026-03-12 18:14:56 +11:00
ripplebizandGitHub 792f299986 Merge pull request #1873 from Specter242/codex/sensecap-solar-led-poweroff-parity
sensecap solar: add poweroff/shutdown support and nrf52 PM parity
2026-03-12 18:13:14 +11:00
Liam CottleandGitHub 8ac8c4d59d Merge pull request #1991 from weebl2000/prevent-auto-restart-ble-nrf52
Prevent auto-restarting BLE when disabling it on nRF52
2026-03-11 22:05:25 +13:00
Liam CottleandGitHub 8a3262cd70 Merge pull request #1483 from ssp97/dev
fix: avoid redundant redefinition of SX126X_DIO3_TCXO_VOLTAGE
2026-03-11 21:49:31 +13:00
Liam CottleandGitHub a10476efd7 Merge pull request #1845 from lincomatic/repeaterbaud
don't limit bridge_baud to 115200
2026-03-11 11:51:00 +13:00
Wessel Nieboer e3afbf975e Prevent auto-restarting BLE when disabling it on nRF52
If client is still connected, client would automatically reconnect
immediately thus keeping BLE on

fixes #1933
2026-03-10 14:31:58 +01:00
Scott Powell 2715d3a113 * Dispatcher::next_tx_time init fix 2026-03-08 23:58:28 +11:00
ripplebizandGitHub 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
ripplebizandGitHub 29be7e293c Merge pull request #1877 from DanielNovak/fix-countbefore-sentinel-regression
Fix countBefore regression: replace sentinel with getOutboundTotal()
2026-03-07 18:48:02 +11:00
Liam CottleandGitHub aad56bb334 Merge pull request #1936 from Quency-D/dev-heltec-tracker-v2
Update Heltec Tracker v2 to version KCT8103L.
2026-03-07 17:59:19 +13:00
Liam CottleandGitHub 5dddb8a3a1 Merge pull request #1350 from weebl2000/sync-gps-time-30min
Sync gps time every 30min
2026-03-07 17:11:07 +13:00
Quency-D cdca79540f Update Heltec Tracker v2 to version KCT8103L. 2026-03-06 14:19:07 +08:00
João Brázio 9a95e25ef2 Remove unused RX boosted gain mode functions and related preprocessor directives across multiple variants 2026-03-05 18:38:57 +00:00
João Brázio f858f2e4bb Rename sx126x_rx_boosted_gain to rx_boosted_gain 2026-03-05 18:14:47 +00:00
João Brázio 8df87d5609 Merge remote-tracking branch 'upstream/dev' into 2026/remote-lna 2026-03-05 17:21:38 +00:00
agessaman 56ac85fa72 Merge upstream/dev into mqtt-bridge-implementation
Resolve conflict in CommonCLI.h: keep MQTT/WiFi/timezone fields and add
upstream loop_detect. Add loop_detect sanitization in loadPrefsInt.

Made-with: Cursor
2026-03-04 21:38:36 -08:00
Scott Powell e233346bf0 * repeater: new "get/set loop.detect {off | minimal | moderate | strict }" 2026-03-05 16:26:09 +11:00
Liam CottleandGitHub dc9e7abacc Merge pull request #1490 from mesher-de/feature-0hop-cli
Add CLI-command for zerohop advert
2026-03-05 15:24:48 +13:00
Liam CottleandGitHub 044c66e261 Merge pull request #1001 from kallanreed/fix_gps_debug_logging
Use correct macro for GPS logging test
2026-03-05 13:14:37 +13:00
agessaman dcbbe5a6d7 Merge upstream/dev into mqtt-bridge-implementation
Resolve conflicts in Heltec tracker/v4 board files: keep upstream
GPIO setup (RTC hold release) and branch comments for GC1109 FEM.

Made-with: Cursor
2026-03-03 12:59:40 -08:00
Wessel NieboerandWessel Nieboer 10f2fecd45 Sync time with GPS every 30 minutes
Unless your GPS is being spoofed there isn't really a downside to
syncing more often with GPS.

I understand the RTC is very stable, but especially with powersaving now
clock drift is worse, we should sync more often.
2026-03-03 15:44:55 +01:00
Liam CottleandGitHub cdd3d5f34e Merge pull request #1841 from weebl2000/nit-prefs
prefs is 5 char length :nerd:
2026-03-04 01:39:55 +13:00
ripplebizandGitHub 7c594ebc50 Merge pull request #1743 from weebl2000/fixagcreset
fix agc reset on SX126x, SX1276 & LR11x0 chips
2026-03-03 22:19:34 +11:00
Liam CottleandGitHub d7ad89046b Merge pull request #1633 from weebl2000/fix/gps-uart-power-leak
Fix GPS UART consuming +8mA when disabled (nRF52)
2026-03-03 23:26:58 +13:00
Wouter BijenandClaude Opus 4.6 2cb08775c0 Clarify comment wording: 1 = direct (0 hops)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 08:40:17 +01:00
Wouter BijenandClaude Opus 4.6 c016db86d5 Address PR review: subtract-1 encoding and clamp max_hops
- Change > to >= so stored value 1 means direct/0-hop only (liamcottle)
- Clamp max_hops to 63 on write since getPathHashCount() caps at 63 (robekl)
- Update comments to reflect encoding: 0=no limit, 1=direct only, N=up to N-1 hops

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 08:37:22 +01:00
Wouter BijenandClaude Opus 4.6 00566741f6 Add configurable max hops filter for auto-add contacts
Filter auto-add of new contacts by hop count (issues #1533, #1546).
Setting is configurable from the companion app via extended
CMD_SET/GET_AUTOADD_CONFIG protocol (0 = no limit, 1-63 = max hops).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:41:41 +01:00
Daniel Novak 0d87dcc989 Also fix countBefore(0xFFFFFFFF) to return _num
The signed comparison in countBefore breaks for the max uint32_t value.
Even though callers now use getOutboundTotal(), the function itself
should be correct for all inputs.
2026-03-01 07:41:50 +01:00
Wessel NieboerandWessel Nieboer 8a9a0dca5f Fix GPS +8mA power leak when disabled (nRF52)
On the T114, GPS_RESET (pin 38) is the same pin as PIN_3V3_EN.
MicroNMEALocationProvider::begin() sets pin 38 HIGH (powering the 3V3
rail) but stop() never set it back LOW, leaving the GPS module powered
even when disabled.

Assert reset pin in stop() to mirror begin(), and guard
_location->loop() behind gps_active check.

Fixes meshcore-dev/MeshCore#1628
2026-02-28 19:13:42 +01:00
Wessel Nieboer 9bae9d0ed2 fix comment, we know the band now after checking LR1110 user manual 2026-02-28 19:09:25 +01:00
Wessel Nieboer 85f764a114 Calibrate configured frequency for AGC reset 2026-02-28 19:09:25 +01:00
Wessel Nieboer f54948e06d Also implement LR11x10 AGC reset
Similar to SX126x but simpler.
2026-02-28 19:09:25 +01:00
Wessel NieboerandWessel Nieboer b2032e11b6 make it more dry 2026-02-28 19:09:25 +01:00
Wessel NieboerandWessel Nieboer 9106ab46e1 reset noise_floor sampling after agc reset 2026-02-28 19:09:25 +01:00
Wessel NieboerandWessel Nieboer a2dc2eb50c when doing AGC reset, call Calibrate(0x7F)
1. warm sleep
2. wake to stdby
3. Calibrate(0x7F) to reset all internal blocks
4. re-apply DIO2 RF / boosted gain & register patch to make sure
everything is as it was
2026-02-28 19:09:25 +01:00
Wessel NieboerandWessel Nieboer f81ec4b14c fix agc reset 2026-02-28 19:09:25 +01:00
Wessel NieboerandWessel Nieboer d9e67222f5 prefs is 5 char length :nerd: 2026-02-28 19:07:38 +01:00
Daniel Novak c7568a8db0 Replace 0xFFFFFFFF sentinel with explicit getOutboundTotal()
Instead of overloading getOutboundCount() with a magic sentinel value,
add a dedicated getOutboundTotal() method to the PacketManager interface
that returns the total queue size without time filtering.

This eliminates the fragile convention that caused the regression and
makes the two operations — time-filtered count vs total count —
explicitly separate in the API.
2026-02-28 17:19:04 +01:00