liquidraver
147ac462b3
fix deleting public channel could wipe all other channels on reboot
2026-05-07 21:43:48 +02:00
liquidraver
2a8cc88262
fix fast path LBT CAD mode
2026-05-07 11:37:09 +02:00
liquidraver
65f31ced7d
no permanent gps disable on repeaters
2026-05-06 10:11:09 +02:00
liquidraver
43a31e190d
fix CAD IRQ status clear
2026-05-06 10:07:44 +02:00
liquidraver
6bc3ba7405
disable default duty cycling + SX driver fixes
2026-05-05 21:56:00 +02:00
liquidraver and Claude Opus 4.7
5e7adfb130
normalize source-file line endings to LF
...
Add .gitattributes rules so .c/.h/.cpp/.hpp are always stored as LF
(prevents EOL drift from editors with autocrlf-true defaults), and
renormalize the 30 source files that had drifted to CRLF in the index.
Pure mechanical change — `git diff --ignore-cr-at-eol` is empty.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-05 14:56:44 +02:00
liquidraver
28e12c7eef
initial companion jitter lowering
2026-05-05 14:52:12 +02:00
liquidraver
e8f14442bf
ramp time to 800us and duty cycle to 13/3
2026-05-05 14:52:05 +02:00
liquidraver
ee2990fd16
hwconfig failsafe and duty cycle 10/6->10/4 (tests showed better reception)
2026-05-05 10:46:58 +02:00
liquidraver
9a1569c511
make rx duty cycle tuning more easy
2026-05-04 15:09:26 +02:00
liquidraver
1a956aa86a
remove hot path RX, re-done the math, solves nothing, eats battery
2026-05-02 12:13:29 +02:00
liquidraver
9282ac8c9c
stay in full RX after TX for 3 seconds
...
agc reset on every lora_recv_duty_cycle entry
2026-05-01 20:46:12 +02:00
liquidraver
624fc3306c
tune duty cycling
2026-05-01 08:58:55 +02:00
liquidraver
a81f27aea4
implement "isradioready" for early returns in rx duty cycling
2026-04-30 21:54:59 +02:00
liquidraver
7c31045bd4
fix hang near noisefloorcalibrate
2026-04-30 21:35:06 +02:00
liquidraver
961fc1ec80
sx1262 driver fixes
...
-Removed broken §15.3 implicit-header workaround (wrong addresses, wrong bit, wrong condition)
-Initialize data->rx_boost_enabled from config->rx_boosted (DTS) instead of hard-coded false
-Re-apply RX gain after the first SetRx in lora_recv_async to match restart_rx / recv_duty_cycle
-Re-issue CalibrateImage(operating_freq) after Calibrate(ALL) to keep image-rejection band correct on EU868 / 433 MHz / 779 MHz
-rx_cb_gen converted from uint32_t to atomic_t — atomic_set/get/inc at all 13 sites; local snapshot is now atomic_val_t
2026-04-30 21:18:50 +02:00
liquidraver
8a7dacf55d
increase sx1262 power to 140mA
2026-04-30 20:52:21 +02:00
liquidraver
f947b6b5b1
increase preamble like vanilla
2026-04-30 12:58:33 +02:00
liquidraver
9938d0e6ca
fix a race condition in sx driver
2026-04-30 12:56:42 +02:00
liquidraver
e930d6cc9c
more small security fixes
2026-04-30 09:53:03 +02:00
liquidraver
62232bf609
small ble fixes
2026-04-30 09:23:56 +02:00
liquidraver
0e01fb2bb0
small security fix
2026-04-29 21:01:01 +02:00
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
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
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
067e53b474
fix RX duty cycling logic
2026-04-28 15:31:03 +02:00
liquidraver
1092c49a7d
port vanilla duty cycling logic
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
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
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
d5f260c1c9
Fix ESP OTA functions
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
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
37eb87efd6
repeater housekeeping bugfix
2026-04-24 14:30:07 +02:00
liquidraver
1dde69c653
add t-echo board
...
fix e-ink displays
fix one-button confirmation bug (eg shutdown)
2026-04-24 10:10:58 +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)
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
2026-04-19 10:41:18 +02:00