Add tmp123 sensor temperature driver.
[bertos.git] / bertos / drv / lm75.c
index 845fa3a49c3941545cb87c485406e830104b7ff7..449a4dd2e1f541643be1bd7c0bc0c3a505704bce 100644 (file)
@@ -43,6 +43,7 @@
 #include "cfg/cfg_lm75.h"
 
 #include <cfg/debug.h>
+#include <cfg/module.h>
 
 // Define logging setting (for cfg/log.h module).
 #define LOG_LEVEL   LM75_LOG_LEVEL
@@ -63,10 +64,10 @@ deci_celsius_t lm75_read(addr_t sens_addr)
        i2c_start_w(SELECT_ADDRESS(sens_addr));
        i2c_put(LM75_PAD_BYTE);
        i2c_start_r(SELECT_ADDRESS(sens_addr));
-       i2c_recv(&data, sizeof(data));
+       i2c_recv(data, sizeof(data));
 
-       degree = (uint16_t)data[0];
-       deci_degree = (uint16_t)(((data[1] >> 7) & 1 ) * 5);
+       degree = (int16_t)data[0];
+       deci_degree = (int16_t)(((data[1] >> 7) & 1 ) * 5);
 
        LOG_INFO("[%d.%d C]\n", degree, deci_degree);
 
@@ -75,9 +76,8 @@ deci_celsius_t lm75_read(addr_t sens_addr)
 
 void lm75_init(void)
 {
-       i2c_init();
-       LOG_INFO("Init I2C module.\n");
-
+       // Check dependence
+       MOD_CHECK(i2c);
        LM75_HW_INIT();
 }