mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +00:00
Phase 3 (batch 8): route desktop Mode/Filter through controller commands
- FILT_* таблицы (BW/DEF/DEV/COUNT) перенесены MainForm -> Settings.pas (нужны контроллеру для headless-выбора фильтра); UI-подписи FILT_*_NAMES остались в MainForm (ссылки разрешаются через uses Settings). - ApplyModeFilter (чистый DSP) перенесён в TRadioController; все вызовы в MainForm -> FController.ApplyModeFilter. - Контроллер: ApplyModeDefaults (дефолтный фильтр/девиация под FMode, зеркало state-части UpdateFilterButtons) + наполнены команды SetMode (FMode + дефолт + DSP SetMode/TUN + ApplyModeFilter + band cache) и SetFilterIdx (FFilterBW по таблицам режима + ApplyModeFilter + band cache). - BtnModeClick/BtnFilterClick — тонкие обёртки к командам; рендер (StyleButton + UpdateFilterButtons + SyncSpecViewFreq) в OnControllerState(rfMode/rfFilter). OnModeFilterSelect (VFO overlay), SyncWebMode/SyncWebFilter (web/CAT), RestoreBand пока зовут FController.ApplyModeFilter инлайн — мигрируют в следующих батчах (как и в прошлых: web/overlay позже). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
05bb68ac58
commit
f12d2a69ad
@@ -23,6 +23,27 @@ const
|
||||
CFG_BAND_DEFAULT_MODE: array[0..CFG_BAND_COUNT-1] of Integer = (
|
||||
0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1);
|
||||
|
||||
// Полосы фильтров по типу модуляции (Гц) + дефолтные индексы. Нужны
|
||||
// TRadioController для headless-выбора фильтра при смене режима; UI-подписи
|
||||
// (FILT_*_NAMES) остаются в MainForm. NAMES-массивы там используют FILT_COUNT.
|
||||
FILT_COUNT = 10;
|
||||
FILT_SSB_BW: array[0..FILT_COUNT-1] of Integer =
|
||||
(5000, 4400, 3800, 3300, 2900, 2700, 2400, 2100, 1800, 1000);
|
||||
FILT_SSB_DEF = 5; // 2.7k
|
||||
FILT_CW_BW: array[0..FILT_COUNT-1] of Integer =
|
||||
(1000, 800, 600, 500, 400, 250, 150, 100, 50, 25);
|
||||
FILT_CW_DEF = 3; // 500
|
||||
FILT_DSB_BW: array[0..FILT_COUNT-1] of Integer =
|
||||
(16000, 12000, 10000, 8000, 6600, 5200, 4000, 3100, 2900, 2400);
|
||||
FILT_DSB_DEF = 3; // 8.0k
|
||||
FILT_AM_BW: array[0..FILT_COUNT-1] of Integer =
|
||||
(20000, 18000, 16000, 12000, 10000, 9000, 8000, 7000, 6000, 5000);
|
||||
FILT_AM_DEF = 4; // 10k
|
||||
FILT_FM_COUNT = 2;
|
||||
FILT_FM_BW: array[0..1] of Integer = (11000, 16000);
|
||||
FILT_FM_DEV: array[0..1] of Double = (2500.0, 5000.0);
|
||||
FILT_FM_DEF = 0; // NFM
|
||||
|
||||
type
|
||||
TBandSettings = record
|
||||
VfoA: Double;
|
||||
|
||||
Reference in New Issue
Block a user