Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
PCT2075/base_class/I2CTempSensor.h@0:3c3d4c5ac8e9, 2015-02-27 (annotated)
- Committer:
- okano
- Date:
- Fri Feb 27 10:47:24 2015 +0000
- Revision:
- 0:3c3d4c5ac8e9
- Child:
- 1:5398b0799e20
cannot built
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okano | 0:3c3d4c5ac8e9 | 1 | |
okano | 0:3c3d4c5ac8e9 | 2 | |
okano | 0:3c3d4c5ac8e9 | 3 | /** PCT2075 and LM75B component class library |
okano | 0:3c3d4c5ac8e9 | 4 | * PCT2075 と LM75B 用のコンポーネント・クラス・ライブラリです |
okano | 0:3c3d4c5ac8e9 | 5 | * |
okano | 0:3c3d4c5ac8e9 | 6 | * This is new NXP PCT2075 and classic LM75B component class library |
okano | 0:3c3d4c5ac8e9 | 7 | * This works for both PCT2075 and LM75B |
okano | 0:3c3d4c5ac8e9 | 8 | * |
okano | 0:3c3d4c5ac8e9 | 9 | * @author Tedd OKANO |
okano | 0:3c3d4c5ac8e9 | 10 | * @version 1.0 |
okano | 0:3c3d4c5ac8e9 | 11 | * @date 28-Feb-2015 |
okano | 0:3c3d4c5ac8e9 | 12 | * |
okano | 0:3c3d4c5ac8e9 | 13 | * For the details of PCT2075 and LM75B.. |
okano | 0:3c3d4c5ac8e9 | 14 | * PCT2075 and LM75Bの詳細は.. |
okano | 0:3c3d4c5ac8e9 | 15 | * http://www.nxp.com/documents/data_sheet/PCT2075.pdf |
okano | 0:3c3d4c5ac8e9 | 16 | * http://www.nxp.com/documents/data_sheet/LM75B.pdf |
okano | 0:3c3d4c5ac8e9 | 17 | */ |
okano | 0:3c3d4c5ac8e9 | 18 | |
okano | 0:3c3d4c5ac8e9 | 19 | #include "mbed.h" |
okano | 0:3c3d4c5ac8e9 | 20 | |
okano | 0:3c3d4c5ac8e9 | 21 | /** I2CTempSensor class library クラスライブラリ |
okano | 0:3c3d4c5ac8e9 | 22 | * |
okano | 0:3c3d4c5ac8e9 | 23 | * This class is an abstract class. So no instance can be made. |
okano | 0:3c3d4c5ac8e9 | 24 | * このクラスは抽象クラスなのでインスタンスを作成することはできません |
okano | 0:3c3d4c5ac8e9 | 25 | * クラスライブラリは非常にシンプルなインターフェースを提供します |
okano | 0:3c3d4c5ac8e9 | 26 | */ |
okano | 0:3c3d4c5ac8e9 | 27 | |
okano | 0:3c3d4c5ac8e9 | 28 | class I2CTempSensor |
okano | 0:3c3d4c5ac8e9 | 29 | { |
okano | 0:3c3d4c5ac8e9 | 30 | protected: |
okano | 0:3c3d4c5ac8e9 | 31 | |
okano | 0:3c3d4c5ac8e9 | 32 | |
okano | 0:3c3d4c5ac8e9 | 33 | /** LM75Bのレジスタ名とアドレス */ |
okano | 0:3c3d4c5ac8e9 | 34 | enum command_reg { |
okano | 0:3c3d4c5ac8e9 | 35 | LM75B_Temp = 0x00, |
okano | 0:3c3d4c5ac8e9 | 36 | LM75B_Conf, |
okano | 0:3c3d4c5ac8e9 | 37 | LM75B_Thyst, |
okano | 0:3c3d4c5ac8e9 | 38 | LM75B_Tos |
okano | 0:3c3d4c5ac8e9 | 39 | }; |
okano | 0:3c3d4c5ac8e9 | 40 | |
okano | 0:3c3d4c5ac8e9 | 41 | /** I2Cピンとスレーブアドレスを指定し,インスタンスを作成します |
okano | 0:3c3d4c5ac8e9 | 42 | * |
okano | 0:3c3d4c5ac8e9 | 43 | * @param i2c_sda I2C-bus i2c_sdaピン |
okano | 0:3c3d4c5ac8e9 | 44 | * @param i2c_scl I2C-bus i2c_sclピン |
okano | 0:3c3d4c5ac8e9 | 45 | * @param address (オプション) I2C-bus スレーブアドレス (デフォルト: 0x90) |
okano | 0:3c3d4c5ac8e9 | 46 | */ |
okano | 0:3c3d4c5ac8e9 | 47 | I2CTempSensor( PinName i2c_sda, PinName i2c_scl, char address ); |
okano | 0:3c3d4c5ac8e9 | 48 | |
okano | 0:3c3d4c5ac8e9 | 49 | /** I2Cオブジェクトとスレーブアドレスを指定し,インスタンスを作成します |
okano | 0:3c3d4c5ac8e9 | 50 | * |
okano | 0:3c3d4c5ac8e9 | 51 | * @param i2c_obj I2C オブジェクト (インスタンス) |
okano | 0:3c3d4c5ac8e9 | 52 | * @param address (オプション) I2C-bus スレーブアドレス (デフォルト: 0x90) |
okano | 0:3c3d4c5ac8e9 | 53 | */ |
okano | 0:3c3d4c5ac8e9 | 54 | I2CTempSensor( I2C &i2c_obj, char address ); |
okano | 0:3c3d4c5ac8e9 | 55 | |
okano | 0:3c3d4c5ac8e9 | 56 | /** デストラクタ |
okano | 0:3c3d4c5ac8e9 | 57 | */ |
okano | 0:3c3d4c5ac8e9 | 58 | ~I2CTempSensor(); |
okano | 0:3c3d4c5ac8e9 | 59 | |
okano | 0:3c3d4c5ac8e9 | 60 | /** 初期化 |
okano | 0:3c3d4c5ac8e9 | 61 | */ |
okano | 0:3c3d4c5ac8e9 | 62 | void init( void ); |
okano | 0:3c3d4c5ac8e9 | 63 | |
okano | 0:3c3d4c5ac8e9 | 64 | /** 温度の読み出し |
okano | 0:3c3d4c5ac8e9 | 65 | * |
okano | 0:3c3d4c5ac8e9 | 66 | * @return 摂氏温度を返します(float型) |
okano | 0:3c3d4c5ac8e9 | 67 | */ |
okano | 0:3c3d4c5ac8e9 | 68 | short read( void ); |
okano | 0:3c3d4c5ac8e9 | 69 | |
okano | 0:3c3d4c5ac8e9 | 70 | private: |
okano | 0:3c3d4c5ac8e9 | 71 | I2C *i2c_p; |
okano | 0:3c3d4c5ac8e9 | 72 | I2C &i2c; |
okano | 0:3c3d4c5ac8e9 | 73 | char adr; |
okano | 0:3c3d4c5ac8e9 | 74 | }; |