13 KiB
13 KiB
Неполадки
Сначала посмотрите журнал окна (секция Runtime Log) и строку состояния. Если там
пусто, а картинка не обновляется, причина обычно в журналах процессов в
python_app/runtime/logs/:
| Файл | Что в нём искать |
|---|---|
acquisition.err.log |
приборы не открываются, ожидание приборов, ошибки коллектора E-502 |
data_preprocessor.err.log |
отброшенные коллекции: не та сетка частот, нет пары в наборе |
data_processor.err.log |
ошибки обработки, отклонённый live-файл, 3D SAR, локатор |
radar.log |
всё, что было в окне журнала |
У каждого процесса есть ещё <процесс>.out.log (обычный вывод), а перед каждым
запуском прежние журналы переименовываются в *.prev: после автоматического
перезапуска причина падения лежит в <процесс>.err.log.prev. Без экрана журнал
программы — journalctl -u radar.service -f.
Программа не запускается
| Признак | Причина | Что делать |
|---|---|---|
окно не открывается, в выводе ошибка о LibreVNA (No compatible LibreVNA USB device found…) |
профиль с driver_mode: "native", а прибор не подключён: при запуске окно читает пределы прибора |
подключите прибор или запустите с профилем симулятора: ./start.sh --profile run_config.json |
окно открывается с ошибкой Cannot switch processing mode to … и закрывается, и так при каждом запуске |
запомненный профиль читается, но его настройки нельзя применить (например, SAR_Y_RANGE_M max не больше min) |
удалите python_app/runtime/gui_session_state.json и исправьте профиль |
Another radar instance already holds /tmp/radar_system.lock; aborting. |
программа уже запущена: в другом окне или службой | закройте другой экземпляр или sudo systemctl stop radar.service |
| служба перезапускается каждые 3 с | без экрана не удаётся Start (часто — не выбраны наборы) или нет программ в build/bin/ |
journalctl -u radar.service; выберите наборы и сохраните профиль, запустив окно на машине |
[start.sh] … Run an interactive './start.sh' once (online)… |
без экрана не хватает Python-пакетов | запустите ./start.sh один раз с экраном и сетью |
Start отказывает
| Сообщение | Причина | Что делать |
|---|---|---|
Select all required preprocess sets in Preprocessing Panel before Start: … |
не выбраны калибровка или референс | выберите или снимите их в Preprocessing…; для симулятора — Create Neutral S21 Sets |
наборы пропали из списков, в журнале Preprocess selection reset: … |
изменилась развёртка, серийные номера или положения ключей — другой ключ радара | верните прежние настройки или снимите наборы заново |
Selected … set does not cover requested run combos |
набор снят для другой матрицы | снимите набор заново при текущих ключах |
rings.<имя>.slot_size_bytes must be at least N for this sweep |
слот кольца меньше коллекции | увеличьте slot_size_bytes в профиле |
B-scan with native switches requires exactly one run combo (now N) |
B-scan с настоящими ключами показывает одну пару | задайте одну пару в Single combo |
GPR requires at least 2 distinct run combos (now N) и другие GPR … |
для GPR и 3D SAR нужны пары и геометрия | проверьте пары сбора и таблицы геометрии |
Object calibration … differs from the captured state |
калибровка по объекту снята при других настройках, геометрии или наборе калибровки | выберите Off или снимите калибровку по объекту заново |
Stop all pipeline processes before loading a config profile |
профиль загружают при работающем сборе | нажмите Stop |
Нет данных от приборов
| Признак | Причина | Что делать |
|---|---|---|
| сбор идёт, приборы не опрашиваются, на графиках один движущийся точечный отражатель | профиль симулятора: driver_mode: "mock" (например, корневой run_config.json) |
загрузите профиль с driver_mode: "native"; если в журнале Failed to load the last selected config profile…, запомненный профиль не прочитался — исправьте его и загрузите снова |
No datapoints received from at least one device; hardware trigger sync did not start. Check Trigger Out/In loop and 10 MHz reference wiring. |
многоприборная схема: не работает петля триггера | проверьте кабели петли и контроллер STM32 в режиме переключения стимула |
Packet not received from <серийный номер> within 1.0 s |
включена внешняя опора (force_external_reference: true), а 10 МГц не подана |
выключите опору в профиле или проверьте, что 10 МГц доходит до всех приборов |
<прибор> unavailable (attempt N); retrying until present |
прибор не открывается; процесс сбора ждёт его бесконечно | проверьте USB и серийный номер в профиле; правило udev ставит ./start.sh при обычном запуске |
в режиме переключения стимула приборы падают с LIBUSB_ERROR_IO |
полоса ПЧ 1 кГц | используйте 5–50 кГц, рабочее значение — 50 кГц |
| ключи не переключаются, ошибок нет | неверный GPIO-чип или ключ в mock |
проверьте gpiodetect, gpioinfo -c gpiochip0 и driver_mode ключей |
Failed to open GPIO chip '…' или Failed to request GPIO lines… |
чипа нет или линии заняты другой программой | проверьте чип и что линии свободны (gpioinfo) |
Радиофотонный радар
| Сообщение | Причина | Что делать |
|---|---|---|
…sweep rejected (count=n): covered [a, b] Hz does not span band [c, d] Hz… |
развёртка лазера не покрывает выходную полосу | проверьте фазовую калибровку (rph_radar_calibrate) и radar.rph_radar.band |
Timed out waiting for a RadioPhotonic radar (RPH) sweep covering the configured band |
за Read timeout (s) не пришло ни одной пригодной развёртки | проверьте, что лазер запущен (Apply Radar), и сигналы на входах |
Cannot load libx502api.so: … |
нет библиотек L-Card | положите libx502api.so и libe502api.so в ~/.local/lib или задайте LD_LIBRARY_PATH в Environment JSON |
Timed out waiting for RadioPhotonic radar (RPH) TTY … |
коллектор не запустился | смотрите строки Collector: … в acquisition.err.log; проверьте Executable path (make rph_radar_collector) |
ADC source clock leads host monotonic clock; restart acquisition |
часы АЦП ушли вперёд часов компьютера | перезапустите сбор |
Serial port '…' is busy — another program is already using the laser controller… |
порт платы лазеров занят другой программой | закройте её |
Device rejected command: STATE 0x… |
плата лазеров отвергла команду | проверьте значения токов и температур и питание платы |
RFG protocol violation: … |
на порт пришёл чужой пакет | привяжите udp_bind к проводному адресу, на котором работает плата |
Картинка не обновляется или пустая
| Признак | Причина | Что делать |
|---|---|---|
сбор идёт, счётчик History растёт только у raw |
препроцессор отбрасывает коллекции | data_preprocessor.err.log: обычно не совпадает сетка частот набора; снимите наборы заново |
| GPR пустой | нет антенн с геометрией среди выбранных или Min depth (m) не меньше Max depth (m) | проверьте поля и таблицы; ошибки — в data_processor.err.log |
| Single Capture в режиме GPR ждёт 300 с и останавливается | результат GPR пустой, и съём его не дождался | проверьте настройки GPR, как выше |
SAR3D: warning — … |
нет видеокарты NVIDIA или программа собрана без CUDA | глава Установка и запуск, раздел о видеокарте |
SAR3D: error — the views need N KiB but a results ring slot holds M KiB… |
изображения 3D SAR не помещаются в слот | увеличьте шаги вокселя, сузьте дальность или увеличьте rings.results.slot_size_bytes |
SAR3D: no signal — No signal inside the selected depth range |
в пределах MIN_DEPTH–MAX_DEPTH нет сигнала | проверьте границы дальности и полосу |
кадр 3D SAR пустой, в строке frame empty |
максимум ниже 6 фонов при включённой BG_GATE_ENABLE | это норма для пустой сцены; для проверки выключите BG_GATE_ENABLE |
Stopping pipeline after 400 consecutive reader poll failures |
конвейер остановлен из-за ошибок чтения колец | нажмите Start; повторяется — проверьте /dev/shm |
Status: result display error (acquisition continues) |
ошибка отрисовки; сбор продолжается | текст ошибки — в журнале |
Прочее
| Признак | Причина | Что делать |
|---|---|---|
| после перезапуска пропали настройки и выбор наборов | изменения в окне и вебе не пишутся в профиль сами | Save Config… |
отказ в доступе к кольцам (Permission denied) |
программу или тесты запускали от root, и кольца в /dev/shm принадлежат root |
при закрытой программе удалите их: sudo rm -f /dev/shm/radar_* |
| веб-страница не открывается | порт занят или не тот адрес | проверьте вывод программы (journalctl) на address already in use; другой порт — RADAR_SYSTEM_WEBUI_PORT |
Disk recording stopped because the writer could not keep up |
диск не успевает за записью | пишите на более быстрый диск или меньше коллекций; записанное сохранено |
Snapshot directory already exists: … |
каталог набора данных уже есть | задайте другое Name |
Log panel overflow: N record(s) dropped… |
журнал в окне переполнился | всё есть в radar.log |