Документация
Менеджер алертов
Свои условия, своя логика и свой звук. Самый большой раздел приложения.
Обычно в программах для колеса есть одна галочка: пищать, когда ШИМ превысил столько-то. Здесь вместо неё отдельный раздел, где предупреждение вы собираете сами.
Он состоит из трёх частей: сами алерты, шаблоны условий и звуковые паттерны.
Условия#
Условие это показатель, знак сравнения и порог. Показатели доступны такие: скорость, ШИМ, напряжение батареи, среднее напряжение ячейки, разброс ячеек, ток батареи, фазный ток, мощность, заряд, температура контроллера, температура мосфетов, температура мотора, температура АКБ, продольный и боковой углы, пробег поездки и общий пробег.
Список показывает не всё подряд, а то, что умеет ваше колесо. Датчика температуры в пачке нет ни у одного бегоды, например, — и температуры АКБ в списке у него не будет. Метрика, которой колесо не сообщает, помечена в редакторе прямо в строке, и условие на неё не срабатывает никогда: отсутствующее измерение это не ноль градусов.
Температура АКБ это самая горячая температура батареи, которую колесо сообщает. У колёс с несколькими пачками берётся максимум по ним, у колеса с одним датчиком — его показание. Так и задумано: алерт на батарею это предупреждение о перегреве, и самая холодная пачка его поднять не может.
У условия есть ещё два поля, ради которых всё и затевалось:
- Значение сброса. Алерт замолкает не на том же значении, на котором сработал, а на заданном ниже. Без этого предупреждение дребезжит, когда показатель топчется у самого порога.
- Минимальная длительность. Условие должно продержаться заданное время, прежде чем алерт сработает. Короткий выброс на кочке не поднимает тревогу.
Порог и оба этих поля правятся кнопками «минус» и «плюс», а само значение можно нажать и ввести с клавиатуры — степпером в 87 при шаге в 5 не попасть. Запятая принимается наравне с точкой, удержание вводится в секундах. Значение вне разумных пределов не принимается и откатывается к прежнему.
Показатель «Скорость по GPS» доступен как обычный: алерт на расхождение с показаниями колеса строится так же, как любой другой. Помните, что при потере сигнала он перестаёт срабатывать — это не поломка, а отказ судить по данным, которых нет.
- Повторять каждые N. Условие взводится заново каждые столько-то единиц показателя, не дожидаясь, пока тот уйдёт за значение сброса. Без этого «пробег больше километра» сработает один раз за поездку: пробег не убывает, и условие остаётся выполненным до самого конца. С шагом в километр вы услышите первый, второй, третий. Шаг считается в сторону сравнения, поэтому «заряд ниже пятидесяти, каждые десять» идёт вниз: 50, 40, 30. В редакторе под числом показан ряд отметок, на которых правило сработает.
Условий в одном алерте может быть несколько. Они объединяются по правилу «все сразу» или «любое из». Например: скорость выше сорока и ШИМ выше восьмидесяти.
Условие можно сохранить как шаблон и переиспользовать в других алертах.
Как алерт срабатывает#
Три вида:
- Разовый. Один раз при выполнении условий. Заряжается заново, когда показатель ушёл за значение сброса, либо по таймауту.
- Постоянный. Повторяется с заданным интервалом, пока условия выполняются.
- Ускоряющийся. Писк учащается по мере приближения к опасному значению: от редких сигналов у нижнего порога до слияния в один непрерывный тон у верхнего — точку слияния и кривую ускорения можно выбрать. Вместе с учащением поднимается и высота тона: в редакторе задаётся множитель, на который вырастет частота паттерна к верхней границе. Отпустили газ — писк замедляется и понижается обратно.
Ускоряющийся тип придуман ровно под ШИМ: вы слышите не «превышено», а насколько близко край. Кнопка предпрослушивания в редакторе для этого типа проигрывает всю кривую от порога до слитного тона, а не один проход паттерна.
Голос#
Алерт может не пищать, а говорить. В редакторе есть переключатель «Чем сигналит»: звук или голос. Выбрали голос — приложение произносит показатель и его значение системным синтезатором речи: «Скорость 60», «Аккумулятор 10», «Пробег 5».
Голосовой алерт всегда одноразовый. Повторяющегося и ускоряющегося голоса не бывает: фраза, которая повторяется, перестаёт быть сообщением, а ускоряться ей нечем. Чтобы услышать показатель несколько раз за поездку, поставьте условию шаг «повторять каждые N».
Фразу можно переписать. По умолчанию она подставляется по показателю, и единицы измерения в
ней не произносятся: вы сами завели правило и знаете, в чём меряется ваша скорость, а
«шестьдесят километров в час» звучит вдвое дольше «шестидесяти» — на 60 км/ч это лишние
пятнадцать метров дороги. Если единицы всё же нужны, вставьте {единицы}: слово согласуется с
числом само, и получится «1 километр», а не «1 километров».
Под полем фразы стоит строка «как это прозвучит» — предложение целиком, с подставленным числом, и оценка его длины в секундах. Она нужна, чтобы сравнивать варианты между собой: длинная фраза договаривается тогда, когда ситуация уже изменилась.
Голос требует, чтобы у правила было одно условие верхнего уровня. При двух ветках через «любое из» неизвестно, какая сработала, и фраза назвала бы не то — в этом случае переключатель голоса недоступен, и редактор говорит почему. Связка «все сразу» голосу не мешает: когда она выполнилась, все её условия истинны одновременно.
Речь никогда не накладывается на писк. Если в момент срабатывания звучит тревога, фраза ждёт её конца; если тревога начинается посреди фразы — фраза обрывается. Ждущая фраза перед тем как прозвучать проверяется заново и пересобирается по свежим данным: «Скорость 80» не переживёт вашего торможения до сорока и не прозвучит вовсе, а «Аккумулятор 10», дождавшийся конца долгого аларма, скажется как «Аккумулятор 8».
Голосовые оповещения выключаются целиком одним переключателем в менеджере алертов — писки при этом остаются. Голос берётся системный: если в телефоне нет голоса нужного языка, редактор скажет об этом и предложит открыть настройки речи. На часы голосовые правила не отправляются: вибрация означает «что-то не так», а «Пробег 5» — не «не так».
Приоритеты#
У каждого алерта есть приоритет: критический, высокий, средний и фоновый. Если условия сработали у нескольких сразу, вы услышите самый важный, а не кашу из всех. На Android это буквально один голос: пока звучит самый приоритетный, остальные молчат полностью — без чередования и без наложения писков друг на друга — и видны только глазами на приборе.
Область действия#
Алерт бывает общим для всех колёс или привязанным к конкретному колесу. Второе нужно, когда у вас несколько колёс с разными безопасными порогами.
Звук#
Звук собирается в своём конструкторе, шаг за шагом. У каждого шага своя частота, длительность, пауза после, громкость и форма волны:
- синусоида, мягкий писк;
- меандр, резкий сигнал тревоги;
- пила, самый агрессивный;
- треугольная, нейтральная.
Получившийся паттерн слушается прямо в редакторе и сохраняется в библиотеку, чтобы переиспользовать его в других алертах.
Привычная тревога по PWM — такой же алерт, собранный из этого же конструктора, только с наивысшим приоритетом среди всех. Она включена в наборе по умолчанию и правится в менеджере вместе со всеми: там её порог, там же условия, приоритет и рисунок писка. Отдельной карточки с ползунком в настройках больше нет — она правила ровно этот алерт, и настроенный в двух местах один порог рассказывал о себе две разные вещи. Отдельного звукового механизма для PWM тоже нет: правило «звучит только самый важный» действует и для неё наравне с вашими алертами. При обновлении со старой версии её порог, диапазон частот и точка слияния в непрерывный тон переносятся автоматически, ничего перенастраивать не нужно.
Сигналы по умолчанию играют поверх музыки, не меняя её громкость. Переключатель «Приглушать музыку при тревоге» — общий на все алерты — остался на первом экране настроек, рядом со входом в менеджер, и по умолчанию выключен. Если его включить, музыка приглушается один раз на всю тревогу и возвращается после неё, а не дёргает громкость между соседними сигналами.
Команды колесу#
Алерт умеет не только пищать, но и сам отправить команду в колесо. Например, снизить порог или включить свет.
Это работает не везде и намеренно обвешано ограничениями:
- только для колёс, которые вообще принимают настройки;
- только если алерт привязан к конкретному колесу, а не общий;
- только после подтверждения предупреждения о том, что менять настройки на ходу опасно.
Относитесь к этому как к острому инструменту.