I2C 接続の温度センサ ADT7410 用のライブラリ. Library for temperature sensor ADT7410 connected using I2C interface.
Dependents: Mbed2_ConnectTestAll Demo_ADT7410
ADT7410.hpp
- Committer:
- MikamiUitOpen
- Date:
- 2017-10-28
- Revision:
- 5:bbcd91ba7c6b
- Parent:
- 4:3769397d3803
- Child:
- 6:438204ab1793
File content as of revision 5:bbcd91ba7c6b:
//-------------------------------------------------------------- // Class for ADT7410 (Header) // Default: 13-bit resolution // // このプログラムを作った際の mbed のリビジョン:Rev.154 // 2017/10/28, Copyright (c) 2017 MIKAMI, Naoki //-------------------------------------------------------------- #ifndef ADT7410_HPP #define ADT7410_HPP #include "mbed.h" namespace Mikami { class ADT7410 { public: // Constructor #if defined(STM32F4) || defined(STM32L0) || defined(__STM32F3xx_H) ADT7410(PinName sda = D14, // SDA PinName scl = D15, // SCL uint8_t addr = 0x90); // I2C bus address // Default constructor is defined for only Nucleo #else ADT7410(PinName sda, // SDA PinName scl, // SCL uint8_t addr = 0x90); // I2C bus address #endif // Set configuration register // See Figure 15 in data sheet of ADT7410 void SetConfig(char val) { i2c_.write(ADDR_, (char[]){CONFIG_, val}, 2); } // Get value in configuration register uint8_t GetConfig(); // Read temperature float Read(); // Operator shorthand for Read() operator float() { return Read(); } // Reset void Reset(); protected: // Register addresses enum Reg { TEMPER_ = 0x00, // Temperature value MSByte CONFIG_ = 0x03, // Configuration RESET_ = 0x2F}; // Software reset // Write single byte // "STOP" を送らずにふたたび "START" を送る,つまりリスタート・コンディションに // する場合は,"repeated" を "true" にする void WriteSingleByte(Reg reg, bool repeated = false) { i2c_.write(ADDR_, (char *)reg, 1, repeated); } private: const uint8_t ADDR_; // left-justified 7-bit slave address of ADT7410 I2C i2c_; // Object of I2C }; } #endif // ADT7410_HPP