User manual

AREXX Engineering & JM3 Engineering
Version: 1.04 Nov 9
th
, 2014 page: 7
2.2. Reading data from I2C
Principle way of reading data from I2C modules.
/**********************************************************************\
* read data from sensor (generalized description)
\**********************************************************************/
master.ReadRegisters(I2C Addr, Register | AUTO_INC, mBuffer, 6);
2.3. Initialization of the Sensor
inline void Initialize()
{
/******************************************************************\
* initialize gyro (generalized description)
* CTRL_REG1_G: 0011 1100b: Normal mode, Z-axis, DataRate = 95 Hz, Cut-Off 25
* CTRL_REG2_G: 0010 0000b: Normal mode, HP cout-off 7.2 Hz
* CTRL_REG3_G: 0000 0000b: default
* CTRL_REG4_G: 0000 0000b: continuous mode, little endian, 245 dps
* CTRL_REG5_G: 0000 0000b: default, no FIFO & INT
\*****************************************************************/
master.TransmitBytes(DGYRO, CTRL_REG1_G | AUTO_INC, 0x3C, 0x22);
master.TransmitBytes(DGYRO, CTRL_REG4_G, 0x00);
/******************************************************************\
* initialize magnetometer and accelerometer
* reg address MSB is auto-increment
* power up sensor,enable x, y, z axis
* +/-2 gauss, update rate 3,125 Hz; +/- 2g, update rate 50 Hz
* all filter bypassed, Hpc = 512 Hz
* CTRL_REG0_XM: 0000 0000b: default
* CTRL_REG1_XM: 0111 0111b: accelerometer: continuous mode, no Blockupdate,
* update 200 Hz, enable x, y, z axis
* CTRL_REG2_XM: 1100 0000b: anit-alias 50Hz, +/- 2g, no self-test
* CTRL_REG3_XM: 0000 0000b: default
* CTRL_REG4_XM: 0000 0000b: default
* CTRL_REG5_XM: 1110 1000b: enable Temp, high Res, update 50 Hz, noLatch
* CTRL_REG6_XM: 0000 0000b: +/- 2 gauss
* CTRL_REG7_XM: 1000 0000b: normal mode, continuous conversion
\******************************************************************/
master.TransmitBytes(MAGACC, CTRL_REG0_XM | AUTO_INC, 0x00, 0x77, 0xC0); // Reg0, 1, 2
master.TransmitBytes(MAGACC, CTRL_REG5_XM | AUTO_INC, 0xE8, 0x00, 0x80); // Reg5, 6, 7
}
2.4. Slave Addresses
MAGACC = 0x3A, // LSM9DS0 Magnetometer and Acceleration
DGYRO = 0xD6 // LSM9DS0 Gyro