mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 17:27:32 +00:00
ce431164904aab5d60d76f41510380f96ab7aea7
Симптом: в XVTR-режиме выбрать VAR1, выключить и включить трансивер — фильтр откатывался на заводской (в FM это NFM). Вне трансвертера всё сохранялось. Причина: персист XVTR клампил last_filt диапазоном 0..9, оставшимся от эпохи десяти пресетов. VAR1/VAR2 (10/11) при загрузке схлопывались в 9, а дальше ClampFilterIdx видел индекс вне таблицы режима (у FM пресетов всего два) и по своему правилу откатывался на заводской индекс — отсюда NFM. У band-cache такой границы нет, поэтому в обычном режиме баг не проявлялся. Граница поднята до FILT_SLOTS-1. Проверено round-trip-тестом SaveXvtr/LoadXvtr: слот 10 сохраняется и читается как 10. Проверены заодно остальные пути, где слот мог потеряться: band-cache (клэмпа нет), каналы памяти (фильтр не хранят вовсе), рендер rfMode (сброс обёрнут save/restore), web SetFilterBW, SanitizeFilterForMode. Клэмп 0..9 в CAT-командах FW/SH/ZZBI намеренно оставлен — это ограничение протокола, а не хранения; VAR снаружи доступен через ZZFL/ZZFH. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…
Languages
Pascal
96.3%
Python
3%
Shell
0.6%