mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 17:27:32 +00:00
ac216fa332e0d4f6d97933740b0a4948badac9a4
Перерисовку спектра лупы гейтил не тот сигнал: возврат GetBeaconZoomSpectrum («в кэше лежит непрочитанный кадр») игнорировался — функция звалась как процедура, — а FZoomDirty ставился только по смене границ окна и по сдвигу маркеров. Пока никто не панорамирует, границы не меняются, а до клика все три маркерные частоты нулевые и неподвижные: кадр собирался один раз и застывал. Клик задаёт наведение декодера, дальше BeaconDecodeFreqHz непрерывно едет за несущей в ServiceBeaconLock — сравнение с FLastDecHz начинает срабатывать каждый тик, и спектр «оживает». Водопад работал с самого начала: он всегда шёл по своему честному флагу свежести, хотя слой тот же самый и анализатор один. Теперь свежесть кадра — основной триггер (трасса идёт 15/с, как и даёт анализатор); проверки окна и маркеров оставлены как дополнительные, они дают отклик на зум/пан не дожидаясь следующего кадра. Сборка ewsdr (--ws=qt6) — ОК. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Languages
Pascal
96.3%
Python
3%
Shell
0.6%