I’m trying to get the temperature from the DW1000, and I have noticed an inconsistency between the documentation provided for the method dwt_readtempvbat in the “DW1000 Application Programming Interface v 2.14”, found here, and the DW1000 User Manual, found here, on page 159 in the section titled “Description of fields within Sub-Register 0x2A:03 – TC_SARL”.
The inline documentation for the function in the driver states:
Note on Temperature: the temperature value needs to be converted to give the real temperature
the formula is: 1.13 * reading - 113.0
Whereas the DW1000 User Manual states:
The value can be converted to an actual voltage by employing the formula:
Temperature (°C )= ( (SAR_LTEMP – OTP_READ(Vtemp @ 23°C) ) x 1.14) + 23
These two methods of converting a raw reading to a temperature result in significantly different readings. In my case, the difference between the two methods results in a difference of over 10 degrees Celsius.
So which of these two is correct?