diff options
author | Jun Wako <wakojun@gmail.com> | 2015-04-24 16:26:14 +0900 |
---|---|---|
committer | Jun Wako <wakojun@gmail.com> | 2015-04-24 16:26:14 +0900 |
commit | 1fe4406f374291ab2e86e95a97341fd9c475fcb8 (patch) | |
tree | 1be0e16b4b07b5a31ea97ec50a9eb13a288c3d27 /tool/mbed/mbed-sdk/libraries/tests/peripherals/TMP102 | |
parent | a20ef7052c6e937d2f7672dd59456e55a5c08296 (diff) | |
download | firmware-1fe4406f374291ab2e86e95a97341fd9c475fcb8.tar.gz firmware-1fe4406f374291ab2e86e95a97341fd9c475fcb8.tar.bz2 firmware-1fe4406f374291ab2e86e95a97341fd9c475fcb8.zip |
Squashed 'tmk_core/' changes from 7967731..b9e0ea0
b9e0ea0 Merge commit '7fa9d8bdea3773d1195b04d98fcf27cf48ddd81d' as 'tool/mbed/mbed-sdk'
7fa9d8b Squashed 'tool/mbed/mbed-sdk/' content from commit 7c21ce5
git-subtree-dir: tmk_core
git-subtree-split: b9e0ea08cb940de20b3610ecdda18e9d8cd7c552
Diffstat (limited to 'tool/mbed/mbed-sdk/libraries/tests/peripherals/TMP102')
-rw-r--r-- | tool/mbed/mbed-sdk/libraries/tests/peripherals/TMP102/TMP102.cpp | 23 | ||||
-rw-r--r-- | tool/mbed/mbed-sdk/libraries/tests/peripherals/TMP102/TMP102.h | 39 |
2 files changed, 62 insertions, 0 deletions
diff --git a/tool/mbed/mbed-sdk/libraries/tests/peripherals/TMP102/TMP102.cpp b/tool/mbed/mbed-sdk/libraries/tests/peripherals/TMP102/TMP102.cpp new file mode 100644 index 000000000..934c690ed --- /dev/null +++ b/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/tool/mbed/mbed-sdk/libraries/tests/peripherals/TMP102/TMP102.h b/tool/mbed/mbed-sdk/libraries/tests/peripherals/TMP102/TMP102.h new file mode 100644 index 000000000..ce7de8384 --- /dev/null +++ b/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 |