On 8/18/2022 11:23 PM, Guenter Roeck wrote:
On Wed, Aug 17, 2022 at 05:43:17AM +0000, Eliav Farber wrote:
Modify the equation and coefficients to convert the digital output to
temperature according to series 5 of the Moortec Embedded Temperature
Sensor (METS) datasheet:
T = G + H * (n / cal5 - 0.5) + J * F
The G, H and J coefficients are multiplied by 1000 to get the
temperature
in milli-Celsius.
This is, at the very least, confusing. It doesn't explain the discrepancy
to the old code nor the change in constant values. I have no idea if this
change would result in erroneous readings on some other system where
the existing calculation may be the correct one.
When I tested the driver it was also not clear to me why the equation
and coefficients in the code don't match the specifications in the data
sheet.
I reached out to Maxlinear engineers (@rtanwar) and they also couldn't
explain the discrepancy.
After further correspondence I aligned both the equation and coefficients
in the driver code to the equation and coefficients defined in series 5
of the Moortec Embedded Temperature Sensor (METS) datasheet which they
provided.
On top of that, it seems overflow-prune in 32 bit systems.
I'll check if it can overflow, and if it can I'll fix in next version.
--
Regards, Eliav