#69 closed улучшение (invalid)
Не учитывать в таймауте условия разворота время остановки
Сообщил: | alx | Владелец: | alx |
---|---|---|---|
Приоритет: | средний | Этап разработки: | 2-я очередь |
Ключевые слова: | Копия: |
Описание
Сейчас таймер условия разворота запускается при начале хода вниз (точнее, при достижении верхней точки, что само по себе не совсем правильно) и работает до истечения таймаута или до срабатывания нижнего датчика (причем только в автоматическом режиме, что тоже неправильно). Согласно же ТЗ, при измерении времени хода вниз надо учитывать только "чистое" время движения, не включая возможные остановки.
Необходимо применить более хитрый алгоритм, типа:
- В момент начала движения вниз (при изменении направления движения "вверх" на "вниз") устанавливать некой переменной максимальное время движения, соответствующее условию разворота, и запускать таймер на это время.
- При остановке движения до истечения таймаута таймер останавливать, значение переменной уменьшать на время движения вниз.
- При возобновлении движения вновь запускать таймер на оставшееся время, находящееся в переменной.
История изменений (2)
Note:
See TracTickets
for help on using tickets.
Как я только что узнал из устной беседы, условие разворота действует только в автоматическом режиме. В ручном же режиме учитывается только срабатывание нижнего датчика. С другой стороны, в автоматическим режиме не бывает остановок в процессе движения вниз (кроме как аварийных). Поэтому данный тикет более неактуален.