Commit Graph
216 Commits
Author SHA1 Message Date
liquidraver a9f3b8ef3b cleanup t114, add build 2026-05-19 07:00:03 +02:00
liquidraver 924130b408 Merge pull request #20 from Calvario/t114
Add T114 variants (screen and screenless)
2026-05-19 06:54:16 +02:00
liquidraver b271179cc9 activate PSRAM in capable devices to fit OTA 2026-05-18 22:31:04 +02:00
liquidraver df30c447e5 west update (following 4.4 branch backports, main is still too noisy for us) 2026-05-18 21:52:15 +02:00
Steve Calvário d65703d82b Add T114 screen and screenless 2026-05-16 22:43:36 +01:00
Steve Calvário f2cdab84c4 Merge branch 'liquidraver:master' into t114 2026-05-15 19:54:47 +01:00
Steve Calvário 6dc86cc443 Init T114 without screen 2026-05-15 19:04:14 +01:00
liquidraver 3441caf8b0 new rx busy latch 2026-05-14 22:24:48 +02:00
liquidraver a6d095bc16 edit default prefs 2026-05-12 22:07:02 +02:00
liquidraver a3bfb1e4a3 fix pubic channel anomaly v2 2026-05-11 14:42:47 +02:00
liquidraver 1bb04dd968 refactor atomicwrites, add atomic contacts save to QSPI capable devices 2026-05-11 13:02:55 +02:00
liquidraver e78e197dee sx1262 fixes
- calibrate_image: revert to datasheet band table.  Narrow ±2 MHz
  window had truncation bug placing 433/869 MHz operating freq
  outside their own calibration windows.  DS §9.2.1 confirms cal
  is range-validity, not point-precision
- reset_agc: K_FOREVER mutex → K_MSEC(50).  Was holding dispatcher
  thread up to ~3 s if a long TX/RX held the SPI lock.  Now bails
  with WARN log; caller retries next maintenance interval.
2026-05-11 11:26:33 +02:00
liquidraver 2ee0fffa69 sync with vanilla 2026-05-08 10:13:42 +02:00
liquidraver 6919c3511c rx_boost state is undefined at boot (minor fix)
every LBT-retried flood packet loses its priority (fixed)
witching between LBT and non-LBT mode (or any cad.mode change) could silently skip full reconfiguration and leave the radio in the wrong mode (fixed)
2026-05-08 09:50:52 +02:00
liquidraver 66f7b8508f add/fix promicro_sx1262 build 2026-05-07 22:35:30 +02:00
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
liquidraverandClaude 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