Dependencies: dispBoB mbed PCA9635
Revision 0:ba39353df5e7, committed 2011-07-08
- Comitter:
- d_worrall
- Date:
- Fri Jul 08 15:14:55 2011 +0000
- Child:
- 1:1d49d49b77f8
- Commit message:
- version1
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/PCA9635.lib Fri Jul 08 15:14:55 2011 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/d_worrall/code/PCA9635/#16f968749855
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TMP102/TMP102.cpp Fri Jul 08 15:14:55 2011 +0000 @@ -0,0 +1,54 @@ + +/* +Copyright (c) 2010 Donatien Garnier (donatiengar [at] gmail [dot] com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +#include "TMP102.h" + +#define TEMP_REG_ADDR 0x00 + +TMP102::TMP102(PinName sda, PinName scl, int addr) : m_i2c(sda, scl), m_addr(addr) +{ + +} + +TMP102::~TMP102() +{ + +} + +float TMP102::read() +{ + I2C temperatureIn(p9, p10); + + const char tempRegAddr = TEMP_REG_ADDR; + + m_i2c.write(m_addr, &tempRegAddr, 1); //Pointer to the temperature register + + char reg[2] = {0,0}; + m_i2c.read(m_addr, reg, 2); //Rea + + unsigned short res = (reg[0] << 4) | (reg[1] >> 4); + + float temp = (float) ((float)res * 0.0625); + + return temp; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TMP102/TMP102.h Fri Jul 08 15:14:55 2011 +0000 @@ -0,0 +1,61 @@ + +/* +Copyright (c) 2010 Donatien Garnier (donatiengar [at] gmail [dot] com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +#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(); + +private: + I2C m_i2c; + int m_addr; + +}; + +#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/digitalThermometer.cpp Fri Jul 08 15:14:55 2011 +0000 @@ -0,0 +1,16 @@ +#include "mbed.h" +#include "dispBoB.h" +#include "TMP102.h" + +dispBoB db(p28, p27, p26); //instantiate a dispBoB object +TMP102 temperature(p9, p10, 0x90); //instantiate a TMP102 object + +int main() { + db.cls(); //clear screen + while(1){ + db.locate(0); //position to start + db.printf("%f", temperature.read()); //print temperature + db.printf("%c", ".C"); //degrees celsius + wait(1); //wait 1 second before looping + } +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dispBoB.lib Fri Jul 08 15:14:55 2011 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/d_worrall/code/dispBoB/#10570d97f4d3
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Fri Jul 08 15:14:55 2011 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/63bcd7ba4912