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.
Diff: PCT2075/PCT2075.h
- Revision:
- 0:3c3d4c5ac8e9
- Child:
- 1:5398b0799e20
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/PCT2075/PCT2075.h Fri Feb 27 10:47:24 2015 +0000
@@ -0,0 +1,94 @@
+/** 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
+ */
+
+#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型)
+ */
+ float read( void );
+
+ /** 温度の読み出し
+ *
+ * @return オブジェクトが読みだした値を返すようにしています
+ */
+ operator float( void );
+
+private:
+ /** デフォルト・スレーブアドレス */
+ enum {
+ DEFAULT_I2C_SLAVE_ADDRESS = 0x90
+ };
+
+ I2C *i2c_p;
+ I2C &i2c;
+ char adr;
+};