liquidraver
5dc07d78ba
force unscoped send on magic scope word: "none" even if there is a default scope
2026-04-29 13:17:04 +02:00
liquidraver
b84830b3b3
(greatly) improve our BLE
v20260429.104549
2026-04-29 12:09:21 +02:00
liquidraver
4506280162
fix(sx126x): recover and re-arm duty-cycle RX after BUSY timeout
2026-04-29 11:11:32 +02:00
liquidraver
c187dac4b4
fix(sx126x): honor tx-enable-gpios when dio2-tx-enable is set
2026-04-29 10:40:13 +02:00
liquidraver
3da236adb2
Merge branch 'dev' of https://github.com/liquidraver/zephcore into dev
2026-04-29 09:26:49 +02:00
liquidraver
0f1fa8f185
do a full display reset after splashscreen
2026-04-29 09:26:39 +02:00
InvisibleSymbol
360b3b578d
fix(rak4631): dont touch sx1262 power-enable pin
...
Upstream Zephyr DTS
[rak4631_nrf52840.dts:124](https://github.com/zephyrproject-rtos/zephyr/blob/c6f781a4988fbb5cc3420f74e36add5ef65dbb94/boards/rakwireless/rak4631/rak4631_nrf52840.dts#L124 )
declares P1.05 as `rx-enable-gpios = <&gpio1 5 GPIO_ACTIVE_LOW>`.
MeshCore treats the same pin as `SX126X_POWER_EN`
([variants/rak4631/variant.h:155](https://github.com/meshcore-dev/MeshCore/blob/1a7b3614a8439894714a58af55ab7f501e6bb928/variants/rak4631/variant.h#L155 ))
and only ever drives it HIGH (= module on,
[RAK4631Board.cpp:51](https://github.com/meshcore-dev/MeshCore/blob/1a7b3614a8439894714a58af55ab7f501e6bb928/variants/rak4631/RAK4631Board.cpp#L51 )).
Our driver toggles it per direction at
[sx126x.c:474-475](https://github.com/zephyrproject-rtos/zephyr/blob/684c9e8f32e4373a21098559f748f06915f950c9/drivers/lora/native/sx126x/sx126x.c#L474-L475 )
— RX state sets it electrically LOW.
This resulted in degraded rx performance.
2026-04-29 09:26:39 +02:00
liquidraver
51f7b5e7e4
do a full display reset after splashscreen
2026-04-29 09:16:18 +02:00
liquidraver
16ea239234
Merge pull request #18 from InvisibleSymbol/fix-rak4631-rx
...
fix(rak4631): dont touch sx1262 power-enable pin
2026-04-29 08:53:49 +02:00
InvisibleSymbol
b1c358c574
fix(rak4631): dont touch sx1262 power-enable pin
...
Upstream Zephyr DTS
[rak4631_nrf52840.dts:124](https://github.com/zephyrproject-rtos/zephyr/blob/c6f781a4988fbb5cc3420f74e36add5ef65dbb94/boards/rakwireless/rak4631/rak4631_nrf52840.dts#L124 )
declares P1.05 as `rx-enable-gpios = <&gpio1 5 GPIO_ACTIVE_LOW>`.
MeshCore treats the same pin as `SX126X_POWER_EN`
([variants/rak4631/variant.h:155](https://github.com/meshcore-dev/MeshCore/blob/1a7b3614a8439894714a58af55ab7f501e6bb928/variants/rak4631/variant.h#L155 ))
and only ever drives it HIGH (= module on,
[RAK4631Board.cpp:51](https://github.com/meshcore-dev/MeshCore/blob/1a7b3614a8439894714a58af55ab7f501e6bb928/variants/rak4631/RAK4631Board.cpp#L51 )).
Our driver toggles it per direction at
[sx126x.c:474-475](https://github.com/zephyrproject-rtos/zephyr/blob/684c9e8f32e4373a21098559f748f06915f950c9/drivers/lora/native/sx126x/sx126x.c#L474-L475 )
— RX state sets it electrically LOW.
This resulted in degraded rx performance.
2026-04-28 21:47:41 +02:00
liquidraver
067e53b474
fix RX duty cycling logic
v20260428.134456
2026-04-28 15:31:03 +02:00
liquidraver
1092c49a7d
port vanilla duty cycling logic
v20260428.125718
2026-04-28 14:43:12 +02:00
liquidraver
b57df41753
micro-tweak: skip APC math when APC is off
2026-04-28 14:18:10 +02:00
liquidraver
e18d017b2c
refactor repeater prefs changes
v20260428.120305
2026-04-28 13:49:08 +02:00
liquidraver
bf9ad0ef40
tune delay knobs
2026-04-28 13:49:08 +02:00
liquidraver
7ecf647af8
runtime guard agc reset if rx duty cycle is enabled
2026-04-28 13:49:08 +02:00
liquidraver
85c60e613b
make our sx driver more aligned with radiolib's logics
2026-04-28 13:49:08 +02:00
liquidraver
c9b6d6bded
disable GPS cycle until reboot if no GNSS messages present
2026-04-28 13:49:08 +02:00
liquidraver
e30644d01d
fix repeater prefs saving
2026-04-28 13:49:08 +02:00
liquidraver
e7219893c6
fix repeater prefs saving
v20260427.083554
2026-04-27 10:15:37 +02:00
liquidraver
8765286119
fix CLI radio settings applied immediately instead after reboot
2026-04-27 09:09:51 +02:00
liquidraver
bab513a896
update readme
2026-04-26 21:47:20 +02:00
liquidraver
d5f260c1c9
Fix ESP OTA functions
v20260425.131224
2026-04-25 14:52:45 +02:00
liquidraver
fb25554dcb
fix stack overflow on ESP Wifi AP used for OTA
2026-04-25 13:09:58 +02:00
liquidraver
83fca69782
remove hardcoded max TX, set optional defaults instead
v20260424.210707
2026-04-24 22:46:03 +02:00
liquidraver
57aab5f522
GPS start fix when requesting telemetry
...
APC disabled by default, but compiled in
2026-04-24 22:32:05 +02:00
liquidraver
5015827c02
Fix repeater tempradio not restoring settings bug
v20260424.124550
2026-04-24 14:30:28 +02:00
liquidraver
37eb87efd6
repeater housekeeping bugfix
2026-04-24 14:30:07 +02:00
liquidraver
a6764820d3
repeater housekeeping bugfix
v20260424.103845
2026-04-24 12:23:15 +02:00
liquidraver
1dde69c653
add t-echo board
...
fix e-ink displays
fix one-button confirmation bug (eg shutdown)
v20260424.083622
2026-04-24 10:10:58 +02:00
liquidraver
235890407e
update readme
2026-04-23 09:30:59 +02:00
liquidraver
a5e5fcbb74
fix 0,0 lat/lon save to prefs as valid position, sorry people on a boat off the coast of Ghana with a very precise GPS hardware
2026-04-23 08:23:01 +02:00
liquidraver
d03deda313
port adc.multiplier command
2026-04-22 10:49:41 +02:00
liquidraver
de4bcd9a52
clear first_fix_acquired on gps off, increase timeout to 120 sec
2026-04-21 14:41:56 +02:00
liquidraver
a3244e2dc2
Three driver fixes for RX duty cycle, all applied to the existing patch
...
stolen from Zephyr main:
1. Issue StopTimerOnPreamble=1 before SetRxDutyCycle so the chip's
timer is not reset on every preamble detect (per §13.1 of the
datasheet). Without this, duty cycle effectively never sleeps in
noisy RF and current draw spikes.
2. On IRQ_RX_TX_TIMEOUT during duty-cycle RX, re-arm via
sx126x_restart_rx() instead of falling through to set_sleep().
The old path silently killed duty cycle after the first preamble
false-positive.
3. On recv_duty_cycle(NULL) cancel, wake the radio before issuing
SetStandby — BUSY stays asserted during the sleep phase and the
standby command was being dropped.
Also adds a dc_timeout_restarts atomic counter incremented on the Fix 2
path, exposed end-to-end: sx126x_ext.h accessors → LoRaRadioBase vtable
→ SX126xRadio override → CommonCLICallbacks → RepeaterMesh. Query via
`get dc.restarts` on the repeater CLI; cleared by `clear stats`. High
values indicate a noisy environment or a too-loose preamble threshold.
(+increase ESP BT stack because future zephyr pin advance will trip that mine)
v20260420.124516
2026-04-20 13:36:45 +02:00
liquidraver
f685f6c095
Merge pull request #15 from jakobmn/thinknode-m1-align-target-config
...
Fix red led polarity and update ThinkNode M1 target to match datasheet
v20260419.090733
2026-04-19 10:41:18 +02:00
liquidraver
78561036d0
bump version to match vanilla
2026-04-19 10:16:59 +02:00
liquidraver
7876ae79c3
make CAD retry jittery, sync prefs load to companion-style
2026-04-18 22:21:57 +02:00
liquidraver
3168205a19
Merge pull request #13 from 446564/repeater-prefs
...
load radio settings from prefs for repeaters
2026-04-18 20:54:23 +02:00
jakobmn
5d0b66bc4f
Update ThinkNode M1 target to match datasheet
...
- only two leds, red and blue
- fix pin definition and polarity for leds
- remove unmapped pins
- swap buttons, so they match datasheet and marking on buttons
2026-04-18 15:47:15 +02:00
Enot (ded) Skelly
a3e47b93cf
load radio settings from prefs for repeaters
2026-04-17 13:26:11 -07:00
liquidraver
d2cec84100
sync with vanilla dev
v20260417.115705
2026-04-17 13:21:30 +02:00
liquidraver
ba4b86752d
acw: airtime-scale jitter caps, companion surroundings awareness
...
- flood retransmit jitter now capped at min(2000ms, 6·airtime) instead of
fixed 2000ms — spreads tighter at SF7, unchanged at SF8
- reactive per-dupe backoff cap now min(2000ms, 12·airtime), keeps
semantic of "push past ~12 relay slots"
- contention ring 16 → 24 for 50-neighbor hilltops
- companions passively track heard floods (warms EMA without forwarding)
and spread their own TX by up to min(1000ms, 3·airtime), hopefully
fixing repeaters missing companion's first transmission
config cleanup:
- move BLE TX buffer bumps (ACL_TX=12 etc.) from zephcore_common.conf to
esp32_common.conf — the Espressif blob needs them, nRF doesn't, and
the bumps were overflowing nRF52840 RAM
- remove CONFIG_ZEPHCORE_MAX_CONTACTS=510 overrides from 5 nRF52840
companion boards; Kconfig default of 350 fits with comfortable margin
(wio prod: 91% → 79% RAM)
2026-04-17 10:24:12 +02:00
liquidraver
cba81af196
heltec v3/v4 oled&button changes
2026-04-16 13:40:30 +02:00
liquidraver
e71c3894a2
enable bluetooth privacy on esp32 to counter ios/esp bug
...
android on official app needs a manual BT bond
2026-04-16 13:02:12 +02:00
liquidraver
54eebee9e8
remove unnecessary writes on nRF
2026-04-16 11:10:07 +02:00
liquidraver
66b064ab02
I HATE BLUETOOTH
2026-04-16 10:31:11 +02:00
liquidraver
897878307d
Revert "rak ADC tuning"
...
This reverts commit 5369e5d3d8 .
2026-04-16 09:35:09 +02:00
liquidraver
be38b8889f
west update to 4.4.0rc
2026-04-15 10:04:40 +02:00
liquidraver
5369e5d3d8
rak ADC tuning
v20260414.131646
2026-04-14 14:59:20 +02:00