![LORD 3DM-GX5-35 Manual Download Page 18](http://html1.mh-extra.com/html/lord/3dm-gx5-35/3dm-gx5-35_manual_1939347018.webp)
3DM
®
-GX5-35
DCP Manual
IMU Filter data set). Replies to commands generally happen sequentially after a command so the
incidence of these is under program control.
For multi-threaded applications, it is often useful to use queues to buffer packets bound for different
packet handler threads. The depth of the queue can be tuned so that no packets are dropped while
waiting for their associated threads to process the packets in the queue. See
section for more information on this topic.
Once you have sorted the different packets and sent them to the proper packet handler, the packet
handler may parse the packet payload fields and handle each of the fields as appropriate for the
application. For simple applications, it is perfectly acceptable to have a single handler for all packet
types. Likewise, it is perfectly acceptable for a single parser to handle both the packet type and the
fields in the packet. The ability to sort the packets by type is just an option that simplifies the
implementation of more sophisticated applications.
2.6
Multiple Rate Data
The 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 such as Magnetometer (20 Hz typical) data. 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 Magnetometer data at 50 Hz, the
magnetometer 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 magnetometer data field:
Packet
1
Packet
2
Packet
3
Packet
4
Packet
5
Packet
6
Packet
7
Packet
8
...
Accel
Accel
Mag
Accel
Accel
Mag
Accel
Accel
Mag
Accel
Accel
Mag
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
Timestamp
Accel
Timestamp
Accel
Mag
Timestamp
Accel
Timestamp
Accel
Mag
Timestamp
Accel
18