Library for NXP's MMA8653
Revision 1:e8b14e0a4584, committed 2018-08-31
- Comitter:
- takuhachisu
- Date:
- Fri Aug 31 08:21:23 2018 +0000
- Parent:
- 0:c101a5ec5ef2
- Commit message:
- Library for NXP's MMA8653;
Changed in this revision
MMA8653.cpp | Show annotated file Show diff for this revision Revisions of this file |
MMA8653.h | Show annotated file Show diff for this revision Revisions of this file |
diff -r c101a5ec5ef2 -r e8b14e0a4584 MMA8653.cpp --- a/MMA8653.cpp Thu Aug 30 04:52:39 2018 +0000 +++ b/MMA8653.cpp Fri Aug 31 08:21:23 2018 +0000 @@ -1,6 +1,6 @@ #include "MMA8653.h" -MMA8653::MMA8653(I2C &i2c, FS fs, F_READ fr) +MMA8653::MMA8653(I2C &i2c, FS fs, DR dr, F_READ fr) { _i2c = &i2c; char value[1]; @@ -16,7 +16,7 @@ // set the fast-read mode and set the device active fastReadFlag = (fr != Normal); - value[0] = 0x01 | (fr << 1); + value[0] = 0x01 | (fr << 1) | (dr << 3); byteWrite(CTRL_REG1, value, 1); }
diff -r c101a5ec5ef2 -r e8b14e0a4584 MMA8653.h --- a/MMA8653.h Thu Aug 30 04:52:39 2018 +0000 +++ b/MMA8653.h Fri Aug 31 08:21:23 2018 +0000 @@ -59,13 +59,25 @@ PM4G, PM8G }; - + + // Data rate selection in register 0x02A[5-3] + enum DR { + DR800HZ = 0, + DR400HZ, + DR200HZ, + DR100HZ, + DR50HZ, + DR12_5HZ, + DR6_25HZ, + DR1_56HZ + }; + // Fast-read mode in register 0x02A[1] enum F_READ { Normal = 0, FastRead }; - + /** * Create a MMA8653 object * @@ -73,8 +85,8 @@ * @param dr dynamic range setting * @param fr fast read setting */ - MMA8653(I2C &i2c, FS fs = PM2G, F_READ fr = Normal); - + MMA8653(I2C &i2c, FS fs = PM2G, DR dr= DR800HZ, F_READ fr = Normal); + /** * Read 3-axis acceleration in floating point values (unit: G) * @@ -88,7 +100,7 @@ * @param *val array where acceleration data will be stored */ void ReadXYZ_s16(short *val); - + /** * Read 3-axis acceleration in signed 8-bit values (fast read should be on) *