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
@ -86,13 +86,18 @@ MAXDS3231M::getDate (Time3231 &time) {
|
|||||||
|
|
||||||
uint16_t
|
uint16_t
|
||||||
MAXDS3231M::getTemperature () {
|
MAXDS3231M::getTemperature () {
|
||||||
uint8_t buffer[2];
|
uint8_t buffer[2];
|
||||||
uint16_t tempRaw = 0;
|
uint8_t msb = 0;
|
||||||
|
uint8_t lsb = 0;
|
||||||
|
|
||||||
i2cReadReg_N (TEMPERATURE_ADDR, 2, buffer);
|
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