|
UniSet
1.7.0
|
#include <HourGlass.h>
Открытые члены | |
| void | run (timeout_t msec) |
| void | reset () |
| int | duration () |
| bool | rotate (bool st) |
| timeout_t | current (bool st) |
| timeout_t | interval (bool st) |
| bool | check () |
| bool | state () |
Защищенные данные | |
| PassiveTimer | t |
| bool | _state |
| int | _sand |
| timeout_t | _size |
Песочные часы. Класс реализующий логику песочных часов. Удобен для создания задержек на срабатывание и на отпускание (как фильтр от кратковременных изменений) с "накоплением времени". Аналогия с песочными часами:
Класс является "пассивным", т.е. требует периодического вызова функции rotate и check, для проверки наступления условия срабатывания.
HourGlass hg; hg.run(10000); // настраиваем часы на 10 сек.. while( ....) { hg.rotate(in_overheating); // управляем состоянием песочных часов (прямой или обратный ход). isOverheating = hg.check(); }
1.7.6.1