Modification to FXOS8700Q for use in Data Logger project
Dependencies: FXOS8700Q MotionSensor
Dependents: GPS_6Axis_DataLogger_SD_UDP
Fork of FXOS8700Q by
Diff: FXOS8700Q.cpp
- Revision:
- 2:ab84f99086e5
- Parent:
- 1:8b53edef272f
--- a/FXOS8700Q.cpp Sun Apr 13 21:22:58 2014 +0000 +++ b/FXOS8700Q.cpp Mon Apr 14 17:13:15 2014 +0000 @@ -3,8 +3,16 @@ FXOS8700Q::FXOS8700Q(PinName sda, PinName scl, int addr) : m_i2c(sda, scl), m_addr(addr) { + +} + + +FXOS8700Q::~FXOS8700Q() { } + +void FXOS8700Q::enable(void) { // activate the peripheral uint8_t data[2] = {FXOS8700Q_CTRL_REG1, 0x00}; + m_i2c.frequency(400000); writeRegs(data, 2); data[0] = FXOS8700Q_M_CTRL_REG1; data[1] = 0x1F; @@ -18,11 +26,8 @@ data[0] = FXOS8700Q_CTRL_REG1; data[1] = 0x19;//0x1D; writeRegs(data, 2); -} - - -FXOS8700Q::~FXOS8700Q() { } - + } + uint8_t FXOS8700Q::getWhoAmI() { uint8_t who_am_i = 0; readRegs(FXOS8700Q_WHOAMI, &who_am_i, 1); @@ -30,15 +35,15 @@ } float FXOS8700Q::getAccX() { - return (float(getAccAxis(FXOS8700Q_OUT_X_MSB))/4096.0); + return (float(getAccAxis(FXOS8700Q_OUT_X_MSB))/4096.0f); } float FXOS8700Q::getAccY() { - return (float(getAccAxis(FXOS8700Q_OUT_Y_MSB))/4096.0); + return (float(getAccAxis(FXOS8700Q_OUT_Y_MSB))/4096.0f); } float FXOS8700Q::getAccZ() { - return (float(getAccAxis(FXOS8700Q_OUT_Z_MSB))/4096.0); + return (float(getAccAxis(FXOS8700Q_OUT_Z_MSB))/4096.0f); } @@ -96,7 +101,7 @@ } void FXOS8700Q::writeRegs(uint8_t * data, int len) { - m_i2c.write(m_addr, (char *)data, len); + if(m_i2c.write(m_addr, (char *)data, len)) printf("WRite Error\r\n"); } \ No newline at end of file