Hello world code for PCT2075 and LM75B component class library. The PCT2075 is a temperature-to-digital converter featuring +/-1 degree-C accuracy over -25 degree-C to +100 degree-C range. It uses an on-chip band gap temperature sensor and Sigma-Delta A-to-D conversion technique with an overtemperature detection output that is a drop-in replacement for other LM75 series thermal sensors.
PCT2075/PCT2075.h
- Committer:
- okano
- Date:
- 2015-02-27
- Revision:
- 1:5398b0799e20
- Parent:
- 0:3c3d4c5ac8e9
File content as of revision 1:5398b0799e20:
/** PCT2075 and LM75B component class library
* PCT2075 と LM75B 用のコンポーネント・クラス・ライブラリです
*
* This is new NXP PCT2075 and classic LM75B component class library
* This works for both PCT2075 and LM75B
*
* @author Tedd OKANO
* @version 1.0
* @date 28-Feb-2015
*
* For the details of PCT2075 and LM75B..
* PCT2075 and LM75Bの詳細は..
* http://i2c_sda.nxp.com/documents/data_sheet/PCT2075.pdf
* http://i2c_sda.nxp.com/documents/data_sheet/LM75B.pdf
*/
#ifndef MBED_PCT2075_H
#define MBED_PCT2075_H
#include "mbed.h"
#include "I2CTempSensor.h"
/** PCT2075 class library クラスライブラリ
*
* クラスライブラリは非常にシンプルなインターフェースを提供します
*
* コード例:
* @code
* #include "mbed.h"
* #include "I2CTempSensor.h"
*
* I2CTempSensor temp0( p28, p27 );
*
* I2C i2c( p28, p27 );
* I2CTempSensor temp1( i2c );
*
*
* int main()
* {
* float t0;
* float t1;
*
* i2c.frequency( 400 * 1000 );
*
* while(1) {
* t0 = temp0;
* t1 = temp1;
* printf( "temp = %7.3f, %7.3f\r\n", t0, t1 );
* wait( 1 );
* }
* }
* @endcode
*/
class PCT2075 : I2CTempSensor
{
public:
/** I2Cピンとスレーブアドレスを指定し,インスタンスを作成します
*
* @param i2c_sda I2C-bus i2c_sdaピン
* @param i2c_scl I2C-bus i2c_sclピン
* @param i2c_address (オプション) I2C-bus スレーブアドレス (デフォルト: 0x90)
*/
PCT2075( PinName i2c_sda, PinName i2c_scl, char i2c_address = DEFAULT_I2C_SLAVE_ADDRESS );
/** I2Cオブジェクトとスレーブアドレスを指定し,インスタンスを作成します
*
* @param i2c_obj I2C オブジェクト (インスタンス)
* @param i2c_address (オプション) I2C-bus スレーブアドレス (デフォルト: 0x90)
*/
PCT2075( I2C &i2c_obj, char i2c_address = DEFAULT_I2C_SLAVE_ADDRESS );
/** デストラクタ
*/
virtual ~PCT2075();
/** 温度の読み出し
*
* @return 摂氏温度を返します(float型)
*/
virtual float read( void );
/** 温度の読み出し
*
* @return オブジェクトが読みだした値を返すようにしています
*/
virtual operator float( void );
private:
/** デフォルト・スレーブアドレス */
enum {
DEFAULT_I2C_SLAVE_ADDRESS = 0x90
};
};
#endif // MBED_PCT2075_H