Camilo Ruiz
/
tmp112HelloWorld
TMP112 and TMP102 Interface Example
main.cpp@0:373d0c67a763, 2016-05-12 (annotated)
- 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?
User | Revision | Line number | New 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 | } |