Closed ClemensGruber closed 1 year ago
Thanks for the hint. It is easy to implement a check, but would sort out some of the counterfeit devices, which would otherwise still reasonably work. Not that I care much about these, but I see complaint coming.
Doing a few tests, the check for 0x0c in byte 6 is not a useful one, since that value occurs for good readings too. In my test this was at 25.25 °C, in a proper up and down slope of temperature readings.
Did you get this reading on a counterfeit devices? ;-) Yes perhaps too optimistic to count on original chips only. He, so we have no option to distinguish between "true" and error code readings? And developer have to decide on application level to replace 85.00 °c with missings or not!?
No. The devices I have seem to be genuine ones: Laser printed and with the P stamp on the back.
He, so we have no option to distinguish between "true" and error code readings? And developer have to decide on application level to replace 85.00 °c with missings or not!?
We have been at that point of the discussion already with Andreas (@amotl)
I tested one device, which value byte 6 has at 85°C, and it was 0x10. But that is just a single test, and the value of byte 6 varies between 0x01 and 0x10 over the whole test range of 22°C to 90°C. I expect it to be different from 0x10 at 85°C for a different device. P.S.: I heated the DS18B20 with a soldering iron. I could also clip a load resistor on it and heat it with that one. These resistors are usually good for up to at least 200°C.
I don't know if this is included in the current version. Sometimes you see with DS18B20 sensors 85 °C readings but this may be an error code. To distinguish between error code and true readings I found this interesting information under https://github.com/cpetrich/counterfeit_DS18B20
see also https://github.com/robert-hh/Onewire_DS18X20/issues/7