Commit c8221fef authored by Pavel Vainerman's avatar Pavel Vainerman

(HourGlass): чуть подправил документацию..

parent b066dc18
...@@ -27,16 +27,18 @@ ...@@ -27,16 +27,18 @@
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
/*! Песочные часы. Класс реализующий логику песочных часов. /*! Песочные часы. Класс реализующий логику песочных часов.
Удобен для создания задержек на срабатывание и на отпускание Удобен для создания задержек на срабатывание и на отпускание
(как фильтр от кратковременных изменений). Аналогия с песочными часами: (как фильтр от кратковременных изменений) с "накоплением времени".
Аналогия с песочными часами:
\par \par
Выставляете время(run).. устанавливаются в какое-то положение часы (rotate)... Выставляете время(run).. устанавливаются в какое-то положение часы (rotate)...
песок сыплется... если весь пересыпался - срабатывает условие (check()==true). песок сыплется... если весь пересыпался - срабатывает условие (check()==true).
Если во время работы условие изменилось (часы перевернули в обратную сторону), то Если во время работы условие изменилось (часы перевернули в обратную сторону), то
уже успевший пересыпаться песок, начинает пересыпаться в обратную сторону. Если опять уже успевший пересыпаться песок, начинает пересыпаться в обратную сторону. Если опять
повернули часы... продолжает сыпаться опять (добвляясь к тому песку, что "не успел" высыпаться обратно). повернули часы... продолжает сыпаться опять (добвляясь к тому песку, что "не успел" высыпаться обратно).
и т.д. по кругу... Т.е. до момента срабатывания уже меньше времени чем "полное время" и т.д.
Класс является "пассивным", т.е. требует периодического вызова функции check, для проверки наступления условия срабатывания. Класс является "пассивным", т.е. требует периодического вызова функции rotate и check,
для проверки наступления условия срабатывания.
\par Пример использования. \par Пример использования.
Допустим у вас есть сигнал "перегрев"(in_overheating) и вам необходимо выставить какой-то Допустим у вас есть сигнал "перегрев"(in_overheating) и вам необходимо выставить какой-то
...@@ -45,7 +47,7 @@ ...@@ -45,7 +47,7 @@
подождать прежде чем "снять" флаг. Для этого удобно использовать данный класс. подождать прежде чем "снять" флаг. Для этого удобно использовать данный класс.
\code \code
HourGlass hg; HourGlass hg;
hg.run(10000); // настриваем часы на 10 сек.. hg.run(10000); // настраиваем часы на 10 сек..
while( ....) while( ....)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment