Commit Graph

2376 Commits

Author SHA1 Message Date
Wessel 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 Cottle
cdd3d5f34e Merge pull request #1841 from weebl2000/nit-prefs
prefs is 5 char length :nerd:
2026-03-04 01:39:55 +13:00
ripplebiz
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 Cottle
ba3d9e264e Merge pull request #1836 from weebl2000/fix-rak3401-sky66122-11-fem
Fix RAK3401 SKY66122-11 FEM control: enable CSD/CPS for proper PA/LNA operation
2026-03-03 23:51:42 +13:00
Liam Cottle
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
Liam Cottle
67779aded8 Merge pull request #1600 from weebl2000/heltec_deep_sleep_lna
Hold GC1109 PA_POWER during deep sleep for LNA RX wake
2026-03-03 23:20:22 +13:00
Liam Cottle
bbd621ba85 Merge pull request #1351 from weebl2000/heltec_wireless_tracker_gps
Support GPS properly on Heltec Wireless Tracker v1.x
2026-03-03 23:11:46 +13:00
ripplebiz
6431cd2d47 Merge pull request #1900 from wbijen/feature/contact-filter-by-hops
Add configurable max hops filter for auto-add contacts
2026-03-03 21:05:44 +11:00
Wouter Bijen
1d190ad944 Clamp max_hops to 64 to cover full protocol hop range (0-63) 2026-03-03 09:05:53 +01:00
Wouter Bijen
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 Bijen
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 Bijen
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
Wessel 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
59d9770ab9 Add GPS support Heltec Wireless Tracker v1.x
Pin mapping verified against HTIT-Tracker V0.5 schematic:
- GPIO35 (GPS_EN): N-ch MOSFET drives P-ch high-side switch, active HIGH
- GPIO36 (GPS_RST): hardware reset, active LOW
- GPIO33/34: UART TX/RX

