I2C 接続の温度センサ ADT7410 用のライブラリ. Library for temperature sensor ADT7410 connected using I2C interface.

Dependents:   Mbed2_ConnectTestAll Demo_ADT7410

Committer:
MikamiUitOpen
Date:
Mon Jun 15 05:43:19 2015 +0000
Revision:
0:b6dc7c54b451
Child:
1:ad3046485a3e
1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:b6dc7c54b451 1 //--------------------------------------------------------------
MikamiUitOpen 0:b6dc7c54b451 2 // Class for using ADT7410 (Header)
MikamiUitOpen 0:b6dc7c54b451 3 // 2015/06/10, Copyright (c) 2015 MIKAMI, Naoki
MikamiUitOpen 0:b6dc7c54b451 4 //--------------------------------------------------------------
MikamiUitOpen 0:b6dc7c54b451 5
MikamiUitOpen 0:b6dc7c54b451 6 #ifndef ADT7410_HPP
MikamiUitOpen 0:b6dc7c54b451 7 #define ADT7410_HPP
MikamiUitOpen 0:b6dc7c54b451 8
MikamiUitOpen 0:b6dc7c54b451 9 #include "mbed.h"
MikamiUitOpen 0:b6dc7c54b451 10
MikamiUitOpen 0:b6dc7c54b451 11 namespace Mikami
MikamiUitOpen 0:b6dc7c54b451 12 {
MikamiUitOpen 0:b6dc7c54b451 13 class ADT7410
MikamiUitOpen 0:b6dc7c54b451 14 {
MikamiUitOpen 0:b6dc7c54b451 15 public:
MikamiUitOpen 0:b6dc7c54b451 16 // Constructor
MikamiUitOpen 0:b6dc7c54b451 17 ADT7410(PinName sda = D14, // SDA
MikamiUitOpen 0:b6dc7c54b451 18 PinName scl = D15, // SCL
MikamiUitOpen 0:b6dc7c54b451 19 uint8_t addr = 0x90); // I2C bus address
MikamiUitOpen 0:b6dc7c54b451 20
MikamiUitOpen 0:b6dc7c54b451 21 // Set configuration register
MikamiUitOpen 0:b6dc7c54b451 22 void SetConfig(char val);
MikamiUitOpen 0:b6dc7c54b451 23
MikamiUitOpen 0:b6dc7c54b451 24 // Get value in configuration register
MikamiUitOpen 0:b6dc7c54b451 25 uint8_t GetConfig();
MikamiUitOpen 0:b6dc7c54b451 26
MikamiUitOpen 0:b6dc7c54b451 27 // Get temperature
MikamiUitOpen 0:b6dc7c54b451 28 float Get();
MikamiUitOpen 0:b6dc7c54b451 29
MikamiUitOpen 0:b6dc7c54b451 30 protected:
MikamiUitOpen 0:b6dc7c54b451 31 // Write single byte
MikamiUitOpen 0:b6dc7c54b451 32 // "STOP" を送らずにふたたび "START" を送る,つまりリスタート・コンディションに
MikamiUitOpen 0:b6dc7c54b451 33 // する場合は,"repeated" を "true" にする
MikamiUitOpen 0:b6dc7c54b451 34 void WriteSingleByte(char reg, bool repeated = false)
MikamiUitOpen 0:b6dc7c54b451 35 { i2c_.write(addr_, &reg, 1, repeated); };
MikamiUitOpen 0:b6dc7c54b451 36
MikamiUitOpen 0:b6dc7c54b451 37 private:
MikamiUitOpen 0:b6dc7c54b451 38 // Register addresses
MikamiUitOpen 0:b6dc7c54b451 39 static const uint8_t TEMPER_ = 0x00; // Temperature value MSByte
MikamiUitOpen 0:b6dc7c54b451 40 static const uint8_t CONFIG_ = 0x03; // Configuration
MikamiUitOpen 0:b6dc7c54b451 41 static const uint8_t RESET_ = 0x2F; // Software reset
MikamiUitOpen 0:b6dc7c54b451 42
MikamiUitOpen 0:b6dc7c54b451 43 const uint8_t addr_; // left-justified 7-bit slave address of ADT7410
MikamiUitOpen 0:b6dc7c54b451 44 I2C i2c_; // Object of I2C
MikamiUitOpen 0:b6dc7c54b451 45
MikamiUitOpen 0:b6dc7c54b451 46 // Reset
MikamiUitOpen 0:b6dc7c54b451 47 void Reset();
MikamiUitOpen 0:b6dc7c54b451 48 };
MikamiUitOpen 0:b6dc7c54b451 49 }
MikamiUitOpen 0:b6dc7c54b451 50 #endif // ADT7410_HPP