Документация
Колёса по маркам
Что поддерживается у каждой марки и насколько это проверено на живых колёсах.
Приложение разбирает протокол каждой марки отдельно. Ниже честно написано, что работает, а что собрано по разбору фирменной программы и ждёт проверки на живом колесе.
Правило, по которому всё это делается: команда отправляется в колесо только тогда, когда её смысл подтверждён живой записью или реальной записью в колесо. Разбор чужой программы это всего лишь предположение.
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. Оно передаёт коротким текстом всего три числа примерно раз в секунду.
Приложение показывает скорость и напряжение. Напряжение подтверждено живой записью, масштаб скорости выведен из реальной поездки. Третье число это какое-то состояние, его смысл неизвестен, поэтому оно показывается как есть, без выдуманной расшифровки.
Вашей марки нет в списке#
Напишите мне. Чтобы добавить поддержку, нужно две вещи:
- Запись обмена с колесом. Снимается прямо в приложении, через служебный экран, и выгружается файлом.
- Пара известных значений с экрана самого колеса или из фирменной программы: напряжение, скорость, пробег. Они нужны, чтобы проверить разбор, а не просто угадать красивые числа.
Чем длиннее запись и чем разнообразнее в ней езда, тем больше полей удаётся разобрать.