Дозатор иногда выдаёт двойную порцию реагента
Мастер запускает дозу записью в регистр команд: функция 06, значение 1 = «выдать порцию». Таймаут ответа в мастере — 50 мс, при таймауте запрос повторяется. Ведомое устройство иногда отвечает за 60–80 мс: перед ответом оно пишет журнал во внешнюю EEPROM.
В журнале дозатора в эти моменты две порции подряд. Как исправить надёжно?
- Таймаут выше худшего ответа и идемпотентные команды
- Отключить повторы запросов в мастере совсем
- Поднять скорость шины с 9600 до 115200 бод
- Отвечать мастеру раньше, чем команда выполнена
