mirror of
https://github.com/torlando-tech/pyxis.git
synced 2026-08-06 18:59:52 +00:00
a0419fcdb4785333e2beeea58f4093bde024847d
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.
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.
Languages
C++
48.1%
C
41.4%
Python
9%
mupad
1.4%
Shell
0.1%