Multiple Rate Data

The message format commands allow you to set different data rates for different data quantities. This is a very useful feature because some data, such as accelerometer and gyroscope data, usually requires higher data rates (>100 Hz) than other IMU data quantities, such as pressure sensor output. The ability to send data at different rates reduces the parsing load on the user program and decreases the bandwidth requirements of the communications channel. Multiple rate data is scheduled on a common sampling rate clock. This means that if there is more than one data rate scheduled, the schedules coincide periodically. For example, if you request accelerometer data at 100 Hz and gyro data at 50 Hz, the gyro schedule coincides with the accelerometer schedule 50% of the time. When the schedules coincide, then the two data quantities are delivered in the same packet. In other words, in this example, you will receive data packets at 100 Hz and every packet will have an accelerometer data field and EVERY OTHER packet will also include a gyro data field:

 

Packet 1 Packet 2 Packet 3 Packet 4 Packet 5 Packet 6 Packet 7 Packet 8 ...
Accel Accel
Gyro
Accel Accel
Gyro
Accel Accel
Gyro
Accel Accel
Gyro
Accel

 

If a timestamp is included at 100 Hz, then the timestamp will also be included in every packet in this example. It is important to note that the data in a packet with a timestamp is always synchronous with the timestamp. This assures that multiple rate data is always synchronous.

 

Packet 1 Packet 2 Packet 3 Packet 4 Packet 5 Packet 6 ...

Accel
Timestamp

Accel
Mag Delta Theta
Timestamp
Accel
Timestamp
Accel
Mag Delta Theta
Timestamp
Accel
Timestamp
Accel
Mag Delta Theta
Timestamp
Accel