Тема: Счетчик пробега с переполнением
В терминале осуществляется подсчёт пробега. Пробег выдаётся в сообщениях в виде 16-битного счётчика с ценой младшего разряда 0.1 км. Испробовали такие подходы в Виалоне.
1. Реализуем просто как датчик абсолютного пробега. Работает замечательно, но периодически возникает проблема: когда за отчётный период происходит переход счётчика через 0, в отчете получаем бред (за сутки до 7 тыс.км)
2. Реализуем как относительный одометр с параметром path-#path и с отбраковкой отрицательных значений.
Проблема подхода №1 исчезает, но появляется другая. Терминал передаёт помимо базовых сообщений ещё сообщения другого типа. В них значение счётчика пробега не передаётся. А вот Виалон при этом начинает терять "кусочки пути". В результате в отчете получаем значение, меньшее истинного. Ошибка часто превышает 10%.
Существует ли для данного случая подход, позволяющий в Виалоне 100%-но генерировать адекватные отчёты?
Заранее благодарен за любую помощь.
http://road-key.com