Commit Graph
164 Commits
Author SHA1 Message Date
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
liquidraver 30c0cba4c9 xiao nrf ADC tuning 2026-04-14 14:38:00 +02:00
liquidraver 706d723d2b xiao nrf UART log backend 2026-04-14 14:04:16 +02:00
liquidraver 3c2ba020c8 Add simple xiao nrf support 2026-04-14 13:29:42 +02:00
liquidraver 26eb4a3729 Add automatic release building by stphnrdmr
First release, no changelog for you!
Thanks stphnrdmr!
2026-04-14 12:13:21 +02:00
liquidraver e1c04113ca update default prefs 2026-04-14 12:07:52 +02:00
Stephan Rodemeier d61a2c3437 Add releases via github actions
This adds automatic builds via Github Actions. A new release will be
created when a new commit is pushed to the "master" branch. The
description for the release will be taken from the latest commit, in the
case of a merged pull request that will be the merge commit.

To add new boards for building, extend the arrays in the build.sh script.
To start, I included all boards from `supported_boards.md`.
2026-04-14 11:17:09 +02:00
liquidraver 6de710acce cleanup supported boards 2026-04-14 11:16:34 +02:00
liquidraver 3903ebf649 mention wismesh pocket in supported boards 2026-04-14 11:10:43 +02:00
liquidraver 085b1a7ce5 Wismesh pocket update to RAK overlay 2026-04-14 10:41:26 +02:00
liquidraver d03ab90be6 LED refactor + RAK reversed polarity fix 2026-04-14 09:11:58 +02:00
liquidraver 076becb70f RAK4631 - enable display support 2026-04-14 08:55:11 +02:00
liquidraver 5c3df69621 atomic write (temp + sync + rename) for identity, prefs, and channels 2026-04-13 21:52:40 +02:00
liquidraver b03f604960 Merge pull request #7 from mattzzw/promicro_sx1262_voltage
promicro_sx1262: Set battery adc voltage devider to 2:1, 3.6V ref
2026-04-13 20:55:09 +02:00
liquidraver a716d2478f port seeed solar p1 + gps command fixes 2026-04-13 11:48:34 +02:00
Matthias Wientapper 4c76e8e6c0 promicro_sx1262: Set battery adc voltage devider to 2:1, 3.6V ref 2026-04-12 21:14:07 +02:00
liquidraver ee0892831f update supported boards 2026-04-09 14:08:30 +02:00
liquidraver 03fd4e0fc7 heltec v3 console fix 2026-04-09 13:52:15 +02:00
liquidraver 4f6b0cca27 fix repeater-observer hybrid freezing 2026-04-09 12:23:27 +02:00
liquidraver 0898699c33 patch file CLRF fixup and repeater-observer hybrid first implementation 2026-04-09 11:02:58 +02:00
liquidraver 530565d02f update readme 2026-04-08 13:12:19 +02:00
liquidraver 3b3eff7aab initial port of heltec v4 and v4.3 boards 2026-04-08 11:21:44 +02:00
liquidraver 5f9c8b0d99 sx1276: fix loramac-node direction fast-path, resetAGC, add BW 62.5kHz
Three correctness fixes for the SX127x radio adapter on top of
Rastislav's initial sx1276 + patch commits:

1. _loramac_node flag (LoRaRadioBase + SX127xRadio):
   Guard the direction-only fast path in configureTx()/configureRx()
   so loramac-node always calls both Radio.SetTxConfig() and
   Radio.SetRxConfig().  Skipping either leaves TxTimeout=0 in the
   library, causing an immediate TX timeout callback, which prevents
   the _tx_signal from ever being raised and blocks the TX wait thread
   for TX_TIMEOUT_MS (5 s) — a 5-second RX blackout per transmission.
   This was the root cause of "boots but no RX".

2. SX127xRadio::resetAGC() override:
   The base-class resetAGC() calls startReceive() after hwResetAGC().
   During async RX the loramac-node modem mutex is STATE_BUSY, so
   lora_recv_async() returns -EBUSY, which sets _in_recv_mode = 0 and
   corrupts the receive state machine.  Override skips the call
   entirely — the loramac-node driver self-manages AGC.

3. BW 62.5 kHz support in loramac-node/sx1276.c + patch:
   Rastislav's 0004-lora-sx127x-62k5-bandwidth.patch adds BW_62_KHZ
   support to sx12xx_common.c (Zephyr side) but not to the loramac-
   node library itself.  Without this fix bandwidth index 3 hits the
   "while(1)" fatal guard in SX1276SetRxConfig/SX1276SetTxConfig.
   This commit patches sx1276.c directly and adds
   patches/modules/loramac-node/0001-sx1276-bw62k5.patch so the fix
   survives west update.  CMakeLists.txt is extended to apply module
   patches via the existing zephcore_apply_patches() mechanism.
2026-04-08 08:30:17 +02:00
liquidraver f718fae057 update readme 2026-04-07 21:01:31 +02:00
Rastislav Vysoky a72dc3e4d9 fixes for esp32 and sx1276 2026-04-07 20:58:55 +02:00
Rastislav Vysoky da22b127c3 sx1276 2026-04-07 19:05:32 +02:00
liquidraver 2af08b251b west update 2026-04-06 17:05:50 +02:00
liquidraver 7acd08cbd9 add espc6 fix heltec v3 2026-04-05 21:38:33 +02:00
liquidraver 1a20cdb4ea add xiao esp32-s3 2026-04-05 20:08:40 +02:00
liquidraver 7998b5eae3 observer self-advert on mqtt when lat/lon and custom name is set 2026-04-05 17:21:37 +02:00
liquidraver f22af597db disable power domain in mcuboot (fix for heltec build) 2026-04-05 16:35:04 +02:00
liquidraver 875e6554d4 Implement MQTT Observer role 2026-04-05 14:34:06 +02:00
liquidraver 37adeefd22 remove leftover log level code 2026-04-03 13:55:40 +02:00