torlando-tech a0419fcdb4 deps(codec2): swap vendor for sh123/esp32_codec2@^1.0.7
sh123/esp32_codec2 PR #4 (merged Jan 6 2026) updated the bundled
codec2 to the modern stable line — addresses the v0.9.2-vs-pycodec2-
v1.2.0 interop gap that motivated vendoring back on May 8. With the
version gap closed, the standalone vendor in lib/codec2/ becomes
pure noise: 42 .c source files (~2.9 MB tree) sitting in the repo
when a single lib_deps line plus two build_flags get the same
behaviour.

Changes:
  - platformio.ini lib_deps (both env blocks): `codec2` (vendored)
    → `sh123/esp32_codec2@^1.0.7`. Comment notes the version
    history so future eyes don't re-vendor.
  - platformio.ini build_flags (both env blocks): add
    `-D__EMBEDDED__` and `-DMEMORY_CRITICAL` so codec2's codebook
    tables land in flash (.const) instead of BSS. Moved here from
    lib/codec2/library.json's `build.flags`. Without these, ~127 KB
    of codebook data competes with LVGL's framebuffer in BSS.
  - lib/codec2/ (vendored tree) deleted — 106 files, ~43,000 lines.
    PIO will fetch sh123 into .pio/libdeps/tdeck/esp32_codec2/ on
    first build.

Size impact:
  - RAM: 27.4% → 27.4% (no change; codebooks were already in flash
    via __EMBEDDED__).
  - Flash: 77.0% → 79.8% (+~88 KB). sh123 ships the full codec2
    source (69 .c files) vs the trimmed vendor (42 files): unused
    paths like FreeDV, OFDM, COHPSK, FSK get linked in. Well below
    the 100% partition limit; can revisit with `lib_ignore` if
    flash pressure increases.

This is a real-functional change vs the rest of this PR which is
purely build-config rewiring. Audio fidelity should be unchanged
(sh123 carries the same codec2 SHA range as the vendor), but worth
revalidating with the codec2 fidelity test against pycodec2 before
merging.
2026-05-10 23:40:15 -04:00
2026-02-07 11:49:21 -05:00
2026-03-04 14:12:36 -05:00

Pyxis logo

Pyxis

An LXMF and LXST client firmware for T-Deck, built on a highly modified fork of microReticulum

Very much WIP, don't expect stability :)

Features

Reticulum transport over:

  • RNode-compatible LoRa
  • AutoInterface (local wifi)
  • TCP Client
  • BLE Interface (barely working if at all)

Other features:

  • GPS-synced time
  • One really annoying beep when you get a new message (user toggle)
  • View the announce stream
  • Choose a propagation node (and sync with it) (fixed in v0.2.1)
  • Set auto announce timer
  • Light up keyboard (user toggle)
  • Will crash in about 5 minutes of normal use (sorry) I had 5d uptime on v0.2.0 with BLE disabled
  • Make LXST voice calls (codec2 only, quality sounds horrible coming out the other end in Columba, needs work)

Why "Pyxis"

Pyxis, latin for "compass," is a constellation in the southern sky depicting a mariner's compass. Small but essential, the compass ensures every message finds its destination - even when the path is uncertain.

S
Description
No description provided
Readme GPL-3.0
234 MiB
Languages
C++ 48.1%
C 41.4%
Python 9%
mupad 1.4%
Shell 0.1%