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