Lee Kai Xuan / mbed-os

Fork of mbed-os by erkin yucel

Revision:
0:f269e3021894
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/features/unsupported/tests/peripherals/TMP102/TMP102.cpp	Sun Oct 23 15:10:02 2016 +0000
@@ -0,0 +1,23 @@
+#include "TMP102.h"
+
+#define TEMP_REG_ADDR 0x00
+
+TMP102::TMP102(PinName sda, PinName scl, int addr) : m_i2c(sda, scl), m_addr(addr) {
+    m_i2c.frequency(400000);
+}
+TMP102::~TMP102() { }
+
+float TMP102::read() {
+    const char tempRegAddr = TEMP_REG_ADDR;
+
+    m_i2c.write(m_addr, &tempRegAddr, 1);
+
+    char reg[2] = {0,0};
+    m_i2c.read(m_addr, reg, 2);
+
+    unsigned short res = (reg[0] << 4) | (reg[1] >> 4);
+
+    float temp =  (float) ((float)res * 0.0625);
+
+    return temp;
+}