summaryrefslogtreecommitdiff
path: root/tmk_core/tool/mbed/mbed-sdk/libraries/tests/peripherals/TMP102
diff options
context:
space:
mode:
authorJun Wako <wakojun@gmail.com>2015-04-24 16:26:14 +0900
committerJun Wako <wakojun@gmail.com>2015-04-24 16:26:14 +0900
commita3d96d3aa96318d339a67de1085e0ae495d57c84 (patch)
treedb85c16d03b52399d6c109eda7ea0341a0de0b1d /tmk_core/tool/mbed/mbed-sdk/libraries/tests/peripherals/TMP102
parent1d5bac21dc6f1425b8ef4bbe7935330c37c3a93e (diff)
parent1fe4406f374291ab2e86e95a97341fd9c475fcb8 (diff)
Merge commit '1fe4406f374291ab2e86e95a97341fd9c475fcb8'
Diffstat (limited to 'tmk_core/tool/mbed/mbed-sdk/libraries/tests/peripherals/TMP102')
-rw-r--r--tmk_core/tool/mbed/mbed-sdk/libraries/tests/peripherals/TMP102/TMP102.cpp23
-rw-r--r--tmk_core/tool/mbed/mbed-sdk/libraries/tests/peripherals/TMP102/TMP102.h39
2 files changed, 62 insertions, 0 deletions
diff --git a/tmk_core/tool/mbed/mbed-sdk/libraries/tests/peripherals/TMP102/TMP102.cpp b/tmk_core/tool/mbed/mbed-sdk/libraries/tests/peripherals/TMP102/TMP102.cpp
new file mode 100644
index 0000000000..934c690ed3
--- /dev/null
+++ b/tmk_core/tool/mbed/mbed-sdk/libraries/tests/peripherals/TMP102/TMP102.cpp
@@ -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;
+}
diff --git a/tmk_core/tool/mbed/mbed-sdk/libraries/tests/peripherals/TMP102/TMP102.h b/tmk_core/tool/mbed/mbed-sdk/libraries/tests/peripherals/TMP102/TMP102.h
new file mode 100644
index 0000000000..ce7de83849
--- /dev/null
+++ b/tmk_core/tool/mbed/mbed-sdk/libraries/tests/peripherals/TMP102/TMP102.h
@@ -0,0 +1,39 @@
+#ifndef TMP102_H
+#define TMP102_H
+
+#include "mbed.h"
+
+//!Library for the TI TMP102 temperature sensor.
+/*!
+The TMP102 is an I2C digital temperature sensor in a small SOT563 package, with a 0.0625C resolution and 0.5C accuracy.
+*/
+class TMP102
+{
+public:
+ //!Creates an instance of the class.
+ /*!
+ Connect module at I2C address addr using I2C port pins sda and scl.
+ TMP102
+ \param addr <table><tr><th>A0 pin connection</th><th>Address</th></tr><tr><td>GND</td><td>0x90</td></tr><tr><td>V+</td><td>0x92</td></tr><tr><td>SDA</td><td>0x94</td></tr><tr><td>SCL</td><td>0x96</td></tr></table>
+ */
+ TMP102(PinName sda, PinName scl, int addr);
+
+ /*!
+ Destroys instance.
+ */
+ ~TMP102();
+
+ //!Reads the current temperature.
+ /*!
+ Reads the temperature register of the TMP102 and converts it to a useable value.
+ */
+ float read();
+
+ I2C m_i2c;
+
+private:
+ int m_addr;
+
+};
+
+#endif