Open PeterBorisenko opened 5 years ago
Да. В алгоритме есть ошибка. Мне она известна. Алгоритм был мной некорректно немного упрощён и в ряде случаев (например, когда некоторое сочетание ID датчиков) не сходится. Я постараюсь внести исправления. Поскольку занимаюсь сейчас немного другой деятельностью, мне трудно переключиться быстро.
Странно, а почему сходится при проверке ROM? Или вы имеете ввиду алгоритм в целом, а не owCRC8?
Там ошибка только в Search методе. Я сам разрабатывал алгоритм и только потом, уже после внедрения, понял, что в ряде случаев у меня появляются потерянные ветки. Получается, некорректно его в ряде случаев исполняю. Проблемы есть именно с операцией сканирования. Я постараюсь исправить всё. Проект хоть и делался давно, его можно причесать и он вполне годный. Элементная база для проверки у меня есть. libopencm3 очень хороший подход, делал я проект для автоматизации адского количества сенсоров для пасеки. Следует просто найти время и исправить, что должно.
Да, у меня с ходу все заработало, но потом заметил ошибки в данных и решил что нужна проверка контрольной суммы. Попробую поправить со своей стороны тоже.
Нет проверки CRC в функции чтения температуры. Добавил проверку - CRC никогда не сходится. Отличается на пару бит.