Opened 6 лет ago

Closed 6 лет ago

#69 closed улучшение (invalid)

Не учитывать в таймауте условия разворота время остановки

Сообщил: alx Владелец: alx
Приоритет: средний Этап разработки: 2-я очередь
Ключевые слова: Копия:

Описание

Сейчас таймер условия разворота запускается при начале хода вниз (точнее, при достижении верхней точки, что само по себе не совсем правильно) и работает до истечения таймаута или до срабатывания нижнего датчика (причем только в автоматическом режиме, что тоже неправильно). Согласно же ТЗ, при измерении времени хода вниз надо учитывать только "чистое" время движения, не включая возможные остановки.

Необходимо применить более хитрый алгоритм, типа:

  • В момент начала движения вниз (при изменении направления движения "вверх" на "вниз") устанавливать некой переменной максимальное время движения, соответствующее условию разворота, и запускать таймер на это время.
  • При остановке движения до истечения таймаута таймер останавливать, значение переменной уменьшать на время движения вниз.
  • При возобновлении движения вновь запускать таймер на оставшееся время, находящееся в переменной.

История изменений (2)

comment:1 by alx, 6 лет ago

Тип: багулучшение

comment:2 by alx, 6 лет ago

Решение: invalid
Состояние: newclosed

Как я только что узнал из устной беседы, условие разворота действует только в автоматическом режиме. В ручном же режиме учитывается только срабатывание нижнего датчика. С другой стороны, в автоматическим режиме не бывает остановок в процессе движения вниз (кроме как аварийных). Поэтому данный тикет более неактуален.

Note: See TracTickets for help on using tickets.