Периодически возникает ошибка - очень высокие значения температур, в том числе отрицательные. Мне было непонятно как это возможно вообще, но я посмотрел функцию опроса:
float _readDS18_ow32(byte addr[8], byte type_s)
{ byte data[12];
byte i;
_ow32.reset();
_ow32.select(addr);
_ow32.write(0xBE);
for ( i = 0; i < 9; i++) {
data = _ow32.read();}
_ow32.reset();
_ow32.select(addr);
_ow32.write(0x44, 1);
return _convertDS18x2xData(type_s, data);}
в том виде, как она выглядит после компиляции проекта и я не вижу в ней проверки контрольной суммы.