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.
Dependents: KL46z_single_tap_empty_DE_4_1_PROJECT1B_wInterrupts KL46z_single_tap_empty_DE_4_1_PROJECT1D KL46z_single_tap_generic RAHUL_KL46z_single_tap_generic_copy ... more
Fork of MMA8451Q8a by
Diff: MMA8451Q8.cpp
- Revision:
- 11:965d9a564f71
- Parent:
- 10:c875155f829d
diff -r c875155f829d -r 965d9a564f71 MMA8451Q8.cpp
--- a/MMA8451Q8.cpp Wed Feb 10 15:30:23 2016 +0000
+++ b/MMA8451Q8.cpp Mon Feb 15 19:14:41 2016 +0000
@@ -56,17 +56,35 @@
readRegs(REG_WHO_AM_I, &who_am_i, 1);
return who_am_i;
}
+void MMA8451Q::setStandbyMode(){
+#define ACTIVEMASK 0x01
+ uint8_t registerData[1];
+ uint8_t data[NUM_DATA] = {REG_CTRL_REG_1, 0x00};
+
+ readRegs(REG_CTRL_REG_1, registerData, 1);
+ data[1] = registerData[0] & ~ACTIVEMASK;
+ writeRegs(data, NUM_DATA); // put in standby
+}
+void MMA8451Q::setActiveMode(){
+#define ACTIVEMASK 0x01
+ uint8_t registerData[1];
+ uint8_t data[NUM_DATA] = {REG_CTRL_REG_1, 0x00};
+
+ readRegs(REG_CTRL_REG_1, registerData, 1);
+ data[1] = registerData[0] | ACTIVEMASK;
+ writeRegs(data, NUM_DATA); // put in standby
+}
+
void MMA8451Q::setGLimit(int gSelect) {
uint8_t data[NUM_DATA] = {REG_CTRL_REG_1, 0x00};
gChosen = gSelect;
- writeRegs(data, NUM_DATA); // put in standby
+ setStandbyMode();
data[ADDRESS_INDEX ] = XYZ_DATA_CFG;
data[DATA_INDEX] = gChosen;
writeRegs(data, 2);// change g limit
- data[ADDRESS_INDEX ] = REG_CTRL_REG_1;
- data[DATA_INDEX] = 0x01;
- writeRegs(data, 2); // make active
+ setActiveMode(); // make active
}
+
// add Pusle configuration register access
// Also add function prototype to .h file
void MMA8451Q::setPulseConfiguration(uint8_t latch,uint8_t axisSet) {
