(2014.8.25 作成)
加速度、磁気センサーであるLSM303DLHCを使用するためのクラスリファレンスです。ただ使うだけであればDiscovery基板の公式サンプルコード(F3Discoveryならstm32f3_discovery_lsm303dlhc.c/.h)の方が高機能かつ確実です。違いといえば
磁気センサー部の使用方法が不明なので、磁気データと温度測定結果はかなり怪しいです。今後使い方が判明した時点で修正したいと思います。ご存知の方が居られればぜひ教えてください。
コンストラクタ |
||
プロトタイプ |
LSM303DLHC(const DKS::I2C::II2C *I2C); |
|
戻り値 |
なし |
|
引数 |
I2C |
I2C_Baseクラスへのポインタ |
備考 |
F3 Discovery基板の場合は既に実装されているのでI2C1を使用してください。 |
デバイスが応答するまで待つ |
||
プロトタイプ |
void WaitTillDeviceReady(void)const; |
|
戻り値 |
なし |
|
引数 |
なし |
|
備考 |
応答がなければ無限ループになります。 |
加速度センサーの値を返す |
||
プロトタイプ |
void ReadAccData(float* Data)const; |
|
戻り値 |
なし |
|
引数 |
Data |
測定値を格納するポインタ XYZ順3個のfloat |
備考 |
|
磁気センサーの値を返す |
||
プロトタイプ |
void ReadMagData(float* Data)const; |
|
戻り値 |
なし |
|
引数 |
Data |
測定値を格納するポインタ XYZ順3個のfloat |
備考 |
確認手段がないのでわかりませんが、正しい値を返しているように思えません。 |
温度センサーの値を返す |
||
プロトタイプ |
void ReadTemperature(float &Temperature)const; |
|
戻り値 |
なし |
|
引数 |
Temperature |
温度データ |
備考 |
明らかに正しくない値を返します。 仕様書では8 LSB/degと書いてあるのですが、正直よくわからない表現です。 |