YEah
Dependents: I2C_Temp_sensor IR_Helicopter_Controller
Fork of AccelSensor by
AccelSensor.h@0:7dd118f48b1b, 2012-12-06 (annotated)
- Committer:
- dagronlund
- Date:
- Thu Dec 06 17:50:14 2012 +0000
- Revision:
- 0:7dd118f48b1b
First revision of mBed library for the Triple Axis Accelerometer Breakout - MMA8452Q from Sparkfun.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dagronlund | 0:7dd118f48b1b | 1 | #ifndef MBED_NOKIALCD_H |
dagronlund | 0:7dd118f48b1b | 2 | #define MBED_NOKIALCD_H |
dagronlund | 0:7dd118f48b1b | 3 | |
dagronlund | 0:7dd118f48b1b | 4 | #include "mbed.h" |
dagronlund | 0:7dd118f48b1b | 5 | |
dagronlund | 0:7dd118f48b1b | 6 | //http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/Accelerometers/MMA8452Q.pdf |
dagronlund | 0:7dd118f48b1b | 7 | //http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/Accelerometers/MMA8452Q-Breakout-v11-fixed.pdf |
dagronlund | 0:7dd118f48b1b | 8 | //http://cache.freescale.com/files/sensors/doc/app_note/AN4069.pdf |
dagronlund | 0:7dd118f48b1b | 9 | |
dagronlund | 0:7dd118f48b1b | 10 | // The SparkFun breakout board defaults to 1, set to 0 if SA0 jumper on the bottom of the board is set |
dagronlund | 0:7dd118f48b1b | 11 | #define ADDRESS 0x1D // 0x1D if SA0 is high, 0x1C if low |
dagronlund | 0:7dd118f48b1b | 12 | //Define a few of the registers that we will be accessing on the MMA8452 |
dagronlund | 0:7dd118f48b1b | 13 | #define OUT_X_MSB 0x01 //1 |
dagronlund | 0:7dd118f48b1b | 14 | #define XYZ_DATA_CFG 0x0E //14 |
dagronlund | 0:7dd118f48b1b | 15 | #define WHO_AM_I 0x0D //13 |
dagronlund | 0:7dd118f48b1b | 16 | #define CTRL_REG1 0x2A //42 |
dagronlund | 0:7dd118f48b1b | 17 | #define GSCALE 2 // Sets full-scale range to +/-2, 4, or 8g. Used to calc real g values. |
dagronlund | 0:7dd118f48b1b | 18 | |
dagronlund | 0:7dd118f48b1b | 19 | class AccelSensor { |
dagronlund | 0:7dd118f48b1b | 20 | public: |
dagronlund | 0:7dd118f48b1b | 21 | AccelSensor(PinName sda, PinName scl); |
dagronlund | 0:7dd118f48b1b | 22 | void active(); |
dagronlund | 0:7dd118f48b1b | 23 | void standby(); |
dagronlund | 0:7dd118f48b1b | 24 | void init(); |
dagronlund | 0:7dd118f48b1b | 25 | void readData(int *destination); |
dagronlund | 0:7dd118f48b1b | 26 | private: |
dagronlund | 0:7dd118f48b1b | 27 | void readRegisters(char reg, int range, char* dest); |
dagronlund | 0:7dd118f48b1b | 28 | char readRegister(char reg); |
dagronlund | 0:7dd118f48b1b | 29 | void writeRegister(char reg, char data); |
dagronlund | 0:7dd118f48b1b | 30 | I2C _i2c; |
dagronlund | 0:7dd118f48b1b | 31 | }; |
dagronlund | 0:7dd118f48b1b | 32 | |
dagronlund | 0:7dd118f48b1b | 33 | #endif |