TMP112 and TMP102 Interface Example

Dependencies:   mbed tmp112

Committer:
CamiloRuiz
Date:
Thu May 12 21:51:31 2016 +0000
Revision:
0:373d0c67a763
Tmp112 and tmp102 interface example

Who changed what in which revision?

UserRevisionLine numberNew contents of line
CamiloRuiz 0:373d0c67a763 1 /*
CamiloRuiz 0:373d0c67a763 2 Copyright (c) 2016 Camilo Ruiz
CamiloRuiz 0:373d0c67a763 3
CamiloRuiz 0:373d0c67a763 4 Permission is hereby granted, free of charge, to any person obtaining a copy
CamiloRuiz 0:373d0c67a763 5 of this software and associated documentation files (the "Software"), to deal
CamiloRuiz 0:373d0c67a763 6 in the Software without restriction, including without limitation the rights
CamiloRuiz 0:373d0c67a763 7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
CamiloRuiz 0:373d0c67a763 8 copies of the Software, and to permit persons to whom the Software is
CamiloRuiz 0:373d0c67a763 9 furnished to do so, subject to the following conditions:
CamiloRuiz 0:373d0c67a763 10
CamiloRuiz 0:373d0c67a763 11 The above copyright notice and this permission notice shall be included in
CamiloRuiz 0:373d0c67a763 12 all copies or substantial portions of the Software.
CamiloRuiz 0:373d0c67a763 13
CamiloRuiz 0:373d0c67a763 14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
CamiloRuiz 0:373d0c67a763 15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
CamiloRuiz 0:373d0c67a763 16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
CamiloRuiz 0:373d0c67a763 17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
CamiloRuiz 0:373d0c67a763 18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
CamiloRuiz 0:373d0c67a763 19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
CamiloRuiz 0:373d0c67a763 20 THE SOFTWARE.
CamiloRuiz 0:373d0c67a763 21 */
CamiloRuiz 0:373d0c67a763 22
CamiloRuiz 0:373d0c67a763 23 //this should work with tmp102 too
CamiloRuiz 0:373d0c67a763 24 //I do not use negative values on my application, this code has to be tweaked to support it
CamiloRuiz 0:373d0c67a763 25 //I do not use extended mode, this code has to be tweaked to support it
CamiloRuiz 0:373d0c67a763 26
CamiloRuiz 0:373d0c67a763 27 //greetings from Colombia :)
CamiloRuiz 0:373d0c67a763 28
CamiloRuiz 0:373d0c67a763 29 //I used TinyBle platform from SeeedStudio
CamiloRuiz 0:373d0c67a763 30
CamiloRuiz 0:373d0c67a763 31 #include "mbed.h"
CamiloRuiz 0:373d0c67a763 32 #include "tiny_ble.h"
CamiloRuiz 0:373d0c67a763 33 #include "TMP112.h"
CamiloRuiz 0:373d0c67a763 34
CamiloRuiz 0:373d0c67a763 35 TMP112 TempSensor(p3, p4,0x90);
CamiloRuiz 0:373d0c67a763 36
CamiloRuiz 0:373d0c67a763 37 DigitalOut power_out(POWER_OUT_EN); //power output TinyBle
CamiloRuiz 0:373d0c67a763 38 Serial pc(UART_TX, UART_RX);
CamiloRuiz 0:373d0c67a763 39
CamiloRuiz 0:373d0c67a763 40 int main()
CamiloRuiz 0:373d0c67a763 41 {
CamiloRuiz 0:373d0c67a763 42 pc.baud(115200);
CamiloRuiz 0:373d0c67a763 43 power_out=1; //enable power output TinyBle
CamiloRuiz 0:373d0c67a763 44 wait(1.0); //give sensor some time to powerup
CamiloRuiz 0:373d0c67a763 45 TempSensor.writeCFG(TMP112_12BITS| TMP112_CFG_1FAULT | TMP112_CFG_ALERT_LOW | TMP112_CFG_TM_COMP_MODE
CamiloRuiz 0:373d0c67a763 46 | TMP112_CFG_ON | TMP112_CFG_CR_1Hz | TMP112_CFG_EM_OFF);
CamiloRuiz 0:373d0c67a763 47 TempSensor.write_TM_Htemp(25.5);
CamiloRuiz 0:373d0c67a763 48 TempSensor.write_TM_Ltemp(25.0);
CamiloRuiz 0:373d0c67a763 49 while(1) {
CamiloRuiz 0:373d0c67a763 50 pc.printf("temperature: %f \n", TempSensor.readTemperature());
CamiloRuiz 0:373d0c67a763 51 pc.printf("tresh High: %f \n", TempSensor.readTM_Htemp());
CamiloRuiz 0:373d0c67a763 52 pc.printf("tresh low: %f \n", TempSensor.readTM_Ltemp());
CamiloRuiz 0:373d0c67a763 53 pc.printf("Config: %X \n", TempSensor.readCFG());
CamiloRuiz 0:373d0c67a763 54 wait(1.0);
CamiloRuiz 0:373d0c67a763 55
CamiloRuiz 0:373d0c67a763 56 }
CamiloRuiz 0:373d0c67a763 57 }