Документация
Дополнительные возможности
Автофара, автогромкость, кнопки громкости, профили колеса, плагины прошивки, работа в фоне и удержание колеса включённым.
В меню по трём точкам две разные двери, и они не взаимозаменяемы. «Настройки колеса» в разделе «Колесо» открывают то, что записывается в сам аппарат: железо, профили, плагины, таймер выключения. «Настройки» в разделе «Приложение» — всё остальное, что живёт в телефоне, семью разделами: «Скорость и точность», «Алерты», «Карта и GPS», «Автоматика», «Данные», «Связь и датчики», «Диагностика». Набор зависит от колеса: раздел, в котором вашей модели нечего показать, не появляется вовсе. Разделы пишут второй строкой, что в них сейчас выставлено, — не заходя внутрь, видно настройку приложения разом. Раздел, о котором сказать нечего (колесо не ответило, пункт скрыт), молчит: прочерк вместо значения означал бы, что настройка есть и выключена.
Ниже — то, что лежит в этих разделах, и где искать каждую вещь.
Автофара#
Раздел «Автоматика».
Приложение само включает свет, когда вы поехали, и гасит его, когда остановились.
- Порог включения задаётся по скорости.
- Выключение привязывается либо к скорости, либо к таймеру полной остановки.
- Отдельно настраивается автоматический дальний свет со своим порогом.
- Работу можно ограничить временем суток, чтобы днём фара не включалась.
Это программная функция самого приложения: оно просто вовремя посылает колесу обычную команду включения света. Не путайте её с датчиком освещённости внутри колёс InMotion, который живёт в настройках самого колеса и работает без телефона.
Автофара доступна там, где фара вообще управляется из приложения: LeaperKim, NOSFET, Begode, KingSong, а у InMotion — V11, V12 и старше, включая P6. У ранних InMotion (V8, V9) команды фары нет, и карточки автофары у них не будет.
Автогромкость#
Раздел «Автоматика».
Музыка в наушниках становится громче с ростом скорости и тише при остановке. Задаются минимальная и максимальная громкость и скорости, на которых они достигаются.
Функция применяется только к выбранным вами устройствам воспроизведения, чтобы она не лезла в громкость, когда телефон играет через колонку дома. Системный индикатор громкости при желании можно скрыть, чтобы он не мигал на пол-экрана всю поездку.
Проценты в настройке — это громкость на слух, а не позиция системного ползунка. Ползунок телефона и своя шкала колонки поверх него сжимают нижнюю треть так, что «20 %» в лоб означали почти тишину; поэтому число проходит через кривую, а концы остаются точными: ноль — тишина, сто — максимум. Кривая одна на Android и iOS, чтобы одна и та же настройка на двух телефонах звучала одинаково.
Относительная громкость#
По умолчанию расчётная громкость и есть громкость: подкрутили качелькой — на следующей смене скорости приложение вернёт своё. Так это работало всегда, и тем, кому этого хватает, ничего менять не нужно.
Выключатель «Относительная громкость» меняет смысл кривой: расчётный уровень становится серединой, а не приказом. Приложение замечает, что громкость изменили не оно, запоминает разницу и дальше возит всю кривую вместе с вашей поправкой. Во дворе убавили — кривая целиком поехала вниз, в шумном месте добавили — вверх; зависимость от скорости при этом сохраняется.
Выключите — и поведение вернётся к прежнему целиком, вместе с накопленной поправкой. Диапазон и скорости остаются вашими в обоих режимах.
Кнопки громкости#
Раздел «Автоматика». Только Android.
Удержание кнопки громкости подаёт сигнал или переключает свет — с погашенным экраном и с телефоном в кармане, пока колесо подключено. По умолчанию выключено; выключенная функция ни во что не вмешивается, и громкость с автогромкостью работают как обычно.
- Что делает удержание «громче» и что — «тише», выбирается отдельно: сигнал, свет или ничего (кнопка остаётся обычной громкостью). По умолчанию «громче» — сигнал, «тише» — свет.
- Срабатывает именно удержание, по умолчанию полсекунды (можно 0,3–1 с). Короткое нажатие по-прежнему меняет громкость музыки, и относительная автогромкость видит его как вашу правку. Удержание в кармане случайно не бывает так часто, как касание, а гудок у некоторых колёс громкий.
- Одно удержание — одно действие. После сигнала полторы секунды пауза, чтобы кнопка, придавленная на кочке несколько раз, не гудела на каждую.
- Свет — та же одна кнопка света, что у долгого нажатия на точку пульта и на виджете.
Пока функция включена, громкость удержанием не «прокрутить» — нажимайте коротко. Если после подключения колеса запустить музыку в другом приложении, система может отдать кнопки ему; тогда переподключите колесо. На разных телефонах производители по-своему обходятся с кнопками громкости, поэтому проверьте функцию у себя до поездки.
На iPhone этого нет и не будет: у iOS нет разрешённого способа перехватывать кнопки громкости у приложения в фоне, а правила App Store прямо запрещают менять их поведение.
Профили колеса#
Меню → «Настройки колеса» → настройки железа колеса.
Профиль это сохранённый набор настроек колеса. Профили хранятся отдельно для каждого колеса.
- Есть встроенный профиль по умолчанию, он заполняется текущими настройками колеса при первом подключении.
- Свои профили можно создавать, переименовывать, удалять и переключать одним нажатием.
- Профилем можно обменяться: он отдаётся отдельным файлом, который другой человек загружает у себя.
Профили показаны списком. Нажатие на профиль сразу применяет его к колесу. У выбранного профиля написано, совпадает ли он с тем, что стоит в колесе, а если нет — у скольких настроек значения другие; профиль, который совпадает с колесом, помечен «как в колесе». Там же, в строке выбранного профиля, собраны действия над ним: «Сохранить настройки колеса» переписывает профиль тем, что стоит в колесе сейчас, рядом — переименовать, поделиться и удалить (удаление спрашивает подтверждения). «Новый профиль» под списком сохраняет текущие настройки колеса в новый профиль; название можно ввести сразу или оставить пустым. Пустой профиль в быстром доступе на дашборде не показывается.
Применение профиля устроено аккуратно: пропускаются настройки, которых ваше колесо не поддерживает, пропускается транспортный режим, и в колесо отправляются только те значения, которые реально отличаются от текущих.
Исключение — Begode: это колесо не сообщает приложению большую часть своих настроек, и сравнивать новое значение не с чем. Профиль ему пишется целиком, каждый раз.
Настройки разложены по разделам, и разделы свёрнуты: у P6 их полсотни, и развёрнутым списком экран прокручивался тринадцать раз. Открыт первый раздел — «Управление»; остальные открываются нажатием, рядом с названием написано, сколько настроек внутри. Есть поиск по названию: он достаёт настройку из любого раздела, не открывая их руками. Переключатель «Сырые значения» возвращает под каждой настройкой смещение и сырое значение байта — это нужно для разбора протокола, а не для езды, поэтому по умолчанию он выключен.
Каждая настройка показывает три числа по отдельности, и они никогда не сливаются в одно: в колесе — то, что там сейчас; новое значение — то, что получится после записи, если вы двинули ползунок; в профиле — то, что лежит в выбранном профиле, если оно отличается. Кнопка «Записать» активна ровно тогда, когда ползунок сдвинут с того, что в колесе.
Ползунок всегда стоит на значении колеса, а не профиля. Профиль применяется целиком — выбором профиля, — и не подменяет собой текущее значение: иначе выбранный, но не применённый профиль выглядел бы как «вот что записано в колесе».
Галочка «Сохранять изменения в профиль» в строке выбранного профиля включает автосохранение: всё, что вы записываете в колесо руками, тут же ложится в выбранный профиль. По умолчанию она выключена — профиль, собранный руками, приложение молча не переписывает.
Включать её стоит тем, кто правит настройки на ходу и держит профиль «как у меня сейчас». Без неё бывает так: профиль выбран, настройка (скажем, наклон педалей) поправлена руками, профиль не пересохранён — и на следующем подключении профиль возвращает своё прежнее значение. Приложение делает ровно то, что написано, а выглядит это как будто оно меняет настройки само.
При подключении приложение сверяет настройки колеса с профилями. Если совпал тот, что выбран, он и остаётся. Если совпал другой, выбирается он. Если не совпал никакой, выбирается профиль по умолчанию, и в колесо при этом ничего не пишется.
Плагины прошивки#
Меню → «Настройки колеса» → «Плагины прошивки». LeaperKim и колёса на его прошивке.
Плагины — небольшие дополнения к прошивке колеса: новые показания на плитках и новые настройки. Работают они только на модифицированной прошивке; стоковое колесо кадры плагинов просто не читает, и поставить их туда нельзя. За такой прошивкой владелец ведёт к автору в Telegram — нигде она не опубликована.
Экран показывает, что лежит в приложении и что из этого сейчас работает на колесе: занятый слот, адрес во флеше, размер, контрольную сумму, занятую плагинами память колеса и дату последней установки на это колесо. Плагин ставится и снимается одним переключателем, его настройки правятся тут же, а «Стереть все плагины» очищает все слоты разом — настройки и калибровки самого колеса при этом не трогаются.
Новый плагин — это файл .lpkg: «Добавить из файла», и он встаёт в список рядом со
встроенными. Слот берётся из самого файла и никогда не подбирается сам: если слот уже занят,
приложение назовёт занявшего и откажется — заливка поверх соседа стёрла бы его без
предупреждения.
Устанавливать можно только на стоящем колесе и только при живой связи. Установку нельзя прерывать: недописанный плагин прошивка всё равно попробует запустить.
У плагина, который управляет телеметрией колеса, настройки частоты и состава живут на отдельной странице — «Частота и состав» на его плитке. Там же полоса канала: она считает, сколько из измеренных 4,0 КБ/с съест выбранное, и отмечает засечкой потолок, за которым кадры начнут теряться. Выключать группы полей имеет смысл только с конца списка: смещения на странице фиксированы, и выключенная из середины группа просто перестаёт показываться. Эта страница есть и на Android, и на iPhone.
Показание плагина, которому автор дал имя метрики, становится обычной метрикой приложения: его можно поставить плиткой на дашборд, и оно ложится в запись поездки — иначе разбирать по нему прошлое событие было бы нечем. Это тоже работает на обоих телефонах.
Теперь экран есть и на iPhone — раньше он был только на Android. С iPhone плагин ещё ни разу не записывали в настоящее колесо, только с Android, и приложение говорит об этом первой же строкой на экране. Сам формат пакета, кадры заливки и все запреты у обоих телефонов общие — это один и тот же код.
Уведомление во время поездки#
Раздел «Уведомление».
Пока идёт поездка, приложение держит уведомление в шторке. Что в нём написано, вы выбираете сами: до четырёх показаний из того же набора, что предлагает виджет.
Порядок нажатий — это и есть порядок в строке. Первое выбранное стоит слева, там, где его видно, даже когда шторка свёрнута до одной строки. Если выбрать пятое, вытеснится первое — так виден предел, а не «нажал, и ничего не произошло». В развёрнутом виде каждое показание уходит на свою строку, чтобы ничего не обрезалось на узком экране.
Над выбором стоит предпросмотр с живыми значениями текущего колеса, а не с придуманными: видно ровно то, что окажется в шторке.
Набор по умолчанию — скорость, напряжение, ШИМ и пробег поездки. Если вы ничего не меняли, уведомление выглядит так же, как выглядело раньше.
Отдельным переключателем задаётся показ на заблокированном экране: посмотреть скорость и заряд, не разблокировав телефон. Выключенный переключатель прячет значения, но не само уведомление — признак того, что запись идёт, остаётся на месте.
Показания, которых колесо сейчас не даёт, из строки просто выпадают. Если не осталось ни одного, в шторке стоит состояние связи.
Работа в фоне и переподключение#
Раздел «Связь и датчики».
Приложение продолжает работать со свёрнутым экраном. Если связь с колесом пропала, оно само ищет колесо и подключается обратно, а поездка при этом не разрывается. Сколько времени искать, вы задаёте сами, по умолчанию пять минут.
Потерей связи считается и молчание: если колесо не прислало ни одного кадра пять секунд подряд, приложение не ждёт, пока об этом догадается телефон, а начинает искать само. Так видно зависшую плату и уехавший в кармане телефон — раньше на iPhone такое колесо сколько угодно долго выглядело подключённым, с застывшими цифрами на дашборде. Теперь это одинаково на обоих телефонах. Во время прошивки колеса поиск не включается: связь в эти минуты держит прошивальщик.
«Искать всегда» снимает предел совсем: попытка раз в тридцать секунд, пока вы сами не нажмёте «Отключиться». Реже обычного поиска намеренно — иначе телефон сядет за ночь. Заданные минуты при этом сохраняются: выключили переключатель — вернулись к прежнему окну, а не к умолчанию. Теперь это есть на обоих телефонах, раньше было только на Android.
Что происходит, видно по дашборду сразу, даже боковым зрением. Пока приложение ищет колесо, экран обведён красной рамкой, плитки остаются на месте с последними значениями, но становятся серыми — цифры устарели. Внизу панель: сколько времени нет связи, какая идёт попытка и сколько ещё продлится поиск, и большая кнопка «Переподключить сейчас» — она начинает поиск заново и делает попытку немедленно. Если время поиска вышло, нижняя половина экрана превращается в одну кнопку «Переподключить», в которую легко попасть и в перчатке. Когда связь возвращается после обрыва дольше пяти секунд, рамка на три секунды становится зелёной, а внизу пишется, сколько длился обрыв; короткие провалы в зоне помех так не отмечаются. После отключения вручную тревоги нет — только спокойная панель с кнопкой «Подключить».
Чтобы намеренно завершить соединение на iPhone, выберите «Отключить» в меню с тремя точками. До следующего ручного выбора колеса приложение не будет подключаться к нему снова в этой сессии.
Отдельно включается звук при потере связи. Если колесо отвалилось само, в наушник уходит короткий сигнал — две нисходящие ноты. Он намеренно не похож на тревогу: услышав его на ходу, тормозить не нужно, это просто «посмотри в телефон». Когда связь рвётся раз за разом, сигнал звучит не чаще одного раза в пятнадцать секунд, а на отключение вручную не звучит вовсе.
Удержание стоящего колеса включённым#
Меню → «Настройки колеса».
Только для LeaperKim. Колесо выключается само после четырнадцати минут простоя. Если функция включена, приложение поддерживает колесо включённым до заданного вами времени, пока телефон рядом и соединение живо.
Имейте в виду: если после отключения приложения колесо останется стоять, оно выключится через десять или шестьдесят секунд.
Диагностический лог#
Раздел «Диагностика», только на Android.
Если что-то ведёт себя не так, как должно, включите диагностический лог, повторите поездку и пришлите файл. По нему видно, что приложение делало на самом деле: когда подключилось к колесу и когда потеряло связь, какое решение приняла автофара на каждом изменении скорости, почему автогромкость применилась или не применилась, и в какой момент система отправила приложение в фон.
Кнопка «Отправить лог» собирает всё в один текстовый файл и отдаёт его обычным способом — в мессенджер, почтой, куда удобно. Файл можно открыть и прочитать самому, это простой текст.
Лог выключен по умолчанию и на скорость работы не влияет. Сырые данные колеса в него не попадают — это запись поведения приложения, а не протокола.
Виджет на домашнем экране#
Виджет показывает состояние колеса, не открывая приложение: заряд, запас хода, скорость, нагрузку — и всегда честно говорит, когда колесо видели в последний раз.
Устроен он как плитка дашборда, вынесенная на домашний экран. Те же приборы — дуга и полоса ШИМ, тот же словарь метрик, те же подписи. Учить заново нечего.
Что в нём стоит#
Слоты всегда одни и те же и всегда в одном порядке, а размер решает, сколько их поместилось.
- Дуга с главным числом. Что она несёт, выбираете вы. По умолчанию «Авто»: на связи скорость, между поездками заряд. Переключается это связью, а не скоростью, — на светофоре виджет не перекладывается.
- Полоса ШИМ. Тот же прибор, что на дашборде: докуда дошёл ШИМ и где был пик за поездку. Цвет меняется на пороге.
- Показания. До четырёх метрик на выбор из восемнадцати — от запаса хода и пробега до температуры мотора и средней ячейки.
- Подвал. Имя колеса и состояние связи: «на связи» или «два часа назад».
- Кнопки. Появляются с трёх клеток по ширине.
Нажатие по виджету открывает дашборд подключённого колеса, а не тот экран, на котором вы оставили приложение в прошлый раз. Если колеса на связи нет, вы попадаете на главный экран — туда, где связь как раз и поднимается.
Дуга скорости меряет от потолка вашего колеса — того же, что задан в «Скорости и точности». На медленном колесе она больше не стоит почти пустой весь день.
Настройка#
Android. Три пути, и все три ведут на один экран:
- при постановке — виджет спрашивает сразу, как только вы положили его на стол;
- шестерёнкой в углу самой плитки — работает в любом лаунчере;
- Настройки → «Виджеты» — список всех виджетов, стоящих на столе, с тем, что несёт каждый.
Пункт «Настроить» в меню долгого нажатия тоже открывает его, но рисует этот пункт лаунчер, а не приложение: сторонний лаунчер вправе его не показывать вовсе. Поэтому и шестерёнка.
У каждого виджета настройка своя — можно держать узкий со скоростью и широкий с запасом хода.
iPhone. Настройки → «Виджет». Настройка одна на все виджеты: настройка каждого по отдельности требует iOS 17, а приложение работает с iOS 16.
Виджет на iPhone обновляется реже#
iOS даёт виджету ограниченное число обновлений в день, и если тратить их на каждую секунду поездки, система начинает обновлять его когда вздумается. Поэтому на iPhone виджет показывает только медленные показатели — заряд, запас хода, пробег, время в пути, средние и расход, — а скорость, ШИМ, мощность, токи, напряжение и температуры в нём не выбираются. В поездке он обновляется примерно раз в 15 минут и сразу — при подключении, отключении, начале и конце поездки. Если в настройке стояло что-то из убранного, дуга сама переключается на заряд. Полосы ШИМ на iPhone нет. На Android всё по-прежнему.
Кнопки#
Кнопок ровно столько, сколько умеет ваше колесо. Сегодня это фара — она есть у Begode, KingSong, LeaperKim и Inmotion, — и звуковой сигнал у тех колёс, где он есть в пульте быстрых действий на дашборде: список там же. Сигнализации нет ни у одной марки: команда не разобрана, а слать в колесо угаданные байты мы не будем. Как только команда появится, кнопка появится сама.
Кнопка фары шлёт колесу ту же команду, что кнопка «фара» на дашборде, — не какую-то свою. Без связи кнопок нет вовсе: ряд серых квадратов, который ничего не делает, — не кнопки.
На iPhone кнопки есть начиная с iOS 17 — на средних виджетах, в три клетки по ширине. Без связи вместо них стоит строка «Кнопки работают, пока колесо на связи»: это честнее серого квадрата, после нажатия на который ничего не происходит. Команду выполняет само приложение, а не виджет, поэтому кнопка срабатывает, пока приложение живо в фоне, — то есть пока идёт поездка. Если система успела его выгрузить, нажатие ничего не сделает; откройте приложение и дождитесь связи. На iOS 16 кнопок нет.
Прозрачность#
Android. Ползунок стоит в настройке самого виджета, от 20 % до 100 %, и у каждого виджета он свой: сколько обоев просвечивает — вопрос к конкретному столу, и один ответ на все виджеты был неверным для каждого второго. По умолчанию 60 %.
Подложка одна на весь виджет, со скруглёнными углами и чётким краем. Растушёванный край, который был здесь раньше, убран: он задумывался ради полупрозрачного режима, а на непрозрачной плитке читался грязным ореолом вокруг прямоугольника.
Ниже двадцати процентов ползунок не идёт намеренно: там подложка перестаёт держать текст читаемым на светлых обоях, и «прозрачнее» означало бы «неразборчиво».
Чернила следуют вашей теме. Остальное оформление — акцент, фон, оттенки метрик — виджет тоже берёт из приложения.
На iPhone ползунка нет — прозрачность виджета там не в нашей власти. А вот фон и акцент виджет берёт из приложения так же, как на Android: выбрали «Сливу» — виджет становится сливовым вместе с дашбордом, и кнопки красятся вашим акцентом. Светлую и тёмную тему телефона он при этом по-прежнему слушает.
Свежесть данных#
Виджет не связывается с колесом сам. Он показывает то, что приложение записало в последний раз, и обновляется раз в пятнадцать секунд, пока приложение на связи: чаще незачем, а батарею телефона это бережёт.
Метрики, которые без связи означают «неизвестно», — скорость, ШИМ, мощность, ток — становятся прочерком, а не нулём. Застывшие 34 км/ч через час после поездки читались бы как езда. Заряд, пробег и температуры остаются: они меняются медленно и остаются правдой.
Меню отладки#
Не в настройках: меню дашборда и список поиска.
Долгое нажатие на устройство в списке поиска открывает служебный экран: сырые пакеты, разобранные кадры, побайтовые изменения, метки, выгрузка записи в файл и отправка своих команд.
Это инструмент для разбора протоколов, а не для повседневной езды. Отправка произвольных команд в колесо может привести к чему угодно, вплоть до неожиданного поведения на ходу.