YEah

Dependents:   I2C_Temp_sensor IR_Helicopter_Controller

Fork of AccelSensor by David Gronlund

Committer:
Alegrowin
Date:
Tue Jan 15 21:58:11 2013 +0000
Revision:
1:9e97f68b2654
Parent:
0:7dd118f48b1b
Accel is working; Angle is displayed by Serial on 7seg display

Who changed what in which revision?

UserRevisionLine numberNew 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