Skip to content
Snippets Groups Projects
Commit d01b847c authored by Larry Johnson's avatar Larry Johnson Committed by Wolfgang Denk
Browse files

LM75 bug fix for negative temperatures


When the LM75 temperature sensor measures a temperature below 0 C, the
current driver does not perform sign extension, so the result returned is
256 C too high.  This patch fixes the problem.

Signed-off-by: default avatarLarry Johnson <lrj@acm.org>
parent 5a910c22
No related branches found
No related tags found
No related merge requests found
...@@ -179,7 +179,13 @@ int dtt_init (void) ...@@ -179,7 +179,13 @@ int dtt_init (void)
int dtt_get_temp(int sensor) int dtt_get_temp(int sensor)
{ {
return (dtt_read(sensor, DTT_READ_TEMP) / 256); int const ret = dtt_read(sensor, DTT_READ_TEMP);
if (ret < 0) {
printf("DTT temperature read failed.\n");
return 0;
}
return (int)((int16_t) ret / 256);
} /* dtt_get_temp() */ } /* dtt_get_temp() */
#endif /* CONFIG_DTT_LM75 */ #endif /* CONFIG_DTT_LM75 */
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment