lkml.org 
[lkml]   [2024]   [Apr]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] iio: temperature: mcp9600: Fix temperature reading for negative values
From
Date
Hi all,

On Apr 28, 2024, at 9:46 AM, Jonathan Cameron <jic23@kernel.org> wrote:

> Agreed - by my reading the original patch is correct. Maybe it would act
> as cleaner 'documentation' to have the sign_extend32() for the cold junction be
> from bit 12 rather than 15, but I'm not sure it's worth the effort.
>
> Andrew, would be great if you can review this fix in case we are all missing
> something!

I also agree that Dimitri’s original patch appears correct per the data sheet.

I think of the cold junction register as a 16 bit 2s complement signed integer,
despite the limited range. I like sign extending it from bit 15 rather than from 12.

I applied Dimitri’s patch and stuck a dev board in my icebox.

Before patch:
# cat /sys/bus/iio/devices/iio:device0/in_temp_raw
65222
# cat /sys/bus/iio/devices/iio:device0/in_temp_ambient_raw
65256

After patch:
# cat /sys/bus/iio/devices/iio:device0/in_temp_raw
-260
# cat /sys/bus/iio/devices/iio:device0/in_temp_ambient_raw
-212

Looks good to me! Thanks for the patch Dimitri, and thanks to all for the review!

Andrew
\
 
 \ /
  Last update: 2024-04-28 21:06    [W:0.168 / U:0.144 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site