This solves #13 by reading the complete scratchpad and validating the CRC at the end of it. When the device is not connected, every call to DS18B20_ReadByte will yield 0xFF, so the CRC will not match.
This is then used to send the bytes 0x80, 0x00 as the temperature value, which equates to a value far outside of realistic temperatures (far below absolute zero). This makes it easy to determine whether a reading is correct or not.
This solves #13 by reading the complete scratchpad and validating the CRC at the end of it. When the device is not connected, every call to
DS18B20_ReadByte
will yield0xFF
, so the CRC will not match. This is then used to send the bytes0x80
,0x00
as the temperature value, which equates to a value far outside of realistic temperatures (far below absolute zero). This makes it easy to determine whether a reading is correct or not.