ESC-конфигуратор AM32: чтение настроек через полётник
Инструмент /tools/esc-connect подключается к полётному контроллеру по USB
(Web Serial), переводит его в passthrough к регуляторам (протокол
«4-way interface» — тот же механизм, которым пользуются BLHeliSuite и
esc-configurator) и читает настройки AM32-регуляторов и RPM-телеметрию.
Ничего не устанавливается, данные не покидают ваш компьютер: весь обмен идёт
локально между браузером и платой.
⚗️ Экспериментально · предальфа. Нужен десктопный Chrome или Edge,
открытый по HTTPS (Firefox, Safari и мобильные Web Serial не поддерживают).
Перед подключением закройте INAV/Betaflight Configurator и другие ESC-тулы —
они держат COM-порт. Инструмент скрыт за фича-флагомesc_tools
(по умолчанию выключен, включается администратором в/admin/flags).
v1 — только чтение
По решению основателя первая версия — строго read-only:
- никакой записи настроек, никакого стирания, никакой прошивки;
- в протокольном кодеке команды записи не реализованы вообще — испортить
(«окирпичить») регулятор этим инструментом технически нельзя; - единственные «активные» команды — перезапуск регулятора из загрузчика
обратно в рабочую прошивку и выход полётника из passthrough (уборка после
чтения, настроек они не меняют).
Запись настроек, поддержка BLHeli_S и прошивка AM32 — кандидаты на следующие
версии. BLHeli_32 поддерживаться не будет: протокол закрыт, программа
лицензирования остановлена производителем (EOL).
Как пользоваться
- Снимите пропеллеры. Любые работы с регуляторами — только на столе.
- Подключите полётник по USB и нажмите «Подключить полётник» — инструмент
прочитает вариант прошивки, версию и плату. - (Опционально) «Прочитать RPM» — обороты моторов по данным esc-sensor
полётника (INAV с настроенной телеметрией ESC). Если esc-sensor не настроен,
инструмент честно скажет «телеметрия недоступна». - Нажмите «Войти в passthrough» — полётник переключится в режим 4-way и
покажет число выходов ESC. - Подключите аккумулятор к борту. Регуляторы, включённые уже после входа
в passthrough, остаются в загрузчике (мотор не крутится) и готовы к чтению. - Нажмите «Прочитать ESC N» у нужного регулятора: инструмент подключится
к его загрузчику, определит тип (для AM32 — ARM) и прочитает блок настроек. - По окончании — «Выйти из passthrough»: регуляторы перезапустятся в
рабочую прошивку, полётник вернётся в обычный режим MSP.
Что показывается
- Регулятор: сигнатура микроконтроллера, режим интерфейса (ARM BLB — AM32;
SiLabs BLB — BLHeli_S, в v1 не читается) и сырые байты ответа. - Настройки AM32: версия прошивки, версия EEPROM-раскладки, имя таргета и
таблица настроек (направление вращения, 3D-режим, timing advance, частота
PWM, KV и полюса мотора, тормоз, пороги отсечки по напряжению, лимиты тока и
температуры и др.). Для каждого поля показан сырой байт, производная
величина — только там, где формула описана в открытой документации AM32. - Сырой дамп: полный HEX-дамп прочитанного блока — инструмент ничего не
выдумывает: байты, не описанные в документации, видны только здесь. Если
структура блока не распознана (не похожа на AM32), показывается только дамп
с честной пометкой.
Приватность и лицензии
Обмен с полётником и регуляторами идёт локально в браузере, на сервер ничего
не отправляется. Протоколы (MSP passthrough, 4-way interface, раскладка EEPROM
AM32) реализованы clean-room по открытым описаниям, без заимствования кода
из GPL/AGPL-проектов — подробности в ADR docs/adr/ad-856-esc-clean-room.md.