Commit Graph
158 Commits
Author SHA1 Message Date
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
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
liquidraver e115f24b31 buzzer and led queued offline message indicator
- buzzer was bugged when message received
- green led: hearthbeat, blue led: message received indicator (when not connected to app)
- if only one led blinks: hearthbeat 20msec, message received 200msec
2026-04-02 21:06:28 +02:00
liquidraver 97e13700ec west update 2026-04-01 12:27:42 +02:00
liquidraver 6aaf78f50d sync cli with arduino 2026-04-01 12:05:00 +02:00
liquidraver a1dddbea75 Repeater GPS: separate advert vs telemetry position, persist last fix
GPS fixes no longer overwrite prefs lat/lon — adverts use only
manually-set coordinates (via gps setloc or companion app)

Precise GPS position served via telemetry requests only
getNodeLat()/getNodeLon() returns live GPS fix

Last good fix persisted to /lfs/gps_pos — survives reboots

| Command | Description |
|---------|-------------|
| `gps` | Show GPS status (`on` or `off`) |
| `gps on` | Enable GPS module |
| `gps off` | Disable GPS module |
| `gps setloc` | Update stored latitude/longitude from current GPS fix |
| `gps advert` | Show current location advertising policy |
| `gps advert none` | Do not include location in advertisements |
| `gps advert share` | Include live GPS location in advertisements |
| `gps advert prefs` | Include stored lat/lon from prefs in advertisements |
2026-04-01 11:06:09 +02:00
liquidraver 2051e1b51a telemetry bugfix and "healthcheck" conf for debug logging 2026-03-31 20:35:39 +02:00
liquidraver fc28b32d52 west update 2026-03-29 18:20:20 +02:00