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

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

Менеджер алертов

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

Обычно в программах для колеса есть одна галочка: пищать, когда ШИМ превысил столько-то. Здесь вместо неё отдельный раздел, где предупреждение вы собираете сами.

Он состоит из трёх частей: сами алерты, шаблоны условий и звуковые паттерны.

Условия#

Условие это показатель, знак сравнения и порог. Показатели доступны такие: скорость, ШИМ, напряжение батареи, среднее напряжение ячейки, разброс ячеек, ток батареи, фазный ток, мощность, заряд, температура контроллера, температура мосфетов, температура мотора, температура АКБ, продольный и боковой углы, пробег поездки и общий пробег.

Список показывает не всё подряд, а то, что умеет ваше колесо. Датчика температуры в пачке нет ни у одного бегоды, например, — и температуры АКБ в списке у него не будет. Метрика, которой колесо не сообщает, помечена в редакторе прямо в строке, и условие на неё не срабатывает никогда: отсутствующее измерение это не ноль градусов.

Температура АКБ это самая горячая температура батареи, которую колесо сообщает. У колёс с несколькими пачками берётся максимум по ним, у колеса с одним датчиком — его показание. Так и задумано: алерт на батарею это предупреждение о перегреве, и самая холодная пачка его поднять не может.

У условия есть ещё два поля, ради которых всё и затевалось:

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

Порог и оба этих поля правятся кнопками «минус» и «плюс», а само значение можно нажать и ввести с клавиатуры — степпером в 87 при шаге в 5 не попасть. Запятая принимается наравне с точкой, удержание вводится в секундах. Значение вне разумных пределов не принимается и откатывается к прежнему.

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

  • Повторять каждые N. Условие взводится заново каждые столько-то единиц показателя, не дожидаясь, пока тот уйдёт за значение сброса. Без этого «пробег больше километра» сработает один раз за поездку: пробег не убывает, и условие остаётся выполненным до самого конца. С шагом в километр вы услышите первый, второй, третий. Шаг считается в сторону сравнения, поэтому «заряд ниже пятидесяти, каждые десять» идёт вниз: 50, 40, 30. В редакторе под числом показан ряд отметок, на которых правило сработает.

Условий в одном алерте может быть несколько. Они объединяются по правилу «все сразу» или «любое из». Например: скорость выше сорока и ШИМ выше восьмидесяти.

Условие можно сохранить как шаблон и переиспользовать в других алертах.

Конструктор алерта: название, приоритет, область действия, команды колесу, тип срабатывания
Конструктор алерта. Приоритет, область действия и тип срабатывания в одном окне.

Как алерт срабатывает#

Три вида:

  • Разовый. Один раз при выполнении условий. Заряжается заново, когда показатель ушёл за значение сброса, либо по таймауту.
  • Постоянный. Повторяется с заданным интервалом, пока условия выполняются.
  • Ускоряющийся. Писк учащается по мере приближения к опасному значению: от редких сигналов у нижнего порога до слияния в один непрерывный тон у верхнего — точку слияния и кривую ускорения можно выбрать. Вместе с учащением поднимается и высота тона: в редакторе задаётся множитель, на который вырастет частота паттерна к верхней границе. Отпустили газ — писк замедляется и понижается обратно.

Ускоряющийся тип придуман ровно под ШИМ: вы слышите не «превышено», а насколько близко край. Кнопка предпрослушивания в редакторе для этого типа проигрывает всю кривую от порога до слитного тона, а не один проход паттерна.

Голос#

Алерт может не пищать, а говорить. В редакторе есть переключатель «Чем сигналит»: звук или голос. Выбрали голос — приложение произносит показатель и его значение системным синтезатором речи: «Скорость 60», «Аккумулятор 10», «Пробег 5».

Голосовой алерт всегда одноразовый. Повторяющегося и ускоряющегося голоса не бывает: фраза, которая повторяется, перестаёт быть сообщением, а ускоряться ей нечем. Чтобы услышать показатель несколько раз за поездку, поставьте условию шаг «повторять каждые N».

Фразу можно переписать. По умолчанию она подставляется по показателю, и единицы измерения в ней не произносятся: вы сами завели правило и знаете, в чём меряется ваша скорость, а «шестьдесят километров в час» звучит вдвое дольше «шестидесяти» — на 60 км/ч это лишние пятнадцать метров дороги. Если единицы всё же нужны, вставьте {единицы}: слово согласуется с числом само, и получится «1 километр», а не «1 километров».

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

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

Речь никогда не накладывается на писк. Если в момент срабатывания звучит тревога, фраза ждёт её конца; если тревога начинается посреди фразы — фраза обрывается. Ждущая фраза перед тем как прозвучать проверяется заново и пересобирается по свежим данным: «Скорость 80» не переживёт вашего торможения до сорока и не прозвучит вовсе, а «Аккумулятор 10», дождавшийся конца долгого аларма, скажется как «Аккумулятор 8».

Голосовые оповещения выключаются целиком одним переключателем в менеджере алертов — писки при этом остаются. Голос берётся системный: если в телефоне нет голоса нужного языка, редактор скажет об этом и предложит открыть настройки речи. На часы голосовые правила не отправляются: вибрация означает «что-то не так», а «Пробег 5» — не «не так».

Список алертов на Android: приоритет, область действия, тип срабатывания и условия в строке
Android. Полоса слева несёт приоритет, условия видны, не открывая алерт.
Список алертов на iPhone: условия и команды колесу видны прямо в списке
iPhone. Условия и команды видны, не открывая алерт.

Приоритеты#

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

Область действия#

Алерт бывает общим для всех колёс или привязанным к конкретному колесу. Второе нужно, когда у вас несколько колёс с разными безопасными порогами.

Звук#

Звук собирается в своём конструкторе, шаг за шагом. У каждого шага своя частота, длительность, пауза после, громкость и форма волны:

  • синусоида, мягкий писк;
  • меандр, резкий сигнал тревоги;
  • пила, самый агрессивный;
  • треугольная, нейтральная.

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

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

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

Команды колесу#

Алерт умеет не только пищать, но и сам отправить команду в колесо. Например, снизить порог или включить свет.

Это работает не везде и намеренно обвешано ограничениями:

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

Относитесь к этому как к острому инструменту.