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

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

Колёса по маркам

Что поддерживается у каждой марки и насколько это проверено на живых колёсах.

Приложение разбирает протокол каждой марки отдельно. Ниже честно написано, что работает, а что собрано по разбору фирменной программы и ждёт проверки на живом колесе.

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

LeaperKim#

Самая полная поддержка.

  • Вся телеметрия, включая углы, токи левой и правой батарей и пороги колеса.
  • Батарея по ячейкам, страницами.
  • Настройки колеса пишутся из приложения: жёсткость педалей и режим езды, скорость наклона назад, скорость тревоги, порог ШИМ, подсветка экрана, угол педалей, транспортировочный режим, единицы, коррекция напряжения, режим низкой батареи, высокоскоростной режим, громкость кнопок, максимальное напряжение заряда, помощь разгона и торможения и другое.
  • Профили настроек.
  • Автофара, автогромкость.
  • Фара включается на всей марке, включая старшие модели. Sherman, Sherman Max, Sherman S и Abrams понимают только текстовую команду света — двоичной в их прошивке нет вовсе, и кнопка фары на них раньше молчала. Теперь приложение смотрит, какое колесо ответило, и шлёт ту команду, которую эта прошивка разбирает.
  • Удержание стоящего колеса включённым.
  • Загрузка прошивки в колесо — отдельным пунктом в меню дашборда, и только на колёсах LeaperKim: на других марках этого пункта нет. Проверена она пока только на Lynx S; у остальных колёс марки формат файла тот же, но вход в загрузчик никто не проверял, а у Sherman L вдобавок другой микроконтроллер. Настоятельно не советую этим пользоваться: неудачная прошивка превращает колесо в тяжёлый предмет мебели.

NOSFET#

Протокол тот же, что у LeaperKim, поэтому доступно всё то же самое: телеметрия, батарея, настройки колеса, профили, свет, выключение.

Нет только удержания стоящего колеса включённым и загрузки прошивки. Обе функции пока привязаны к LeaperKim. Если найдутся желающие проверить их на живом NOSFET, добавлю.

InMotion#

Поддерживаются V11 и всё, что новее. Лучше всего разобраны V12, V13, V14 и P6.

  • Полная телеметрия.
  • Батарея.
  • Список ошибок и предупреждений от самого колеса.
  • Быстрые действия: ближний и дальний свет, автосвет, выключение.
  • У P6 дополнительно давление в шине.
  • Частота опроса колеса настраивается: чаще опрос даёт более плавные показания, но сильнее нагружает соединение.

Для V12 и для семейства V14 вместе с P6 пишутся настройки света: включение автосвета, пороги его датчика освещённости и яркость. У V12 и V14 эти настройки устроены по-разному внутри, и это учтено.

У V11 пишется больше: ограничение скорости, угол и чувствительность педалей, громкость озвучки, время ожидания, яркость фары, ассисты разгона и торможения, звук, дневные ходовые огни и собственный автосвет колеса. После каждой записи LoEUC просит колесо перечитать настройки, поэтому на экране видно то, что колесо приняло, а не то, что было отправлено. Две строки про вентилятор показываются, но не пишутся: одна из них — состояние, о котором колесо сообщает, а не настройка, и команды записи, которой я доверяю, нет ни для одной из них.

Осторожно: запись настроек проверена на расчётах и разборе фирменного приложения, но на живом колесе подтверждена не полностью. Часть настроек, например порог переключения дальнего света и состояние поворотников, доступна только на чтение, потому что способа записать их я не знаю.

Begode#

Поддерживаются и современные модели, и старые вроде RS.

Что читается уверенно:

  • напряжение батареи,
  • напряжения ячеек обеих батарей,
  • заряд,
  • скорость,
  • ШИМ,
  • температура.

Что пока под вопросом: ток и мощность. Знак и точный смысл этих полей нужно проверять на живом колесе под нагрузкой, поэтому не считайте их окончательными.

Модель колеса#

Заряд по напряжению считается делением напряжения пакета на число банок в серии, и это число берётся из каталога — вместе с ёмкостью и напряжением полного заряда. Ключ к каталогу один: название модели. Большинство колёс его сообщает, Begode — нет: в эфире он зовётся GotWay_005913, это серийный номер, а на запрос имени не отвечает вовсе.

Поэтому модель выбирается вручную: меню на дашборде → Модель. Выбор сохраняется для этого колеса и переживает переподключение. Если приложение опознало модель само, в меню стоит её название с пометкой «определено по имени», и трогать ничего не нужно.

Пока модель не выбрана и не опознана, заряд не показывается. Вывести число банок из одного напряжения нельзя даже в принципе: полный 36S даёт 151.2 В, и ровно столько же даёт 40S по 3.78 В на банку. Раньше приложение в этом месте угадывало по напряжению, и на T4 угадывало неверно — просадка ниже 90 В уводила делитель с 24S на 20S, и заряд показывал 100 % на наполовину пустой батарее до конца поездки.

У кого класс напряжения был выставлен вручную раньше — он продолжает работать, пока модель не выбрана.

Настройки в колесо не пишутся.

KingSong#

Собрано по фирменному приложению и одной живой записи с S22.

  • Телеметрия и статистика поездки.
  • ШИМ.
  • Потолок скорости и признак того, что колесо его удерживает.
  • Счётчики ватт-часов.
  • Батарея с ячейками и температурами. Разбор сходится сам на себе: тридцать ячеек дают практически то же напряжение, что колесо сообщает целиком.
  • Управление фарой.

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

База для проверки маленькая, живого колеса у меня нет, поэтому часть показаний может быть неточной.

Solowheel Xtreme#

Самое старое колесо здесь, от Inventist, ещё до InMotion. Оно передаёт коротким текстом всего три числа примерно раз в секунду.

Приложение показывает скорость и напряжение. Напряжение подтверждено живой записью, масштаб скорости выведен из реальной поездки. Третье число это какое-то состояние, его смысл неизвестен, поэтому оно показывается как есть, без выдуманной расшифровки.

Вашей марки нет в списке#

Напишите мне. Чтобы добавить поддержку, нужно две вещи:

  1. Запись обмена с колесом. Снимается прямо в приложении, через служебный экран, и выгружается файлом.
  2. Пара известных значений с экрана самого колеса или из фирменной программы: напряжение, скорость, пробег. Они нужны, чтобы проверить разбор, а не просто угадать красивые числа.

Чем длиннее запись и чем разнообразнее в ней езда, тем больше полей удаётся разобрать.