Просмотр логов радиоаппаратуры
⚗️ Экспериментально · предальфа. Экран показывает то, что записано в
вашем файле, и ничего не выдумывает: колонка, которой в логе нет — или
которая есть, но пуста (датчик не подключён), — честно объявляется
отсутствующей, а не рисуется нулём.
Инструмент /tools/rc-logs открывает CSV-журнал передатчика —
EdgeTX/OpenTX/FreedomTX пишет его на SD-карту в папку LOGS. По нему видно
то, чего нет в логе полётного контроллера: что происходило с радиолинией
(RSSI, качество связи, SNR, мощность передатчика), что делал пилот
стиками, какие значения уходили в выходные каналы и что показывала
телеметрия питания.
Как открыть
- Раздел «Инструменты» → «Просмотр логов аппаратуры» (или
/tools/rc-logs): список ваших журналов и форма загрузки нового. - Загруженный журнал открывается сразу после разбора.
Чужой или несуществующий журнал — при прямом переходе по ссылке — экран
отдаёт как «не найдено», не раскрывая, существует он вообще или нет.
Привязки к борту здесь нет
Одна аппаратура летает на многих бортах, а признака борта в файле нет вовсе
(проверено по телу 182 реальных журналов — docs/dev/rc-log-formats.md).
Поэтому журнал принадлежит вам, а не борту, и открывается независимо от
того, отнесли вы его к какому-нибудь борту или нет. Пометить журнал бортом
можно отдельно — через API или ИИ-помощника (см. ниже).
Имя профиля модели берётся из имени файла (<Профиль>-ГГГГ-ММ-ДД-ЧЧММСС.csv)
— внутри файла его нет.
Наборы кривых
Три кнопки собирают набор из полей этого журнала:
- Радиолиния — RSSI обеих антенн приёмника, качество связи (LQ), SNR,
мощность передатчика. С этого набора обычно и начинают: «почему дёргалось»
и «почему улетел» чаще всего видно именно здесь. - Управление — стики передатчика и первые выходные каналы.
- Питание — напряжение, ток, израсходованная ёмкость.
Набор колонок различается от прошивки к прошивке, поэтому список кривых
приносит файл, а не константа экрана. Если чего-то из набора в журнале
нет, экран прямо называет, чего именно («Не записано в этом журнале: ток
батареи»), — иначе пустой график читался бы как «тока не было».
Развернув «Свой набор кривых», можно выбрать любые поля журнала. Колонки,
которых платформа не знает (телеметрия вашего датчика, выходные каналы),
доступны наравне с известными и подписаны так, как их назвала аппаратура.
Колонка координат (GPS) в наборы кривых не попадает: пара «широта, долгота»
— не график по времени, её место на карте трека.
За один раз рисуется не больше двенадцати кривых — столько же отдаёт сервер
одним запросом.
Что экран не станет рисовать неправдой
Две ошибки отрисовки выглядят на графике совершенно правдоподобно, поэтому
они закрыты явно:
- Дискретные сигналы рисуются ступенькой. Режим полёта и переключатели
меняются скачком; линия, наклонно соединяющая два состояния, показывала бы
состояния, которых не было. Ось у таких кривых подписана самими состояниями
(AIR,ACRO), а не их номерами. - Пропуск телеметрии виден разрывом. Когда связь теряется, передатчик
продолжает писать строки, а телеметрийные ячейки остаются пустыми. Такой
пропуск оставляет на графике дыру, а не прямую линию: разрыв связи,
нарисованный отрезком, читался бы как штатный полёт. Тем же способом
показывается и пауза в записи.
Курсор
Ведите мышью по любому графику — вертикальная линия покажет момент, а под
кнопками наборов появятся значения всех нарисованных кривых на этот момент. У
дискретных сигналов показывается состояние, а не его номер.
Масштабирования (зума) здесь нет намеренно: аппаратура пишет примерно два раза
в секунду, и весь ряд приходит целиком — подробнее уже некуда. (У blackbox
полётного контроллера частота до килогерца, поэтому там зум есть.)
Время: часы передатчика без часового пояса
EdgeTX пишет дату и время местными часами передатчика, без пояса и без
признака UTC, а сами часы на передатчике часто сбиты. Поэтому:
- график всегда лежит на относительной шкале — секунды от начала записи;
- пока пояс не назван, экран говорит об этом прямо;
- назвать пояс и задать сдвиг можно через API или ИИ-помощника — это нужно для
будущего наложения журнала аппаратуры на лог полётного контроллера.
Исходный файл
Загруженный CSV хранится байт в байт и скачивается ссылкой «Скачать исходный
CSV» внизу страницы. Если разбор оборвался на потолке или часть строк не
прочиталась, экран называет и это.
Что умеет ИИ
Через MCP (бейдж «✨ ИИ» на странице) помощник умеет: перечислить ваши журналы
и сказать, что в каждом записано (list_rc_logs), и проставить журналу борт,
часовой пояс и сдвиг шкалы (update_rc_log_binding). Сами ряды значений ИИ не
получает — это материал для графика, десятки тысяч чисел на сигнал.
Ограничения
- Совмещения журнала аппаратуры и лога полётного контроллера на одной шкале
пока нет — это отдельная задача. - ИИ-разбора полёта, автодиагностики аварий и настройки самого передатчика
здесь нет и не планируется в этом инструменте. - Загрузка идёт с компьютера: читать SD-карту напрямую браузер не умеет.