mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 17:27:32 +00:00
66c9fa63b98cb8e2c941592c8a2ff25a1fa011be
Настройки персистятся секцией по MAC радио, но ResolveDevice брал MAC только из списка найденных дискавери. У сохранённых устройств поля MAC не было вовсе, и START по AutoStart/CONNECT без дискавери шёл с MAC 00:00:00:00:00:00 — грузился и сохранялся чужой профиль. Пользователь видел «настройки сбросились»: выключался wideband, менялся sample rate, терялись банды и паны, причём в зависимости от того, нажимал ли он перед стартом DISCOVER. - DeviceStore: у TSavedDevice поле MAC + persist в hpsdr_devices.ini (MAC=..), FindSavedByAddr/SetSavedMac (пишет ini только при изменении), MacIsZero. - RadioController.ResolveDevice: saved-ветка восстанавливает и MAC. - RadioController.EnsureDeviceMac: добор неизвестного MAC — найденное в этой сессии → ini → короткий служебный поиск в сети (700 мс, unicast на DirectIP, OnDeviceFound временно снят, чтобы не трогать список устройств в UI). - ConnectDevice: добор MAC до Connect, после успеха MAC запоминается за сохранённым устройством, так что следующий AutoStart идёт без пробника. Проверено на железе (ANAN 172.16.2.200): в hpsdr_devices.ini появился MAC=04:91:62:FD:7B:86, секция нулевого MAC больше не создаётся, старт по AutoStart и старт после DISCOVER дают один и тот же профиль. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Languages
Pascal
96.3%
Python
3%
Shell
0.6%