mirror of
https://github.com/torlando-tech/pyxis.git
synced 2026-10-22 14:01:24 +00:00
6dbbe1bee7f15bfa617e7f8b0c3c61557635d771
VoiceFilterChain::applyHighPass collapsed to a constant-gain multiplier instead of a real high-pass response. The inner loop read `samples[prevIdx]` as "previous input" — but that slot held y[n-1] (output) since the previous iteration had overwritten it. Substituting that into the formula y[n] = α(y[n-1] + x[n] - x[n-1]) with x[n-1] := y[n-1] gave y[n] = α(y[n-1] + x[n] - y[n-1]) = α · x[n] i.e. just a fixed gain ≈ 0.81 at 300Hz cutoff / 8kHz. DC offsets sailed through; the chain only kept signal levels reasonable because the AGC stage downstream pulled the residual toward target. The same bug exists in upstream LXST-kt's native_audio_filters.cpp (filed as LXST-kt#13). Fix: walk per-channel with explicit `xPrev` / `yPrev` variables so input history isn't clobbered by the output write. Per-chunk save of `lastInputs[ch]` now stores the actual last input, not the last output, so the first sample of each new chunk uses the correct x[n-1]. Test `dc_offset_attenuated_by_hpf` updated to assert tail RMS < 0.01 (was < 0.5 — accommodating the broken behavior). Pass. End-to-end acoustic test (Mac speaker → T-Deck mic): pyxis_rms went up from 4378 → 5835, bot_rms from 1194 → 1517 — DC offset removal lets clean signal through better. Pyxis-side fix only. LXST-kt should pick up the same fix upstream — see project_lxst_hpf_filter_bug.md in the vault. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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++
47%
C
40.3%
Python
10.7%
JavaScript
1%
mupad
0.7%
Other
0.2%