Перейти к содержимому

Документация

Расширения

Приложения других авторов: свои строки на дашборде, сигналы и команды колесу — только с вашего разрешения.

Расширение — это обычное приложение для Android, которое написал не автор LoEUC. Пока телефон держит колесо, LoEUC подключается к расширению и даёт ему ровно то, что вы разрешили: читать телеметрию, добавлять строки в плитку «Расширения», подавать сигналы и отправлять команды в колесо. Исходники LoEUC для этого не нужны, автору открыт только контракт.

Расширения есть только в версии для Android.

Где они#

«Настройки» → «Связь и датчики» → «Расширения». Там список установленных расширений и состояние каждого. Нажатие на расширение открывает его страницу: что оно просит, его настройки, тумблеры и журнал команд.

Пока вы не разрешили расширение, LoEUC к нему не подключается и ничего ему не передаёт.

Что вы разрешаете#

Экран разрешения перечисляет всё, что расширение объявило о себе:

  • что оно читает телеметрию колеса — те же показания и так же часто, как их видит дашборд;
  • нужны ли ему координаты — их вы разрешаете отдельным тумблером, и без разрешения их нет в том, что уходит расширению;
  • какие строки оно добавит в плитку;
  • какие сигналы может подать;
  • какие команды может отправить в колесо — словами и, если это собственная команда автора, её байтами.

Ничего сверх объявленного расширение сделать не может: LoEUC отклоняет любой незнакомый ключ. Если обновление расширения меняет то, что оно просит, или расширение оказалось подписано другим ключом, LoEUC спросит заново.

Расширение влияет на колесо у вас под ногами. Разрешайте только то, автору чего доверяете. LoEUC гарантирует, что в колесо уйдёт только объявленная команда, но не может проверить, что её описание честное.

Что LoEUC не позволит никогда#

  • Выключить колесо на ходу.
  • Отправить команду во время воспроизведения дампа или демо-поездки.
  • Писать в колесо, пока идёт заливка плагина, проверка банка или применение настроек PID.
  • Отправлять больше четырёх команд в секунду.
  • Отправить калибровку гироскопа или вход в загрузчик тем маркам, где эти команды известны.

На каждый отказ расширение получает причину, а в журнале видна каждая команда: время, ключ, байты и чем всё кончилось.

Плитка «Расширения»#

Строки расширений собраны в одну плитку, её добавляют кнопкой «плюс», как любую другую. В плитке столько строк, сколько помещается по высоте. Значение, которое расширение не обновляло дольше пяти секунд, сменяется прочерком. Нажатие на плитку открывает экран расширений.

Сигналы#

Сигналы расширений играет тот же движок, что и ваши алерты, и ваши алерты всегда важнее: расширение не перебьёт алерт по скорости или ШИМ.

Для авторов#

Контракт открыт под лицензией MIT: модуль loeuc-extension-api в репозитории loeuc-core, руководство — docs/extensions.md, готовые примеры — examples/android-extension (строка плитки и сигнал) и examples/android-extension-hud: мост к своему BLE-устройству со скетчем для ESP32. LoEUC отдаёт расширению телеметрию, расширение пересылает её на ваш дисплей, а кнопка дисплея становится гудком и фарой колеса. Подписывать расширение можно любым своим ключом, регистрироваться у LoEUC не нужно.