Xtrinsic MMA8451Q 3-Axis, 14-bit/8-bit Digital Accelerometer

Dependents:   test_MMA8451Q afero_node_suntory_171018 testSensor Vytah ... more

Committer:
Rhyme
Date:
Fri Dec 25 07:21:49 2015 +0000
Revision:
0:5a09d01c6a2c
First commit, only the minimum functions have been implemented.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Rhyme 0:5a09d01c6a2c 1 /**
Rhyme 0:5a09d01c6a2c 2 * MMA8451Q 3-Axis, 14-bit/8-bit Digital Accelerometer
Rhyme 0:5a09d01c6a2c 3 */
Rhyme 0:5a09d01c6a2c 4 #ifndef _MMA8451Q_H_
Rhyme 0:5a09d01c6a2c 5 #define _MMA8451Q_H_
Rhyme 0:5a09d01c6a2c 6
Rhyme 0:5a09d01c6a2c 7 #include "mbed.h"
Rhyme 0:5a09d01c6a2c 8
Rhyme 0:5a09d01c6a2c 9 class MMA8451Q {
Rhyme 0:5a09d01c6a2c 10 public:
Rhyme 0:5a09d01c6a2c 11 /**
Rhyme 0:5a09d01c6a2c 12 * MMA8451Q constructor
Rhyme 0:5a09d01c6a2c 13 *
Rhyme 0:5a09d01c6a2c 14 * @param sda SDA pin
Rhyme 0:5a09d01c6a2c 15 * @param sdl SCL pin
Rhyme 0:5a09d01c6a2c 16 * @param addr 7bit addr of the I2C peripheral
Rhyme 0:5a09d01c6a2c 17 */
Rhyme 0:5a09d01c6a2c 18 MMA8451Q(PinName sda, PinName scl, int addr);
Rhyme 0:5a09d01c6a2c 19
Rhyme 0:5a09d01c6a2c 20 /**
Rhyme 0:5a09d01c6a2c 21 * MMA8451Q destructor
Rhyme 0:5a09d01c6a2c 22 */
Rhyme 0:5a09d01c6a2c 23 ~MMA8451Q();
Rhyme 0:5a09d01c6a2c 24
Rhyme 0:5a09d01c6a2c 25 int16_t getRawData(uint8_t addr) ;
Rhyme 0:5a09d01c6a2c 26 int16_t getRawX(void) ;
Rhyme 0:5a09d01c6a2c 27 int16_t getRawY(void) ;
Rhyme 0:5a09d01c6a2c 28 int16_t getRawZ(void) ;
Rhyme 0:5a09d01c6a2c 29
Rhyme 0:5a09d01c6a2c 30 float getAccX(void) ;
Rhyme 0:5a09d01c6a2c 31 float getAccY(void) ;
Rhyme 0:5a09d01c6a2c 32 float getAccZ(void) ;
Rhyme 0:5a09d01c6a2c 33
Rhyme 0:5a09d01c6a2c 34 private:
Rhyme 0:5a09d01c6a2c 35 I2C m_i2c;
Rhyme 0:5a09d01c6a2c 36 int m_addr;
Rhyme 0:5a09d01c6a2c 37 void readRegs(int addr, uint8_t * data, int len);
Rhyme 0:5a09d01c6a2c 38 void writeRegs(uint8_t * data, int len);
Rhyme 0:5a09d01c6a2c 39 } ;
Rhyme 0:5a09d01c6a2c 40
Rhyme 0:5a09d01c6a2c 41 #endif /* _MMA8451Q_H_ */