Commit Graph
263 Commits
Author SHA1 Message Date
torlando-agent[bot] dcf863e581 [verified] fix: accept LXST profile and mode signals 2026-08-03 01:20:59 +00:00
Torlando 7cc368f34b Merge pull request #50 from torlando-tech/fix/web-flasher-release-safety
Build and Deploy Firmware / build-and-deploy (push) Canceled after 0s
Test / Pyxis pytest suite (build_scripts + native) (push) Canceled after 0s
Test / microReticulum native unit tests (PlatformIO native17) (push) Canceled after 0s
Make firmware recovery and web flashing persistence-safe
v0.2.5
2026-08-02 20:02:45 -04:00
Torlando e6ee0a57e5 fix: close recovery and file-selection races 2026-08-02 23:30:40 +00:00
Torlando 9c0997befa fix: make firmware updates persistence-safe 2026-08-02 23:06:44 +00:00
Torlando a0cba0561a Merge pull request #49 from torlando-tech/build/tdeck-release-environment
Build and Deploy Firmware / build-and-deploy (push) Canceled after 0s
Test / Pyxis pytest suite (build_scripts + native) (push) Canceled after 0s
Test / microReticulum native unit tests (PlatformIO native17) (push) Canceled after 0s
build: add release-qualified T-Deck firmware pipeline
v0.2.4
2026-08-02 00:18:32 -04:00
torlando-agent[bot] e5f00a8b39 ci: audit release flags and dependency pins 2026-08-02 03:57:34 +00:00
torlando-agent[bot] 01a56d344c ci: publish hook-free release firmware 2026-08-02 03:50:04 +00:00
torlando-agent[bot] 3f98f43f1f build: enforce pinned release dependencies 2026-08-02 03:05:18 +00:00
torlando-agent[bot] 959f8d8262 build: add hook-free tdeck release environment 2026-08-02 03:00:06 +00:00
Torlando 552f613f6b Merge pull request #48 from torlando-tech/fix/voice-tcp-announce-sync
fix(voice): harden LXST lifecycle and enforce ULBW
2026-08-01 22:55:16 -04:00
torlando-agent[bot] 86325ff178 docs: clarify ULBW-only call profile 2026-08-02 02:42:38 +00:00
torlando-agent[bot] 61872480c9 fix: enforce ULBW-only LXST voice profile 2026-08-02 00:39:45 +00:00
torlando-agent[bot] 80ed4357ad fix(voice): prevent stale liveness timeout sample 2026-08-01 23:00:01 +00:00
torlando-agent[bot] c2c6ae5641 fix(voice): synchronize call termination and TCP announces 2026-08-01 21:32:01 +00:00
torlando-agent[bot] 1a9dcf8cd1 docs: sanitize voice harness endpoint example 2026-08-01 14:18:38 +00:00
torlando-agent[bot] b7733c925e test: drain busy callbacks and restore BLE state 2026-08-01 14:14:56 +00:00
torlando-agent[bot] cfa6fa3afa test: harden LXST contention harness 2026-08-01 14:14:56 +00:00
torlando-agent[bot] 34b5ffeea1 test: assert timeout recovery hangup 2026-08-01 14:14:56 +00:00
torlando-agent[bot] 8e66739002 test: cover incoming call identification contention 2026-08-01 14:14:56 +00:00
torlando-agent[bot] bc0f95b100 fix: serialize LXST callbacks across interface tasks 2026-08-01 14:14:56 +00:00
torlando-agent[bot] 5ba41b7c59 fix: serialize LXST call start ownership 2026-08-01 14:14:56 +00:00
torlando-agent[bot] 69f16ca2bb fix: bind LXST callbacks to exact link identity 2026-08-01 14:14:56 +00:00
torlando-agent[bot] 8e33fb15ab fix: ignore stale LXST link callbacks 2026-08-01 14:14:56 +00:00
torlando-agent[bot] 360010f004 fix: reserve incoming calls during identification 2026-08-01 14:14:56 +00:00
torlando-agent[bot] 5a1f1c33b4 refactor: make call generation ownership explicit 2026-08-01 14:14:56 +00:00
torlando-agent[bot] 3351cab398 test: strengthen call admission contention coverage 2026-08-01 14:14:56 +00:00
torlando-agent[bot] 63e0fd0380 test: cover generation-scoped call admission 2026-08-01 14:14:56 +00:00
Torlando 01e8694c4a Merge pull request #46 from torlando-tech/fix/message-persistence-reboot
Build and Deploy Firmware / build-and-deploy (push) Canceled after 0s
Test / Pyxis pytest suite (build_scripts + native) (push) Canceled after 0s
Test / microReticulum native unit tests (PlatformIO native17) (push) Canceled after 0s
fix: preserve LXMF messages across reboot and OTA
2026-07-27 18:37:53 -04:00
torlando-agent[bot] e9cf69d878 build: pin merged microLXMF persistence fixes 2026-07-27 22:16:33 +00:00
torlando-agent[bot] 9d5cc32b82 fix: avoid duplicate delivery-state persistence 2026-07-27 04:24:58 +00:00
torlando-agent[bot] 55cd2528dd fix: validate OTA image after UI task starts 2026-07-27 01:51:44 +00:00
torlando-agent[bot] 5ffa7cec70 build: pin native-validated microLXMF fixes 2026-07-27 01:39:06 +00:00
torlando-agent[bot] 0506452f77 docs: record message-store stack contract 2026-07-26 15:43:54 +00:00
torlando-agent[bot] e885f27c77 fix: prefer opportunistic delivery for short UI messages 2026-07-26 15:30:45 +00:00
torlando-agent[bot] dcc80e14d7 fix: report active firmware and LittleFS storage 2026-07-25 02:01:05 +00:00
torlando-agent[bot] 0ea2be3fda fix: confirm successful OTA boot before restart 2026-07-24 19:21:56 +00:00
torlando-agent[bot] 12d25b2acc fix: preserve retryable messages on storage failure 2026-07-24 19:02:06 +00:00
torlando-agent[bot] 4e2e74296b fix: fail closed when message persistence fails 2026-07-24 18:22:35 +00:00
Torlando 890194e0b4 Merge pull request #45 from torlando-tech/fix/persistence-safe-flashing
Build and Deploy Firmware / build-and-deploy (push) Canceled after 0s
Test / Pyxis pytest suite (build_scripts + native) (push) Canceled after 0s
Test / microReticulum native unit tests (PlatformIO native17) (push) Canceled after 0s
fix: harden LXST audio ownership and persistent storage
2026-07-22 23:09:47 -04:00
torlando-agent[bot] eabc3578b6 fix: preserve persistent data on filesystem mount failure 2026-07-23 02:41:39 +00:00
torlando-agent[bot] 0f3b39bc19 fix: serialize LXST audio teardown on loopTask 2026-07-23 02:11:39 +00:00
Torlando 098323b3ae Merge pull request #44 from torlando-tech/fix/voice-path-store-31631b0
fix: stabilize LXST voice calls and Reticulum path storage
2026-07-22 20:13:46 -04:00
torlando-agent[bot] 8a54ba457e fix: remove invalid PSRAM address heuristic 2026-07-22 19:53:15 -04:00
torlando-agent[bot] b043d1b62a fix: synchronize recorder state reads 2026-07-22 19:38:08 -04:00
torlando-agent[bot] efd3b0bb8f fix: address Greptile safety findings 2026-07-22 19:28:32 -04:00
torlando-agent[bot] dcad46a80d fix: retain Reticulum paths on ESP32 LittleFS 2026-07-22 19:06:57 -04:00
torlando-agent[bot] 31631b0afd fix: make full-duplex voice fit live device memory 2026-07-22 13:28:23 -04:00
torlando-agent[bot] ae1f474491 fix(input): debounce phantom trackball button events 2026-07-22 11:46:10 -04:00
torlando-agent[bot] 9e151877cc fix(voice): stabilize LXST call lifecycle and add E2E harness 2026-07-22 10:25:45 -04:00
torlando-agent[bot]andClaude Opus 4.8 0281cb5b8e fix(audio): mute loopback speaker during raw-mic recording — the actual "garble" was acoustic feedback
The dominant garble was NOT the mic: T:RAWMIC/recorder ran full-duplex (start_loopback), so
the T-Deck played the decoded loopback round-trip out its OWN speaker, inches from the mic ->
acoustic feedback that built into "oscillating static that gets slowly louder". Gate the
playback ring-write off while the PSRAM recorder is active (i2s_playback.cpp) so raw-mic
captures are feedback-free -> speech becomes intelligible (Whisper recovers ~85% of words).

Also in this change:
- Recorder stores BOTH TDM channels (main.cpp) for offboard de-interleave; confirmed CH0 is
  the mic, CH1 dead -> de-interleave was always correct.
- MCLK raised to an exact APLL-locked 12.288MHz (es7210.cpp MCLK_DIV_FRE=768 + the
  {12288000,16000} coeff; i2s_capture.cpp use_apll=true/fixed_mclk) -- cleaner than the
  fractional-N 4.096MHz, though the feedback (not jitter) was the real cause.

Residual (under investigation): signal-correlated distortion ("static reacts to speech") +
50Hz mains hum (USB-ground pickup, removed by the existing 300Hz HPF in the call path).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UWZuYkHBRqNb6BZHV8sTG5
2026-06-24 21:46:57 -04:00