DE_4_1 Project 1b 150203

Fork of MMA8451Q8b by Stanley Cohen

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]);
 }