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.

Dependencies:   PCT2075 mbed

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;
+};