mirror of
https://github.com/eclipse/upm.git
synced 2025-03-15 04:57:30 +03:00
maxds3231m :: fix to getTemperature method
Signed-off-by: Kiveisha Yevgeniy <yevgeniy.kiveisha@intel.com>
This commit is contained in:
parent
574a39d3c1
commit
58b80f6b58
@ -87,12 +87,17 @@ MAXDS3231M::getDate (Time3231 &time) {
|
||||
uint16_t
|
||||
MAXDS3231M::getTemperature () {
|
||||
uint8_t buffer[2];
|
||||
uint16_t tempRaw = 0;
|
||||
uint8_t msb = 0;
|
||||
uint8_t lsb = 0;
|
||||
|
||||
i2cReadReg_N (TEMPERATURE_ADDR, 2, buffer);
|
||||
tempRaw = (((int16_t)buffer[0]) << 8) | buffer[1];
|
||||
msb = buffer[0];
|
||||
lsb = buffer[1] >> 6;
|
||||
|
||||
return tempRaw;
|
||||
if ((msb & 0x80) != 0)
|
||||
msb |= ~((1 << 8) - 1); // if negative get two's complement
|
||||
|
||||
return 0.25 * lsb + msb;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user