DE_4.2.2 Project 1b 150208 *has errors I dont know how to fix
Fork of MMA8451Q8 by
Diff: MMA8451Q8.cpp
- Revision:
- 8:993bb9e96a4b
- Parent:
- 7:ed7e11d269f8
- Child:
- 9:a9cba88ad7f6
--- a/MMA8451Q8.cpp Wed Jan 28 21:39:04 2015 +0000 +++ b/MMA8451Q8.cpp Tue Feb 03 17:59:00 2015 +0000 @@ -26,6 +26,9 @@ #define REG_OUT_Y_MSB 0x03 #define REG_OUT_Z_MSB 0x05 #define XYZ_DATA_CFG 0x0E +// adding tap config register adderesses +#define REG_PULSE_SRC 0x22 +#define REG_PULSE_CFG 0x21 #define UINT14_MAX 16383 @@ -64,7 +67,21 @@ data[DATA_INDEX] = 0x01; writeRegs(data, 2); // make active } - +// add Puse configuratioin register access +// Also add function prototype to .h file +void MMA8451Q::setPulseConfiguration(uint8_t latch,uint8_t axisSet) { + uint8_t configBits; + uint8_t data[NUM_DATA] = {REG_CTRL_REG_1, 0x00}; // put in standby mode +// set up configuration bits. + configBits = latch | axisSet; + writeRegs(data, NUM_DATA); // put in standby + data[ADDRESS_INDEX ] = REG_PULSE_CFG; + data[DATA_INDEX] = configBits; + writeRegs(data, NUM_DATA); + data[ADDRESS_INDEX ] = REG_CTRL_REG_1; // put back in active mode + data[DATA_INDEX] = 0x01; + writeRegs(data, 2); // make active +} float MMA8451Q::getAccX() { return (float(getAccAxis(REG_OUT_X_MSB))/gScaling[gChosen]); }