mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 17:27:32 +00:00
3db823474d3ff9d8dc28df3b271166641fd2e81f
- общая IQ-очередь с TIQQueueItem.PanId (64→256 слотов); DSP-поток диспетчеризует пан-пакеты в PushPanItemToDSP: декод, feed анализатора PAN_DISP_BASE+PanId, аккумулятор, ProcessSlicesFor(PanId) под FSliceLock - пан-анализаторы: Create/DestroyPanAnalyzer + ApplyPanAnalyzerSettings (rate пана, без зума — пан-зум в 3.3+), живут в OpenAnalyzer/CloseAnalyzer, общие настройки дисплея перекатываются (ReapplyPanDisplaySettings) - слайсы в панах: TSliceChan.PanId, AddSlice(..., APanId), OpenSliceChannel от rate/блока своего пана, SliceDSPRateFor (WFM от rate пана); блок пана = FAudioBufSize*Rate/FAudioRate => аудио-блок слайсов неизменен - выдача пикселей: OnPanSpectrum/OnPanWaterfall(PanId,...) из display-потока, GetPixels пана под FSliceLock, колбэки вне лока - MAX_PANS=4 переехал в WDSPEngine (единый движок/контроллер/UI) - контроллер: AddPanDDC создаёт пан в движке до включения DDC, RemovePanDDC убирает слайсы (со звуковухами)+движок+DDC, гейт/NCO слайсов от центра своего пана, ретюн пана двигает его слайсы - смоук-тест на libwdsp без железа ALL PASS: пик спектра пана точно на месте, слайс пана выдал 1 кГц RMS 0.68, главный тракт жив, RemovePan чисто Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Languages
Pascal
96.3%
Python
3%
Shell
0.6%