Модуль помогает преобразовать нестабильный входной аналоговый сигнал в выходной стабильный цифровой сигнал, сравнивая вход с заданными пороговыми значениями.
В качестве параметров объекту-гистерезису определяют 2 порога: верхний и нижний, и 2 времени задержки: верхнее и нижнее. Время задержки называют лагом.
Гистерезис может генерировать 2 события:
"high" — спустя верхний лаг после того, как входной сигнал стал стабильно выше верхнего порога;"low" — спустя нижний лаг после того, как входной сигнал стал стабильно ниже нижнего порога.
Значения входного сигнала передают через метод push.
Гистерезис используют там, где приводить в действие исполнительное устройство можно только после стабилизации входного сигнала. Например:
Представим гистерезис, у которого нулевой нижний лаг и ненулевой верхний.
Ключевые моменты таковы:
"low"."high"."low".
Создаёт новый объект Hysteresis с параметрами, заданными в объекте opts.
В opts ожидаются поля:
low — нижняя граница;high — верхняя граница;lowLag — нижний лаг в секундах;highLag — верхний лаг в секундах.
Если lowLag или highLag не заданы, они принимаются равными нулю.
Значения low и high могут совпадать. В этом случае одно из значений можно опустить.
Класс, представляющий гистерезис. Используйте функцию create, чтобы создать новый объект.
Добавляет новое значение val входного сигнала.
Насколько часто программа должна вызывать метод — ваше решение. Если входной сигнал динамично меняется, важно вызывать push достаточно часто, чтобы гистерезис попросту не пропустил ключевые моменты, когда сигнал пересекает пороговые значения.
Вызывать push через равные промежутки времени не обязательно.
Событие возникает при переходе гистерезиса в стабильное верхнее состояние, спустя highLag после пересечения входным сигналом порога high.
Событие возникает при переходе гистерезиса в стабильное нижнее состояние, спустя lowLag после пересечения входным сигналом порога low.