I2C 接続の温度センサ ADT7410 用のライブラリ. Library for temperature sensor ADT7410 connected using I2C interface.
Dependents: Mbed2_ConnectTestAll Demo_ADT7410
ADT7410.cpp
- Committer:
- MikamiUitOpen
- Date:
- 2015-06-15
- Revision:
- 0:b6dc7c54b451
- Child:
- 1:ad3046485a3e
File content as of revision 0:b6dc7c54b451:
//-------------------------------------------------------------- // Class for using ADT7410 // 2015/06/10, Copyright (c) 2015 MIKAMI, Naoki //-------------------------------------------------------------- #include "ADT7410.hpp" namespace Mikami { // Constructor ADT7410::ADT7410(PinName sda, PinName scl, uint8_t addr) : addr_(addr), i2c_(sda, scl) { Reset(); } // Set configuration register // See Figure 15 in data sheet of ADT7410 void ADT7410::SetConfig(char val) { char wReg[2] = { CONFIG_, val }; i2c_.write(addr_, wReg, 2); } // Get value in configuration register // See Figure 17 in data sheet of ADT7410 uint8_t ADT7410::GetConfig() { WriteSingleByte(CONFIG_, true); char rReg[1]; i2c_.read(addr_, rReg, 1); return rReg[0]; } // Get temperature // See Figure 18 in data sheet of ADT7410 float ADT7410::Get() { WriteSingleByte(TEMPER_, true); char rReg[2]; i2c_.read(addr_, rReg, 2); int16_t value = rReg[0] << 8 | rReg[1]; return value/128.0f; } // Reset // See p.19 in data sheet Rev.A of ADT7410 void ADT7410::Reset() { WriteSingleByte(RESET_); wait_ms(250); } }