Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of MMA7660 by
Diff: MMA7660.h
- Revision:
- 1:8997a1b348dd
- Parent:
- 0:7bc29a9ea016
- Child:
- 2:a8e20db7901e
diff -r 7bc29a9ea016 -r 8997a1b348dd MMA7660.h --- a/MMA7660.h Sun Oct 14 08:02:53 2012 +0000 +++ b/MMA7660.h Tue Oct 16 19:42:19 2012 +0000 @@ -10,11 +10,28 @@ #define MMA7660_XOUT_R 0x00 #define MMA7660_YOUT_R 0x01 #define MMA7660_ZOUT_R 0x02 +#define MMA7660_TILT_R 0x03 +#define MMA7660_INT_R 0x06 #define MMA7660_MODE_R 0x07 +#define MMA7660_SR_R 0x08 + class MMA7660 { public: + /** + * The 6 different orientations and unknown + * + * Up & Down = X-axis + * Right & Left = Y-axis + * Back & Front = Z-axis + * + */ + enum Orientation{Up, Down, + Right, Left, + Back, Front, + Unknown}; + /** * Creates a new MMA7660 object * @@ -54,29 +71,75 @@ void readData( int *data); void readData( float *data); - /** Get X-data + /** + * Get X-data * * @param return - X-acceleration in g's */ float getX( void ); - /** Get Y-data + /** + * Get Y-data * * @param return - Y-acceleration in g's */ float getY( void ); - /** Get Z-data + /** + * Get Z-data * * @param return - Z-acceleration in g's */ - float getZ( void ); + float getZ( void ); + + /** + * Sets the active samplerate + * + * The entered samplerate will be rounded to nearest supported samplerate. + * Supported samplerates are: 120 - 64 - 32 - 16 - 8 - 4 - 2 - 1 samples/second. + * + * @param samplerate - the samplerate that will be set + */ + void setSampleRate(int samplerate); + + /** + * Returns which side is pointing down + * + * @param return - Orientation which is closest to down + */ + Orientation getGlobalOrientation( void ); + + /** + * Returns if it is on its front, back, or unknown side + * + * This is read from MMA7760s registers, page 12 of datasheet + * + * @param return - Front, Back or Unknown orientation + */ + Orientation getSide( void ); + + /** + * Returns if it is on it left, right, down or up side + * + * This is read from MMA7760s registers, page 12 of datasheet + * + * @param return - Left, Right, Down, Up or Unknown orientation + */ + Orientation getOrientation ( void ); + + /** + * Returns if since last check there has been a tap + * + * @param return - bool that is true when a tap has been detected + */ + bool isTapped( void ); + private: /** - * Writes data to the device, could be private, but public is handy so you can transmit directly to the MPU. + * Writes data to the device * * @param adress - register address to write to * @param data - data to write @@ -84,7 +147,7 @@ void write( char address, char data); /** - * Read data from the device, could be private, but public is handy so you can transmit directly to the MPU. + * Read data from the device * * @param adress - register address to write to * @return - data from the register specified by RA