Delegates power management to MicroNMEALocationProvider begin()/stop()
which independently controls GPS power via GPS_EN and shares VEXT with
the display through RefCountedDigitalPin.
2026-02-28 19:09:28 +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 Nieboer
b2032e11b6 make it more dry 2026-02-28 19:09:25 +01:00
Wessel Nieboer
9106ab46e1 reset noise_floor sampling after agc reset 2026-02-28 19:09:25 +01:00
Wessel 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 Nieboer
f81ec4b14c fix agc reset 2026-02-28 19:09:25 +01:00
Wessel Nieboer
49d8313501 Fix pin mapping & TX switch (it's DIO2) 2026-02-28 19:09:06 +01:00
Wessel Nieboer
5a5568ed56 Drive CTX low first 2026-02-28 19:09:06 +01:00
Wessel Nieboer
ac2aa03b09 Add SX126X_REGISTER_PATCH for RAK3401 2026-02-28 19:09:06 +01:00
Wessel Nieboer
70f1ad4aeb Fix RAK3401 SKY66122-11 FEM control: enable CSD/CPS for proper PA and LNA operation
The RAK13302 1W module uses a Skyworks SKY66122-11 front-end module with
three digital control pins (CSD, CTX, CPS) that must be actively driven
by the host MCU. The previous code only managed CTX (GPIO 31) — toggling
it for TX/RX — but never initialized CSD (GPIO 24) or CPS (GPIO 21),
leaving them floating with no pull-up/pull-down resistors on the PCB.

With floating CSD and CPS, the SKY66122 was in an undefined operating
mode:
- The 30 dB TX PA may not have been reliably engaging
- The 16 dB RX LNA was never reliably active, degrading receive
sensitivity
2026-02-28 19:09:06 +01:00
Wessel Nieboer
d9e67222f5 prefs is 5 char length :nerd: 2026-02-28 19:07:38 +01:00
Wessel Nieboer
2bb6f636a4 Add 1ms delay after powering PA (cold-boot) 2026-02-28 19:05:31 +01:00
Wessel Nieboer
329e408197 Hold GC1109 PA_POWER during deep sleep for LNA RX wake
The GC1109 FEM needs its VFEM_Ctrl pin held HIGH during deep sleep
to keep the LNA active, enabling proper RX sensitivity for
wake-on-packet. Without this, the LNA is unpowered during sleep
and RX wake sensitivity is degraded by ~17dB.

Release RTC holds in begin() after configuring GPIO registers
(not before) to ensure glitch-free pin transitions on wake.

Trade-off: ~6.5mA additional sleep current for significantly
improved wake-on-packet range.
2026-02-28 19:05:31 +01:00
fdlamotte
06ab9f7f6b Merge pull request #1871 from enricolorenzoni59/gps-sync-reply
`gps sync` reply: fill buffer with text
2026-02-28 07:45:19 -04:00
enricolorenzoni59
8ad17d1022 gps sync reply: fill buffer with text 2026-02-28 09:07:30 +00:00
Liam Cottle
eee42c5099 Merge pull request #1569 from IoTThinks/MCdev-Fixed-Incorrect-Release-of-RefCountedDigitalPin
Fixed RefCountedDigitalPin.h and SSD1306Display for Heltec v4
2026-02-28 17:35:17 +13:00
Scott Powell
b67decfba0 * bug fix: Packet::writeTo(), Packet::readFrom() 2026-02-26 15:36:21 +11:00
Scott Powell
ca81f645ed Merge branch 'multibyte-paths' into dev 2026-02-26 12:30:23 +11:00
ripplebiz
5280433098 Merge pull request #1820 from recrof/patch-1
Update default preset to EU/UK (Narrow)
2026-02-26 12:08:17 +11:00
Scott Powell
def01889aa Merge branch 'dev' into multibyte-paths 2026-02-25 17:11:51 +11:00
Scott Powell
8737c64fdb * Packet::copyPath() fix 2026-02-25 17:10:31 +11:00
Liam Cottle
e6e87fb8ca Merge pull request #1838 from weebl2000/github_workflows_sanitycheck
Add basic sanity test github PR workflow
2026-02-25 14:52:10 +13:00
Wessel Nieboer
15cce12efd Add basic sanity test github PR workflow
Build a few generic variants to verify at least those compile. Can't
hurt.
2026-02-25 02:43:48 +01:00
Scott Powell
f4748a7f9d * misc 2026-02-24 21:30:04 +11:00
Rastislav Vysoky
b777a7c635 Update default preset to EU/UK (Narrow) 2026-02-24 11:28:23 +01:00
Scott Powell
b14879ce2d * CMD_GET_ADVERT_PATH bug fix 2026-02-24 14:23:59 +11:00
Liam Cottle
f7c8cf1146 Merge pull request #1808 from callum5892/dev
Added build flags for M5Stack Unit C6L
2026-02-24 12:24:56 +13:00
callum5892
9f4eeeeceb Added build flags for M5Stack Unit C6L
Enabled USB-CDC on boot for M5Stack_Unit_C6L_companion_radio_usb to fix serial connection issues
2026-02-23 17:31:18 +00:00
Scott Powell
9d5c4865c3 * room server fix 2026-02-24 01:08:11 +11:00
Scott Powell
213d085012 * revert CMD_SEND_SELF_ADVERT, use _prefs.path_hash_mode 2026-02-24 00:08:13 +11:00
Scott Powell
45564bad9b * Dispatcher bug fixes 2026-02-23 23:51:30 +11:00
Scott Powell
5b0884ad2d * added CMD_SET_PATH_HASH_MODE 2026-02-23 21:08:22 +11:00
Scott Powell
e52d57c065 * companion: new pref: path_hash_mode (0..2)
* companion: new field in CMD_SET_OTHER_PARAMS, path_hash_mode
* companion: CMD_SEND_SELF_ADVERT, cmd_frame[1] now holds the path hash size (0 = zero hop, 1..3 = flood path hash size)
2026-02-23 18:26:56 +11:00
Scott Powell
a66773bac0 * CommonCLI: added "get/set path.hash.mode " 2026-02-23 14:25:19 +11:00
Scott Powell
05e7b682b9 Merge branch 'dev' into multibyte-paths 2026-02-23 13:11:36 +11:00