STM32F303K8T6でLSM303D動かしてみた
LSM303D.h@0:5b930e09bd6e, 2016-02-03 (annotated)
- Committer:
- bclaus
- Date:
- Wed Feb 03 20:57:01 2016 +0000
- Revision:
- 0:5b930e09bd6e
- Child:
- 3:50ff4ad71082
initial;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bclaus | 0:5b930e09bd6e | 1 | |
bclaus | 0:5b930e09bd6e | 2 | #ifndef __LSM303D_H |
bclaus | 0:5b930e09bd6e | 3 | #define __LSM303D_H |
bclaus | 0:5b930e09bd6e | 4 | #include "mbed.h" |
bclaus | 0:5b930e09bd6e | 5 | |
bclaus | 0:5b930e09bd6e | 6 | |
bclaus | 0:5b930e09bd6e | 7 | |
bclaus | 0:5b930e09bd6e | 8 | class LSM303D { |
bclaus | 0:5b930e09bd6e | 9 | public: |
bclaus | 0:5b930e09bd6e | 10 | /** Create a new interface for an LSM303D |
bclaus | 0:5b930e09bd6e | 11 | * |
bclaus | 0:5b930e09bd6e | 12 | * @param sda is the pin for the I2C SDA line |
bclaus | 0:5b930e09bd6e | 13 | * @param scl is the pin for the I2C SCL line |
bclaus | 0:5b930e09bd6e | 14 | */ |
bclaus | 0:5b930e09bd6e | 15 | LSM303D(PinName sda, PinName scl); |
bclaus | 0:5b930e09bd6e | 16 | |
bclaus | 0:5b930e09bd6e | 17 | |
bclaus | 0:5b930e09bd6e | 18 | /** read the raw accelerometer and compass values |
bclaus | 0:5b930e09bd6e | 19 | * |
bclaus | 0:5b930e09bd6e | 20 | * @param ax,ay,az is the accelerometer 3d vector, written by the function |
bclaus | 0:5b930e09bd6e | 21 | * @param mx,my,mz is the magnetometer 3d vector, written by the function |
bclaus | 0:5b930e09bd6e | 22 | */ |
bclaus | 0:5b930e09bd6e | 23 | bool read(float *ax, float *ay, float *az, float *mx, float *my, float *mz); |
bclaus | 0:5b930e09bd6e | 24 | |
bclaus | 0:5b930e09bd6e | 25 | |
bclaus | 0:5b930e09bd6e | 26 | private: |
bclaus | 0:5b930e09bd6e | 27 | I2C _LSM303; |
bclaus | 0:5b930e09bd6e | 28 | |
bclaus | 0:5b930e09bd6e | 29 | |
bclaus | 0:5b930e09bd6e | 30 | float ax, ay, az; |
bclaus | 0:5b930e09bd6e | 31 | float mx, my, mz; |
bclaus | 0:5b930e09bd6e | 32 | |
bclaus | 0:5b930e09bd6e | 33 | bool write_reg(int addr_i2c,int addr_reg, char v); |
bclaus | 0:5b930e09bd6e | 34 | bool read_reg(int addr_i2c,int addr_reg, char *v); |
bclaus | 0:5b930e09bd6e | 35 | bool recv(char sad, char sub, char *buf, int length); |
bclaus | 0:5b930e09bd6e | 36 | }; |
bclaus | 0:5b930e09bd6e | 37 | |
bclaus | 0:5b930e09bd6e | 38 | #endif |