edits to standard MMA8451Q lib
Fork of MMA8451Q by
Revision 6:aca483d0fa8d, committed 2015-11-19
- Comitter:
- angusg
- Date:
- Thu Nov 19 21:39:51 2015 +0000
- Parent:
- 5:4e7dd6eb7829
- Commit message:
- Template ready for students
Changed in this revision
MMA8451Q.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/MMA8451Q.cpp Thu Nov 19 02:10:35 2015 +0000 +++ b/MMA8451Q.cpp Thu Nov 19 21:39:51 2015 +0000 @@ -20,16 +20,63 @@ #define REG_WHO_AM_I 0x0D //13 #define REG_CTRL_REG_1 0x2A +#define REG_CTRL_REG_2 0x2B #define REG_OUT_X_MSB 0x01 #define REG_OUT_Y_MSB 0x03 #define REG_OUT_Z_MSB 0x05 +#define XYZ_DATA_CFG 0x0E +#define HP_FILTER_CUTOFF 0x0F +#define PL_CFG 0x11 //configure +#define TRANSIENT_COUNT 0x20 + #define UINT14_MAX 16383 -MMA8451Q::MMA8451Q(PinName sda, PinName scl, int addr) : m_i2c(sda, scl), m_addr(addr) { +//#define LNOISE + +MMA8451Q::MMA8451Q(PinName sda, PinName scl, int addr) : m_i2c(sda, scl), m_addr(addr) { + +#ifdef LNOISE + + // LNOISE + uint8_t dataExt[3]; + uint8_t data[2] = {REG_CTRL_REG_1, 0x0c}; // 0x1100 = DR0 & LNOISE (2.5ms b/w samples) + writeRegs(data, 2); + + /* + data[0] = REG_CTRL_REG_2; + data[1] = 0x02; // Set MODS[1:0] to 0b10 for High Res mode + writeRegs(data, 3); + */ + // activate the peripheral - uint8_t data[2] = {REG_CTRL_REG_1, 0x01}; - writeRegs(data, 2); + dataExt[0] = HP_FILTER_CUTOFF; + dataExt[1] = 0x00; + dataExt[2] = 0x01; /* Set the Pulse_LPF_EN */ + writeRegs(dataExt, 3); + + // activate the peripheral + data[1] = 0x01; + writeRegs(data, 2); + +#else + + // activate + //uint8_t data[2] = {REG_CTRL_REG_1, 0x01}; + //writeRegs(data, 2); + + // activate + uint8_t data[2] = {REG_CTRL_REG_1, 0x08}; + writeRegs(data, 2); + + // activate the peripheral + data[1] = 0x01; + writeRegs(data, 2); + + + +#endif + } MMA8451Q::~MMA8451Q() { }