Commit Graph
35 Commits
Author SHA1 Message Date
liquidraver 6bc3ba7405 disable default duty cycling + SX driver fixes 2026-05-05 21:56:00 +02:00
liquidraver fb25554dcb fix stack overflow on ESP Wifi AP used for OTA 2026-04-25 13:09:58 +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 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 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 0898699c33 patch file CLRF fixup and repeater-observer hybrid first implementation 2026-04-09 11:02:58 +02:00
liquidraver 875e6554d4 Implement MQTT Observer role 2026-04-05 14:34:06 +02:00
liquidraver 2051e1b51a telemetry bugfix and "healthcheck" conf for debug logging 2026-03-31 20:35:39 +02:00
liquidraver c9013d85d4 update zephyr 2026-03-23 08:56:21 +01:00
liquidraver feeeabefd0 wake up on button press 2026-03-16 14:17:18 +01:00
liquidraver 71684af590 rework buttons, add quintuple press for disabling leds 2026-03-16 12:56:10 +01:00
liquidraver eb5149fd0f fix BLE advert name for backwards compatibility 2026-03-16 11:49:12 +01:00
liquidraver d2ffe67420 thinknode m1 fixes 2026-03-14 10:37:49 +01:00
liquidraver c96112b79f thinknode m6 port 2026-03-11 14:51:51 +01:00
liquidraver 6576c55ad4 cleanup and unification 2026-03-10 16:01:00 +01:00
liquidraver a942f50b29 M1 fixes 2026-03-10 15:44:57 +01:00
liquidraver f13d8062c0 fix "no android pairing request" 2026-03-09 22:09:55 +01:00
liquidraver 14f0bb54c6 increase littlefs cache 2026-03-09 12:18:47 +01:00
liquidraver 6cccd55d6b make file system universal across all boards 2026-03-09 11:38:43 +01:00
liquidraver 37c07b29f0 MG24 entropy/filesystem fixes 2026-03-09 11:27:38 +01:00
liquidraver 22efe4da6f fs revert cleanup 2026-03-04 09:21:05 +01:00
liquidraver 57d8cf1c46 ditch arduino's hacky-hacky FS, back to zephyr native
mg24 fix
dfu zip generation fix
2026-03-03 13:46:48 +01:00
liquidraver 99784d5856 update thinknode + example 2026-03-02 08:31:38 +01:00
liquidraver bb5aca423c refactor storage, got rid of packet loss on lr1110 2026-02-27 22:41:16 +01:00
liquidraver d8ca96c9c8 ble tuning 2026-02-25 17:16:03 +01:00
liquidraver 403914d126 rework sx and lr1110, improve BLE sync 2026-02-25 14:19:25 +01:00
liquidraver 3b7434be4c unify conf + clean up prod builds 2026-02-24 16:27:07 +01:00
liquidraver 6c7d52e725 t1000 gps fix 2026-02-24 15:50:11 +01:00
liquidraver 37d2b777d7 add tlorac6, switch of asserts in all esp 2026-02-23 13:50:57 +01:00
liquidraver 27e31f7274 max contacts fix 2026-02-22 14:36:33 +01:00
liquidraver 73222600b2 merge everything important up until d05d6abab8b52c0f20a0f85a0939c74bc762b4ad meschore/dev 2026-02-22 13:41:57 +01:00
liquidraver b6bc46b921 ESP OTA first implementation 2026-02-22 13:09:18 +01:00
liquidraver dcd8a03c5b Add Station G2 2026-02-20 22:40:56 +01:00
liquidraver 1587a8bcdf max contacts update 2026-02-20 15:13:40 +01:00
liquidraver 8d1823d0b6 First iteration that seems to work 2026-02-20 12:43:13 +01:00