mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 17:27:32 +00:00
feat(slices): этап 3.1 — per-DDC бэкенд HPSDR (пан-DDC) + фикс Saturn в StartRunning
- TBackendCaps: MaxPans/IndependentPanFreq (HPSDR 4/True, Pluto 1/False); SetPanDDC/SetPanDDCFreq — виртуальные no-op в TRadioBackend - HPSDRNetwork: ConfigureDDCs → кэш главного DDC + RebuildDDCSpecific (главный + активные пан-DDC, каждый со своим rate/ADC); SendFullHP пишет частотные слова всех активных пан-DDC; хелпер DDCBaseIndex; сброс пан-состояния в Connect - RadioController: MAX_PANS=4, PAN_DDC_RATES 192/384/768; AddPanDDC/ RemovePanDDC/SetPanDDCFreq/PanDDC* (аллокатор hw-индексов от FActiveDDC+1, обратный маппинг FDDCPanMap); OnDDCIQ роутит пан-DDC → PushPanIQ; паны гасятся в StopRunning, пул сбрасывается в StartRunning - WDSPEngine: PushPanIQ — заглушка-дроп (аккумулятор/анализатор — этап 3.2) - фикс: StartRunning не включал Saturn (BoardType 10) в список плат с DDCBase=2 — на Saturn гейт FActiveDDC ждал бы IQ с DDC0 - doc/SLICES_PLAN.md: статус 3.1 + B1 проверена на экране Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -477,6 +477,11 @@ type
|
||||
procedure PushDDCPacket(const Buf: array of Byte;
|
||||
DataOffset: Integer;
|
||||
IQPairs: Integer);
|
||||
// IQ доп. панадаптера (аппаратный DDC пана PanId, этап 3). Пока (3.1)
|
||||
// заглушка-дроп; 3.2 добавит per-pan аккумулятор + Spectrum0(PAN_DISP_BASE+
|
||||
// PanId) + ProcessSlices по слайсам этого пана.
|
||||
procedure PushPanIQ(PanId: Integer; const Buf: array of Byte;
|
||||
DataOffset: Integer; IQPairs: Integer);
|
||||
procedure FlushRX;
|
||||
// Замьютить RX-аудио на DurationMs от текущего момента. UI зовёт это
|
||||
// на TX→RX в non-DUP только под Windows — там OS-уровневый PortAudio
|
||||
@@ -1523,6 +1528,13 @@ begin
|
||||
RTLEventSetEvent(FQueueSem); // будим DSP поток (как sem_post в piHPSDR)
|
||||
end;
|
||||
|
||||
procedure TWDSPEngine.PushPanIQ(PanId: Integer; const Buf: array of Byte;
|
||||
DataOffset: Integer; IQPairs: Integer);
|
||||
// Сетевой поток. Этап 3.2 положит пакет в аккумулятор пана PanId; до тех пор
|
||||
// поток доп. пан-DDC отбрасывается (панов ещё никто не создаёт).
|
||||
begin
|
||||
end;
|
||||
|
||||
procedure TWDSPEngine.FlushRX;
|
||||
begin
|
||||
FQueueHead := FQueueTail;
|
||||
|
||||
Reference in New Issue
Block a user