HDC1000 library
Dependents: Condensation_Monitor mbed_HDC1000 BLE_Condensation_Monitor GR-PEACH_TAMORI
See http://developer.mbed.org/users/yasuyuki/notebook/HDC1000/
HDC1000.cpp
- Committer:
- yasuyuki
- Date:
- 2015-07-10
- Revision:
- 1:45126276dbf3
- Parent:
- 0:82c214412005
File content as of revision 1:45126276dbf3:
//********************** // HDC1000.cpp for mbed // // HDC1000 hdc1000(P0_5,P0_4); // or // I2C i2c(P0_5,P0_4); // HDC1000 hdc1000(i2c); // // (C)Copyright 2015 All rights reserved by Y.Onodera // http://einstlab.web.fc2.com //********************** #include "mbed.h" #include "HDC1000.h" HDC1000::HDC1000 (PinName sda, PinName scl) : _i2c(sda, scl) { init(); } HDC1000::HDC1000 (I2C& p_i2c) : _i2c(p_i2c) { init(); } void HDC1000::get() { // Trigger buf[0] = 0x00; // Pointer _i2c.write(HDC1000_ADDR, buf, 1); // with stop // Wait 6.35ms + 6.5ms wait_ms(20); // get data _i2c.read( HDC1000_ADDR, buf, 4); } unsigned short HDC1000::humidity() { // get hum get(); hum.byte.HB=buf[2]; hum.byte.LB=buf[3]; return hum.Val; } unsigned short HDC1000::temperature() { // get temp get(); temp.byte.HB=buf[0]; temp.byte.LB=buf[1]; return temp.Val; } void HDC1000::init() { wait_ms(15); // Set configuration buf[0] = 0x02; // Pointer buf[1] = 0x10; // High byte buf[2] = 0x00; // Low byte _i2c.write(HDC1000_ADDR, buf, 3); }