1
Diff: MMA8452.h
- Revision:
- 10:ca9ba7ad4e94
- Parent:
- 9:dfb0f6a7a455
- Child:
- 11:dfd1e0afcb7b
diff -r dfb0f6a7a455 -r ca9ba7ad4e94 MMA8452.h --- a/MMA8452.h Thu Oct 17 10:21:37 2013 +0000 +++ b/MMA8452.h Tue Mar 04 11:14:34 2014 +0000 @@ -1,4 +1,4 @@ -// Author: Nicholas Herriot +// Author: Nicholas Herriot, Ashley Mills /* Copyright (c) 2013 Vodafone, MIT License * * Permission is hereby granted, free of charge, to any person obtaining a copy of this software @@ -116,10 +116,21 @@ #define PDET_STATUS 0x09 // Tap/Pulse Detection Register (Read/Write) #define PD_STATUS 0xA // Tap/Pulse Debounce Count Register (Read/Write) -class Accelerometer_MMA8452 +class MMA8452 { public: + + enum OperationalMode { + MODE_STANDBY, + MODE_ACTIVE_2G, + MODE_ACTIVE_4G, + MODE_ACTIVE_8G + }; + enum BitDepth { + BIT_DEPTH_8, + BIT_DEPTH_12 + }; /** Create an accelerometer object connected to the specified I2C object * @@ -127,13 +138,13 @@ * @param scl I2C8452 clock port * */ - Accelerometer_MMA8452(PinName sda, PinName scl, int frequency); + MMA8452(PinName sda, PinName scl, int frequency); //Accelerometer_MMA8452(PinName sda, PinName scl); /** Destroys an MMA8452 object * */ - ~Accelerometer_MMA8452(); + ~MMA8452(); /** Get system mode of the MMA8452 (not required) * returns 0 for success in reading the system mode of the chip @@ -142,8 +153,7 @@ * * This method is used to find out the system mode of the chip ACTIVE = 0x00 or STANDBY = 0x01 */ - int get_SystemMode(int *dst); - + int getSystemMode(int *dst); /** Get status of the MMA8452 (not required) * returns 0 for success in reading the status of the chip @@ -154,7 +164,7 @@ * x,y and z values have been overwritten before they have been read since a change happened. * */ - int get_Status(int *dst); + int getStatus(int *dst); /** Activate the MMA8452 (required) @@ -198,7 +208,7 @@ * return 0 for success or * return 1 for failure. */ - int get_DeviceID(int *dst); + int getDeviceID(int *dst); int read_y(); @@ -208,19 +218,19 @@ * * @returns The value of x acceleration */ - int read_x_raw(char *xaxis); + int readRawX(char *xaxis); //int read_x(int& xaxisLSB); /** Read the y register of the MMA8452 * * @returns The value of y acceleration */ - int read_y_raw(char *yaxis); + int readRawY(char *yaxis); /** Read the z register of the MMA8452 * * @returns The value of z acceleration */ - int read_z_raw(char * zaxis); + int readRawZ(char * zaxis); /** Read the x,y and z registers of the MMA8452 * @@ -229,25 +239,27 @@ * returns 0 for success, and 1 for failure * */ - int read_xyz(char *x, char *y, char *z); + int readRawXYZ(char *x, char *y, char *z); /** Read from specified MMA8452 register * * @param addr The internal registeraddress of the MMA8452 * @returns The value of the register */ - int read_reg(char addr, int *dst); + int readRegister(char addr, int *dst); /** Write to specified MMA8452 register * * @param addr The internal registeraddress of the MMA8452 * @param data New value of the register */ - void write_reg(char addr, char data); + void writeRegister(char addr, char data); + int setOperationalMode(OperationalMode m); + int setBitDepth(BitDepth b); private: - int read_raw(char src, char *dst, int len); + int readRaw(char src, char *dst, int len); I2C m_i2c;