SB
Fork of MMA8451Q by
Diff: MMA8451Q.cpp
- Revision:
- 6:f834bd401ef2
- Parent:
- 5:2d14600116fc
--- a/MMA8451Q.cpp Sun Mar 10 04:34:03 2013 +0000 +++ b/MMA8451Q.cpp Sat Feb 08 22:20:08 2014 +0000 @@ -39,7 +39,7 @@ #define UINT14_MAX 16383 -MMA8451Q::MMA8451Q(PinName sda, PinName scl, int addr) : m_i2c(sda, scl), m_addr(addr) { +MMA8451Q::MMA8451Q(PinName sda, PinName scl, int addr) : m_i2c(sda, scl), m_addr(addr),dr(MMA8415Q_SAMPLE400) { // activate the peripheral uint8_t data[2] = {REG_CTRL_REG_1, 0x01}; writeRegs(data, 2); @@ -90,7 +90,7 @@ uint8_t CTRL_REG1_Data; // int adds; - uint8_t data[2] = {REG_CTRL_REG_1, 0x08}; + uint8_t data[2] = {REG_CTRL_REG_1, dr}; //Sample Rate //400 Hz, Standby Mode writeRegs(data,2); @@ -153,3 +153,33 @@ void MMA8451Q::writeRegs(uint8_t * data, int len) { m_i2c.write(m_addr, (char *)data, len); } + +void MMA8451Q::Setdr(float dateRate) +{ + if (dateRate==800) + dr=MMA8415Q_SAMPLE800; + else if(dateRate==400) + dr=MMA8415Q_SAMPLE400; + else if(dateRate==200) + dr=MMA8415Q_SAMPLE200; + else if(dateRate==100) + dr=MMA8415Q_SAMPLE100; + else if(dateRate==50) + dr=MMA8415Q_SAMPLE50; + else if(dateRate==12.5) + dr=MMA8415Q_SAMPLE12_5; + else if(dateRate==6.25) + dr=MMA8415Q_SAMPLE6_25; + else if(dateRate==1.56) + dr=MMA8415Q_SAMPLE1_56; +} + +void MMA8451Q::Overwrite_dr(float dateRate) +{ + Setdr(dateRate); +// uint8_t data[2] = {REG_CTRL_REG_1, dr}; //Sample Rate + + //400 Hz, Standby Mode +// writeRegs(data,2); + setDoubleTap(); +} \ No newline at end of file