LORD 3DM-GX5-35 Manual

LORD 3DM-GX5-35 Manual

Data communications protocol, attitude and heading reference unit ahrs with gnss
Table of Contents

Advertisement

Quick Links

LORD Data Communications Protocol Manual
®
3DM
-GX5-35
Attitude and Heading Reference Unit (AHRS) with GNSS

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the 3DM-GX5-35 and is the answer not in the manual?

Questions and answers

Summary of Contents for LORD 3DM-GX5-35

  • Page 1 LORD Data Communications Protocol Manual ® -GX5-35 Attitude and Heading Reference Unit (AHRS) with GNSS...
  • Page 2 ® MicroStrain Sensing Systems 459 Hurricane Lane Suite 102 Williston, VT 05495 United States of America Phone: 802-862-6629 www.microstrain.com sensing_support@LORD.com sensing_sales@LORD.com Copyright © 2018 LORD Corporation ® ® ® ® ™ ® ® ® ® ® , 3DM-DH , 3DM-DH3...
  • Page 3: Table Of Contents

    ® -GX5-35 DCP Manual Table of Contents API Introduction Basic Programming 2.1 MIP Packet Overview 2.2 Command Overview 2.2.1 Example “Ping” Command Packet 2.2.2 Example “Ping” Reply Packet 2.3 Data Overview 2.3.1 Example Data Packet: 2.4 Example Setup Sequence 2.4.1 Continuous Data Example Command Sequence 2.4.2 Polling Data Example Sequence 2.5 Parsing Incoming Packets 2.6 Multiple Rate Data...
  • Page 4 ® -GX5-35 DCP Manual Command Reference 4.1 Base Commands 4.1.1 Ping (0x01, 0x01) 4.1.2 Set To Idle (0x01, 0x02) 4.1.3 Get Device Information (0x01, 0x03) 4.1.4 Get Device Descriptor Sets (0x01, 0x04) 4.1.5 Device Built-In Test (0x01, 0x05) 4.1.6 Resume (0x01, 0x06) 4.1.7 Get Extended Device Descriptor Sets (0x01, 0x07) 4.1.8 GPS Time Update (0x01, 0x72) 4.1.9 Device Reset (0x01, 0x7E)
  • Page 5 ® -GX5-35 DCP Manual 4.2.16 Magnetometer Hard Iron Offset (0x0C, 0x3A) 4.2.17 Magnetometer Soft Iron Matrix (0x0C, 0x3B) 4.2.18 Coning and Sculling Enable (0x0C, 0x3E) 4.2.19 UART Baud Rate (0x0C, 0x40) 4.2.20 Advanced Low-Pass Filter Settings (0x0C, 0x50) 4.2.21 Complementary Filter Settings (0x0C, 0x51) 4.2.22 Device Status (0x0C, 0x64) 4.3 System Commands 4.3.1 Communication Mode (0x7F, 0x10)
  • Page 6 6.4 16-bit Fletcher Checksum Algorithm (C Language) Advanced Programming 7.1 Multiple Commands in a Single Packet 7.2 Direct Modes 7.3 Internal Diagnostic Functions 7.3.1 3DM-GX5-35 Internal Diagnostic Commands 7.4 Handling High Rate Data 7.4.1 Runaway Latency 7.4.2 Dropped Packets 7.5 Creating Fixed Data Packet Format 7.6 Advanced Programming Models...
  • Page 7: Api Introduction

    “Base” commands (a set that is common across many types of devices), a set of unified “3DM” (3D Motion) commands that are specific to the LORD Sensing inertial product line, and a set of “System” commands that are specific to sensor systems comprised of more than one internal sensor block.
  • Page 8: Basic Programming

    3DM- GX5- 35 either through a COM utility or as a template for software development. 2.1 MIP Packet Overview This is an overview of the 3DM-GX5-35 packet structure. The packet structure used is the LORD “MIP” packet. A reference to the general packet structure is presented in the MIP Packet Reference section.
  • Page 9 ® -GX5-35 DCP Manual The packet payload section contains one or more fields. Fields have a length byte, descriptor byte, and data. The diagram below shows a packet payload with a single field.
  • Page 10: Command Overview

    ® -GX5-35 DCP Manual Below is an example of a packet payload with two fields (gyro vector and mag vector). Note the payload length byte of 0x1C which is the sum of the two field length bytes 0x0E + 0x0E: Header Packet Payload (2 Fields) Checksum...
  • Page 11: Example "Ping" Reply Packet

    ® -GX5-35 DCP Manual 2.2.2 Example “Ping” Reply Packet The “Ping” command will generate a reply packet from the device. The reply packet will contain an ACK/NACK field. The ACK/NACK field contains an “echo” of the command byte plus an error code. An error code of 0 is an “ACK”...
  • Page 12: Example Data Packet

    Setup involves a series of command/reply pairs. The example below demonstrates actual setup sequences that you can send directly to the 3DM-GX5-35 either programmatically or by using a COM utility. In most cases only minor alterations will be needed to adapt these examples for your application.
  • Page 13: Continuous Data Example Command Sequence

    100 Hz (1000Hz base rate divided by a rate decimation of 10 on the 3DM-GX5-35 = 100 Hz.) This will result in a single IMU data packet sent at 100Hz containing the IMU GPS correlation timestamp followed by the scaled gyro field and the scaled accelerometer field.
  • Page 14 ® -GX5-35 DCP Manual MIP Packet Header Command/Reply Fields Checksum SYNC1 SYNC2 Descriptor Payload Field Cmd. Field Data “u “e” Set byte Length Length Descriptor Function: 0x01 Desc. count: 0x03 Command: GPS TS Desc.: 0x12 New IMU Rate Dec: 0x000A 0x75 0x65 0x0C...
  • Page 15 ® -GX5-35 DCP Manual node will resume the state it was in when the "Idle" command was sent. If the "Resume" command is sent after enabling the IMU Data Stream, the node will continue streaming. (reply is ACK/NACK). MIP Packet Header Command/Reply Fields Checksum SYNC1...
  • Page 16: Polling Data Example Sequence

    ® -GX5-35 DCP Manual 2.4.2 Polling Data Example Sequence Polling for data is less efficient than processing a continuous data stream, but may be more appropriate for certain applications. The main difference from the continuous data example is the inclusion of the Poll data commands in the data loop: 1.
  • Page 17: Parsing Incoming Packets

    ® -GX5-35 DCP Manual Accel Vector 0x7F E5 BF 7F Copy-Paste version of the command: “7565 0C04 0401 0000 EFDA” You may specify the format of the data packet on a per-polling-command basis rather than using the pre-set data format (see the Poll IMU Data The polling command has an option to suppress the ACK/NACK in order to keep the incoming stream clear of anything except data packets.
  • Page 18: Multiple Rate Data

    ® -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.
  • Page 19: Data Synchronicity

    Time Update Command is applied. 2.8 Communications Bandwidth Management Because of the large amount and variety of data that is available from the 3DM-GX5-35, it is quite easy to overdrive the bandwidth of the communications channel. This can result in dropped packets. The...
  • Page 20: Uart Bandwidth Calculation

    ® -GX5-35 DCP Manual 2.8.1 UART Bandwidth Calculation Below is an equation for the maximum theoretical UART baud rate for a given message configuration. Although it is possible to calculate the approximate bandwidth required for a given setup, there is no guarantee that the system can support that setup due to internal processing delays.
  • Page 21: Usb Vs. Uart

    USB and UART communication with regards to data bandwidth. The USB “virtual COM port” that the 3DM-GX5-35 implements runs at USB “full-speed” setting of 12Mbs (megabits per second). However, USB is a polled master-slave system and so the slave (3DM- GX5- 35) can only communicate when polled by the master.
  • Page 22: Command And Data Summary

    ® -GX5-35 DCP Manual Command and Data Summary Below is a summary of the commands and data available in the programming interface. Commands and data are denoted by two values. The first value denotes the “descriptor set” that the command or data belongs to (Base command, 3DM command,IMU data,GNSS data, ) and the second value denotes the unique command or data “descriptor”...
  • Page 23: System Command Set (0X7F)

    ® -GX5-35 DCP Manual Complementary Filter Settings (0x0C, 0x51) Device Status* (0x0C, 0x64) Raw RTCM 2.3 Message (0x0C, 0x20) 3.1.3 System Command Set (0x7F) Communication Mode* (0x7F, 0x10) *Advanced commands 3.2 Data 3.2.1 IMU Data Set (0x80) Scaled Accelerometer Vector (0x80, 0x04) Scaled Gyro Vector (0x80, 0x05)
  • Page 24: Command Reference

    4.1 Base Commands The Base command set is common to many LORD Sensing devices. With the Base command set it is possible to identify many properties and do basic functions on a device even if you do not recognize its specialized functionality or data.
  • Page 25: Set To Idle (0X01, 0X02)

    ® -GX5-35 DCP Manual 4.1.2 Set To Idle (0x01, 0x02) Place device into idle mode Command has no parameters. Device responds with ACK if successfully placed in idle Description mode. This command will suspend streaming (if enabled) or wake the device from sleep (if sleeping) to allow it to respond to status and setup commands.
  • Page 26: Get Device Information (0X01, 0X03)

    ® -GX5-35 DCP Manual 4.1.3 Get Device Information (0x01, 0x03) Description Get the device ID strings and firmware version. Field Field Format Field Length Field Data Descriptor Command 0x02 0x03 Reply Field 1: U8 - echo the command byte 0x04 0xF1 ACK/ NACK U8 - error code (0: ACK, non-zero: NACK)
  • Page 27: Get Device Descriptor Sets (0X01, 0X04)

    ® -GX5-35 DCP Manual 4.1.4 Get Device Descriptor Sets (0x01, 0x04) Get the set of descriptors that this device supports Description Reply has two fields: “ACK/NACK” and “Descriptors”. The “Descriptors” field is an array of 16 bit values. The MSB specifies the descriptor set and the LSB specifies the descriptor.
  • Page 28: Device Built-In Test (0X01, 0X05)

    Run the device Built-In Test (BIT). The Built-In Test command always returns a 32 bit value. A value of 0 means that all tests passed. A non-zero value indicates that not all tests passed. The failure flags are device dependent. The flags for the 3DM-GX5-35 are defined below.
  • Page 29 ® -GX5-35 DCP Manual Reply Field 1: Echo cmd: 0x05 0x75 0x65 0x01 0x0A 0x04 0xF1 Error code: 0x00 ACK/NACK Reply Field 2: BIT Error Flags: 0x06 0x83 0x68 0x7D 0x00000000 BIT Error Flags Copy-Paste version of the command: “7565 0102 0205 E4CA”...
  • Page 30: Resume (0X01, 0X06)

    ® -GX5-35 DCP Manual 4.1.6 Resume (0x01, 0x06) Place device back into the mode it was in before issuing the Set To Idle command. Description If the Set To Idle command was not issued, then the device is placed in default mod- e.Command has no parameters.
  • Page 31: Get Extended Device Descriptor Sets (0X01, 0X07)

    ® -GX5-35 DCP Manual 4.1.7 Get Extended Device Descriptor Sets (0x01, 0x07) Get the extended set of descriptors that this device supports (descriptors in addition to the set returned by the Get Device Descriptors command) Description Reply has two fields: “ACK/NACK” and “Descriptors”. The “Descriptors” field is an array of 16 bit values.
  • Page 32: Gps Time Update (0X01, 0X72)

    ® -GX5-35 DCP Manual nth extended descriptor Copy-Paste version of the command: “7565 0102 0207 E6CC” 4.1.8 GPS Time Update (0x01, 0x72) This message updates the internal GPS Time as reported in the Filter Timestamp. This command enables synchronization of IMU/AHRS Timestamps with an external GPS receiver.
  • Page 33: Device Reset (0X01, 0X7E)

    ® -GX5-35 DCP Manual GPS Time Field (Week): 0x00 Val: 0x00000698 Update Reply : Cmd echo: 0x72 0x75 0x65 0x01 0x04 0x04 0xF1 0x46 0x4C Error code: 0x00 ACK/NACK Copy-Paste version of the command: “7565 0108 0872 0101 0000 0698 FD32” 4.1.9 Device Reset (0x01, 0x7E) Resets the device.
  • Page 34: 3Dm Commands

    DCP Manual 4.2 3DM Commands The 3DM command set is common to the LORD Sensing Inertial sensors that support the MIP packet protocol. Because of the unified set of commands, it is easy to migrate code from one inertial sensor to another.
  • Page 35: Poll Gnss Data (0X0C, 0X02)

    ® -GX5-35 DCP Manual Reply: Command echo: 0x01 0x75 0x65 0x0C 0x04 0x04 0xF1 0xE0 0xAC Error code: 0x00 ACK/NACK Copy-Paste versions of the commands: Stored format: “7565 0C04 0401 0000 EFDA” Specified format: “7565 0C0A 0A01 0002 0400 0005 0000 0627” 4.2.2 Poll GNSS Data (0x0C, 0x02) Poll the device for a GNSS message with the specified format This function polls for a GNSS message using the provided format.
  • Page 36: Get Imu Data Base Rate (0X0C, 0X06)

    ® -GX5-35 DCP Manual Reply: ACK/NACK Command echo: 0x02 (Data packet is 0x75 0x65 0x0C 0x04 0x04 0xF1 0xE1 0xAE Error code: 0x00 sent separately if ACK) Copy-Paste versions of the commands: Stored format: “7565 0C04 0402 0000 F0DD” Specified format: “7565 0C0A 0A02 0002 0300 0005 0000 062A” 4.2.3 Get IMU Data Base Rate (0x0C, 0x06) Get the base rate for the IMU data in Hz.
  • Page 37: Get Gnss Data Base Rate (0X0C, 0X07)

    ® -GX5-35 DCP Manual 4.2.4 Get GNSS Data Base Rate (0x0C, 0x07) Get the base rate for the GNSS data in Hz. Description Returns the value used for data rate calculations. See the GNSS Message Format com- mand. Field Field Format Field Length Field Data Descriptor...
  • Page 38: Imu Message Format (0X0C, 0X08)

    ® -GX5-35 DCP Manual 4.2.5 IMU Message Format (0x0C, 0x08) Set, read, or save the format of the IMU message packet. This command sets the format for the IMU data packet when in standard mode. The resulting data messages will main- tain the order of descriptors sent in the command.
  • Page 39 ® -GX5-35 DCP Manual 1st Descriptor: 0x04 Format (use new Rate Dec: 0x000A settings) 2nd Descriptor: 0x05 Rate Dec: 0x000A Reply Field : Echo cmd: 0x01 0x75 0x65 0x0C 0x04 0x04 0xF1 0xE7 0xBA ACK/NACK Error code: 0x00 Command: IMU Message Format Function: 0x02 0x75...
  • Page 40: Gnss Message Format (0X0C, 0X09)

    ® -GX5-35 DCP Manual 4.2.6 GNSS Message Format (0x0C, 0x09) Set, read, or save the format of the GNSS message packet. This function sets the format for the GNSS MIP data packet when in standard mode. The resulting message will main- tain the order of descriptors sent in the command.
  • Page 41 ® -GX5-35 DCP Manual Desc count: 0x02 GNSS Message 1st Descriptor: 0x03 Format (use new Data Rate: 0x0004 2nd Descriptor: 0x05 settings) Data Rate: 0x0004 Reply Field : Echo cmd: 0x09 0x75 0x65 0x0C 0x04 0x04 0xF1 0xE8 0xBC ACK/NACK Error code: 0x00 Command: GNSS Message...
  • Page 42: Enable/Disable Continuous Data Stream (0X0C, 0X11)

    ® -GX5-35 DCP Manual 4.2.7 Enable/Disable Continuous Data Stream (0x0C, 0x11) Control the streaming of IMU and Estimation Filter data. If disabled, the data from the selected device is not continuously transmitted. Upon enabling, the most current data will be transmitted (i.e. no stale data is transmitted.) The default for the device is all streams enabled.
  • Page 43 ® -GX5-35 DCP Manual Stream (OFF): 0x00 Reply: Echo cmd: 0x11 0x75 0x65 0x0C 0x04 0x04 0xF1 0xF0 0xCC ACK/NACK Error code: 0x00 Copy-Paste version of the 1st command: ”7565 0C05 0511 0101 0104 1A”...
  • Page 44: Gnss Constellation Settings (0X0C, 0X21)

    ® -GX5-35 DCP Manual 4.2.8 GNSS Constellation Settings (0x0C, 0x21) This configures which satellite constellations and how many satellites in each constellation the receiver should track. Function selector values: 0x01 – Use new settings 0x02 – Read back current settings. 0x03 –...
  • Page 45 ® -GX5-35 DCP Manual 4.2.8 GNSS Constellation Settings (0x0C, 0x21) Any setting that causes the total reserved channels to exceed 32 will result in a NACK. You cannot enable GLONASS and BeiDou at the same time. Enabling SBAS and QZSS only augments GPS accuracy. Notes It is recommended to disable GLONASS and BeiDou if a GPS-only antenna or GPS-only SAW filter is used.
  • Page 46 ® -GX5-35 DCP Manual MIP Packet Header Command/Reply Fields Checksum Examples Desc. Payload Field Field Sync1 Sync2 Field Data Length Length Desc. Function: 0x01 Max # Ch: 0x0020 GNSS Count: 0x02 1st GNSS: ID (GPS): 0x00 Command: Enable: 0x01 GNSS # Resrvd Ch: 0x08 Constellation 0x75...
  • Page 47: Gnss Sbas Settings (0X0C, 0X22)

    ® -GX5-35 DCP Manual 4.2.9 GNSS SBAS Settings (0x0C, 0x22) This configures how SBAS satellites should be used for GNSS augmentation. Function selector values: 0x01 – Use new settings 0x02 – Read back current settings. 0x03 – Save current settings as startup settings 0x04 –...
  • Page 48 ® -GX5-35 DCP Manual MIP Packet Header Command/Reply Fields Checksum Examples Desc. Payload Field Field Sync1 Sync2 Field Data Length Length Desc. Function: 0x01 SBAS En: 0x01 Options: 0x0003 PRN Cnt: 0x02 Command 0x75 0x65 0x0C 0x0B 0x0B 0x22 0x16 0x5C 1st PRN Exc: PRN #: 0x0078...
  • Page 49: Gnss Assisted Fix Control (0X0C, 0X23)

    ® -GX5-35 DCP Manual 4.2.10 GNSS Assisted Fix Control (0x0C, 0x23) Description Set the options for assisted GNSS fix. This device has a dedicated GNSS flash memory and a non-volatile FRAM. These are used to retain information about the last good GNSS fix. This greatly reduces the TTFF (Time To First Fix) depending on how old the information from the last fix is.
  • Page 50: Gnss Assist Time Update (0X0C, 0X24)

    ® -GX5-35 DCP Manual U8 – Current assisted fix options Reply: DATA 0x04 0xA2 U8 - Current assisted fix flags MIP Packet Header Command/Reply Fields Checksum Examples Desc. Payload Field Field Sync1 Sync2 Field Data Length Length Desc. Function: 0x01 Command 0x75 0x65...
  • Page 51 ® -GX5-35 DCP Manual U16 – Week Number Float – Time Accuracy in seconds MIP Packet Header Command/Reply Fields Checksum Examples Desc. Payload Field Field Sync1 Sync2 Field Data Length Length Desc. Function: 0x01 TOW: 47382.21 Command 0x75 0x65 0x0C 0x11 0x11 0x24...
  • Page 52: Device Startup Settings (0X0C, 0X30)

    ® -GX5-35 DCP Manual 4.2.12 Device Startup Settings (0x0C, 0x30) Read, Save, Load, or Reset to Default the values for all device settings. Possible function selector values: Description 0x03 – Save current settings as startup settings** 0x04 – Load saved startup settings 0x05 –...
  • Page 53: Accel Bias (0X0C, 0X37)

    ® -GX5-35 DCP Manual 4.2.13 Accel Bias (0x0C, 0x37) Advanced Set the value, or read the current value of the IMU7 Accelerometer Bias Vector. For all functions except 0x01 and 0x06 (apply new settings), the new vector value is ignored. The bias value is subtracted from the scaled accelerometer value prior to output.
  • Page 54: Gyro Bias (0X0C, 0X38)

    ® -GX5-35 DCP Manual 4.2.14 Gyro Bias (0x0C, 0x38) Advanced Set the value, or read the current value of the IMU7 Gyro Bias Vector. For all functions except 0x01 and 0x06 (apply new settings), the new vector value is ignored. The bias value is subtracted from the scaled Gyro value prior to output.
  • Page 55: Capture Gyro Bias (0X0C, 0X39)

    DCP Manual 4.2.15 Capture Gyro Bias (0x0C, 0x39) This command will cause the 3DM-GX5-35 to sample its sensors for the specified number of milliseconds. The resulting data will be used to initialize its orientation, and to estimate its gyro bias error. The estimated gyro bias error will be automatically written to the Gyro Bias vector.
  • Page 56: Magnetometer Hard Iron Offset (0X0C, 0X3A)

    The values for this offset are determined empirically by external software algorithms based on calibration data taken after the device is installed in its application. These values can be obtained and set by using the LORD “MIP Iron Calibration” application. Altern- atively, the auto-mag calibration feature may be used to capture these values in-run.
  • Page 57: Magnetometer Soft Iron Matrix (0X0C, 0X3B)

    The values for this matrix are determined empirically by external software algorithms based on calibration data taken after the device is installed in its application. These values can be obtained and set by using the LORD “MIP Iron Calibration” application. Altern- atively, the auto-mag calibration feature may be used to capture these values in-run.
  • Page 58 ® -GX5-35 DCP Manual MIP Packet Header Command/Reply Fields Checksum Examples Desc. Payload Field Field Sync1 Sync2 Field Data Length Length Desc. Fctn (Apply): 0x01 Comp Matrix: 0x3F800000 0x00000000 0x00000000 Command: 0x00000000 0x75 0x65 0x0C 0x27 0x27 0x3B 0xAD 0x59 Soft Iron Matrix 0x3F800000 0x00000000...
  • Page 59: Coning And Sculling Enable (0X0C, 0X3E)

    ® -GX5-35 DCP Manual 4.2.18 Coning and Sculling Enable (0x0C, 0x3E) Set, read, or save the Coning and Sculling Compensation Enable. This function sets the Coning and Sculling Compensation Enable. For all functions except 0x01 (use new set- ting), the new parameter values are ignored. Possible function selector values: 0x01 - Apply new settings 0x02 –...
  • Page 60: Uart Baud Rate (0X0C, 0X40)

    ® -GX5-35 DCP Manual 4.2.19 UART Baud Rate (0x0C, 0x40) Change, read, or save the baud rate of the main communication channel (UART1). For all functions except 0x01 (use new settings), the new baud rate value is ignored. Possible function selector values: 0x01 - Apply new settings 0x02 –...
  • Page 61: Advanced Low-Pass Filter Settings (0X0C, 0X50)

    ® -GX5-35 DCP Manual 4.2.20 Advanced Low-Pass Filter Settings (0x0C, 0x50) Advanced configuration for low-pass filter settings. The scaled data quantities are by default filtered through a single-pole IIR low-pass filter which is configured with a -3dB cutoff frequency of half the reporting frequency (set by decimation factor in the IMU Message Format command) to prevent aliasing on a per data...
  • Page 62 ® -GX5-35 DCP Manual U8 – Function selector U8 – Data Descriptor U8 – Low-Pass Filter Enable/Disable Command 0x09 0x50 U8 – Manual/Auto -3 dB Cutoff Frequency Configuration U16 – -3 dB Cutoff Frequency U8 – Reserved Byte Reply Field 1: U8 - echo the command descriptor 0x04 0xF1...
  • Page 63: Complementary Filter Settings (0X0C, 0X51)

    ® -GX5-35 DCP Manual 4.2.21 Complementary Filter Settings (0x0C, 0x51) Configuration for the AHRS complementary filter. The Complementary Filter data outputs are supported in the IMU/AHRS Data set (0x80) to provide compatibility with the 3DM- GX3. Possible function selector values: 0x01 - Use new settings 0x02 –...
  • Page 64: Device Status (0X0C, 0X64)

    The reply data for this command is device specific. The reply is specified by two parameters in the command. The first parameter is the model number (which for the 3DM-GX5-35 is always = 6252 (0x186C). That is followed by a status selector byte Description which determines the type of data structure returned.
  • Page 65 ® -GX5-35 DCP Manual 4.2.22 Device Status (0x0C, 0x64) exception to the rule for MIP descriptors that the structure of descriptor data is the same for all devices. In this case, it is the same for all devices with the same model number but not necessarily the same for devices with different model numbers.
  • Page 66 ® -GX5-35 DCP Manual 1 – on GNSS Stream Enabled 0 – off Estimation Filter Stream 1 – on Enabled 0 – off Outgoing IMU Stream Dropped count Packet Count Outgoing GNSS Stream count Dropped Packet Count Outgoing Estimation Filter count Stream Dropped Packet Count Number of bytes written to com...
  • Page 67 ® -GX5-35 DCP Manual Reply Field 1: Echo cmd: 0x64 0x75 0x65 0x0C 0x15 0x04 0xF1 ACK/NACK Error code: 0x00 Reply Field 2: Device Echo Model # (6252): 0x186C Status (Basic 0x0D 0x90 0x## 0x## Echo selector: 0x01 Status struc- Additonal data: ...
  • Page 68: System Commands

    3DM-GX5-35 that have multiple intelligent internal sensor blocks. These commands allow special modes such as talking directly to the native protocols of the embedded sensor blocks. For example, with the 3DM-GX5-35, you may switch into a mode that talks directly to another LORD Sensing Inertial Sensor with an internal IMU.
  • Page 69: Error Codes

    ® -GX5-35 DCP Manual ACK/ NACK U8 - Error code (0: ACK, non-zero: NACK) Reply Field 2: 0x03 0x90 U8 – Current Communications Mode Function = 2 MIP Packet Header Command/Reply Fields Checksum Example Desc. Payload Field Field Sync1 Sync2 Field Data Length Length...
  • Page 70: Data Reference

    Scaled Accelerometer Vector This is a vector quantifying the direction and magnitude of the acceleration that the 3DM-GX5-35 is exposed to. This quantity is fully temperature compensated and Notes scaled into physical units of g (1 g = 9.80665 m/sec^2). It is expressed in terms of the 3DM-GX5-35’s local coordinate system.
  • Page 71: Scaled Gyro Vector (0X80, 0X05)

    5.1.2 Scaled Gyro Vector (0x80, 0x05) Description Scaled Gyro Vector This is a vector quantifying the rate of rotation (angular rate) of the 3DM-GX5-35. Notes This quantity is fully temperature compensated and scaled into units of radi- ans/second. It is expressed in terms of the 3DM-GX5-35’s local coordinate system.
  • Page 72: Scaled Ambient Pressure (0X80, 0X17)

    Time integral of angular rate. This is a vector which gives the time integral of angular rate over the interval set by Notes the IMU message format command. It is expressed in terms of the 3DM-GX5-35’s local coordinate system in units of radians. Data...
  • Page 73: Delta Velocity Vector (0X80, 0X08)

    ® -GX5-35 DCP Manual 5.1.6 Delta Velocity Vector (0x80, 0x08) Description Time integral of acceleration. This is a vector which gives the time integral of specific acceleration over the interval set by the IMU message format command. It is expressed in terms of the 3DM- Notes GX5-35’s local coordinate system in units of g*second where g is the standard grav- itational constant.
  • Page 74 ® -GX5-35 DCP Manual 5.1.7 CF Orientation Matrix (0x80, 0x09) V_E is the same vector expressed in the stationary, earth- fixed coordinate system Field Data Descriptor Message Data Length Binary Off- Description Data Type Units Float Float Float Field Format Float 38 (0x26) 0x09...
  • Page 75: Cf Quaternion (0X80, 0X0A)

    ® -GX5-35 DCP Manual 5.1.8 CF Quaternion (0x80, 0x0A) 4 x 1 quaternion Q. Description This value is produced by the Complementary Filter fusion algorithm. This is a four component quaternion which describes the orientation of the 3DM- GX5 with respect to the fixed earth coordinate system. Q satisfies the following equation: Notes V_IL...
  • Page 76: Cf Euler Angles (0X80, 0X0C)

    ® -GX5-35 DCP Manual 5.1.9 CF Euler Angles (0x80, 0x0C) Pitch, Roll, and Yaw (aircraft) values. Description This value is produced by the Complementary Filter fusion algorithm. This is a three component vector containing the Roll, Pitch and Yaw angles in radi- ans.
  • Page 77: Cf Stabilized North Vector (0X80, 0X10)

    ® -GX5-35 DCP Manual 5.1.10 CF Stabilized North Vector (0x80, 0x10) Gyro stabilized estimated vector for geomagnetic vector. Description This value is produced by the Complementary Filter fusion algorithm. This is a vector which represents the complementary filter’s best estimate of the geo- magnetic field direction (magnetic north).
  • Page 78: Cf Stabilized Up Vector (0X80, 0X11)

    ® -GX5-35 DCP Manual 5.1.11 CF Stabilized Up Vector (0x80, 0x11) Gyro stabilized estimated vector for the gravity vector. Description This value is produced by the Complementary Filter fusion algorithm. This is a vector which represents the IMU/AHRS complementary filter’s best estim- ate of the vertical direction.
  • Page 79 ® -GX5-35 DCP Manual 5.1.12 GPS Correlation Timestamp (0x80, 0x12) correlated. This flag is only set once upon the first valid GPS Time record. After that, each time the GPS Time becomes invalid (from a lack of signal) and then valid again (regains signal) the GPS Time Refresh flag will toggle.
  • Page 80: Gnss Data

    ® -GX5-35 DCP Manual 5.2 GNSS Data 5.2.1 LLH Position (0x81, 0x03) Description Position Data in the Geodetic Frame. Valid Flag Mapping: 0x0001 – Latitude & Longitude Valid 0x0002 – Ellipsoid Height Valid Notes 0x0004 – MSL Height Valid 0x0008 – Horizontal Accuracy Valid 0x0010 –...
  • Page 81: Ecef Position (0X81, 0X04)

    ® -GX5-35 DCP Manual 5.2.2 ECEF Position (0x81, 0x04) Description Position Data in the Earth-Centered, Earth-Fixed Frame. Valid Flag Mapping: 0x0001 – ECEF Position Valid Notes 0x0002 – Position Accuracy Valid Data Field Length Message Data Descriptor Binary Description Data Type Units Offset X Position...
  • Page 82: Ned Velocity (0X81, 0X05)

    ® -GX5-35 DCP Manual 5.2.3 NED Velocity (0x81, 0x05) Description Velocity Data in the North-East-Down Frame. Valid Flag Mapping: 0x0001 – NED Velocity Valid 0x0002 – Speed Valid Notes 0x0004 – Ground Speed Valid 0x0008 – Heading Valid 0x0010 – Speed Accuracy Valid 0x0020 –...
  • Page 83: Ecef Velocity (0X81, 0X06)

    ® -GX5-35 DCP Manual 5.2.4 ECEF Velocity (0x81, 0x06) Description Velocity Data in the Earth-Centered, Earth-Fixed Frame. Valid Flag Mapping: Notes 0x0001 – ECEF Velocity Valid 0x0002 – Velocity Accuracy Valid Data Field Length Message Data Descriptor Binary Description Data Type Units Offset X Velocity Float...
  • Page 84: Dop Data (0X81, 0X07)

    ® -GX5-35 DCP Manual 5.2.5 DOP Data (0x81, 0x07) Description Dilution of Precision Data. Valid Flag Mapping: 0x0001 – GDOP Valid 0x0002 – PDOP Valid 0x0004 – HDOP Valid Notes 0x0008 – VDOP Valid 0x0010 – TDOP Valid 0x0020 – NDOP Valid 0x0040 –...
  • Page 85: Utc Time (0X81, 0X08)

    ® -GX5-35 DCP Manual 5.2.6 UTC Time (0x81, 0x08) Description Coordinated Universal Time Data Valid Flag Mapping: Notes 0x0001 – Date Valid 0x0002 – Time Valid Data Field Length Message Data Descriptor Binary Description Data Type Units Offset Year Years (1999-2099) Month Months (1-12) Field Format...
  • Page 86: Gps Time (0X81, 0X09)

    ® -GX5-35 DCP Manual 5.2.7 GPS Time (0x81, 0x09) Description Global Positioning System Time Data Valid Flag Mapping: Notes 0x0001 – TOW Valid 0x0002 – Week Number Valid Field Data Descriptor Message Data Length Binary Off- Description Data Type Units Field Format Time of Week Double...
  • Page 87: Gnss Fix Information (0X81, 0X0B)

    ® -GX5-35 DCP Manual 5.2.9 GNSS Fix Information (0x81, 0x0B) Description Current GNSS Fix Status Information Valid Flag Mapping: 0x0001 – Fix Type Valid 0x0002 – Number of SVs Valid 0x0004 – Fix Flags Valid Possible Fix Types values are: 0x00 –...
  • Page 88: Space Vehicle Information (0X81, 0X0C)

    ® -GX5-35 DCP Manual 5.2.10 Space Vehicle Information (0x81, 0x0C) Description Individual Space Vehicle Information Entry When enabled, these fields will arrive in a separate MIP packet. Valid Flag Mapping: 0x0001 – Channel Valid 0x0002 – SV ID Valid 0x0008 – Carrier to Noise Ratio Valid 0x0010 –...
  • Page 89: Hardware Status (0X81, 0X0D)

    ® -GX5-35 DCP Manual 5.2.11 Hardware Status (0x81, 0x0D) Description GNSS Hardware Status Information Hardware status is only available at 1 Hz. Setting the rate higher than 1 Hz has no effect. Valid Flag Mapping: 0x0001 – Sensor State Valid 0x0002 –...
  • Page 90: Dgnss Information (0X81, 0X0E)

    ® -GX5-35 DCP Manual 5.2.12 DGNSS Information (0x81, 0x0E) Description Individual DGNSS Channel Status Entry When enabled, a separate field for each active space vehicle will be sent in the packet. Valid Flag Mapping: 0x0001 – Latest Age Valid 0x0002 – Base Station ID Valid 0x0004 –...
  • Page 91: Dgnss Channel Status (0X81, 0X0F)

    ® -GX5-35 DCP Manual 5.2.13 DGNSS Channel Status (0x81, 0x0F) Description Individual DGNSS Channel Status Entry When enabled, a separate field for each active space vehicle will be sent in the packet. Valid Flag Mapping: Notes 0x0001 – SV ID Valid 0x0002 –...
  • Page 92: Mip Packet Reference

    MIP Packet Reference 6.1 Structure Commands and Data are sent and received as fields in the LORD “MIP” packet format. Below is the general definition of the structure: The packet always begins with the start-of-packet sequence “ue” (0x75, 0x65). The “Descriptor Set”...
  • Page 93: Advanced Programming

    ® -GX5-35 DCP Manual Advanced Programming 7.1 Multiple Commands in a Single Packet MIP packets may contain one or more individual commands. In the case that multiple commands are transmitted in a single MIP packet, the 3DM- GX5- 35 will respond with a single packet containing multiple replies.
  • Page 94: Direct Modes

    Device Communications Mode command is used to switch between modes. When in these modes, the 3DM-GX5-35 acts like an “IMU only” sensor. Any code or tools developed for these devices may be used in these modes. These modes can be used to access advanced (native) data of the individual sensors, data that isn’t represented in the 3DM command sets of the 3DM-GX5-35.
  • Page 95: Internal Diagnostic Functions

    Device Status. These commands are defined generically but the implementation is very specific to the hardware implemented on this device. Other LORD Sensing devices will have their own implementations of these functions depending on the internal hardware of the devices.
  • Page 96 ® -GX5-35 DCP Manual GX5-35. The DMA or UART interrupt service routine only takes processor time when a byte is ready and as long as the interrupts are preemptive, the processor will fetch every byte received. Using the interrupt routine to fill a ring buffer makes the most efficient use of an MCU and makes it easier to write your application main line code.
  • Page 97: Creating Fixed Data Packet Format

    ® -GX5-35 DCP Manual 7.5 Creating Fixed Data Packet Format The MIP packet structure and protocol provides a great deal of flexibility to the user for creating a custom data stream. It does this by allowing selectable data fields and individual data rates for each field.
  • Page 98: Advanced Programming Models

    ® -GX5-35 DCP Manual 7.6 Advanced Programming Models Many applications will only require a single threaded programming model which is simple to implement using a single program loop that services incoming packets. In other applications, advanced techniques such as multithreading or event based processes are required. The MIP packet design simplifies implementation of these models.
  • Page 99: Glossary

    ® -GX5-35 DCP Manual Glossary A/D Value The digital representation of analog voltages in an analog-to-digital (A/D) conversion. The accuracy of the conversion is dependent on the resolution of the system electronics. Higher resolution produces a more accurate conversion. Acceleration In physics,acceleration is the change in the rate of speed (velocity) of an object over time.
  • Page 100 ® -GX5-35 DCP Manual ASTM (Association of Standards and Testing) a nationally accepted organization for the testing and calibration of technological devices Attitude the orientaion of an object in space with reference to a defined frame, such as the North-East-Down (NED) frame Azimuth A horizontal arc measured between a fixed point (such as true north) and the vertical circle passing...
  • Page 101 ® -GX5-35 DCP Manual Delta-Theta the time integral of angular rate expressed with refernce to the device local coordinate system, in units of radians Delta-velocity the time integral of velocity expressed with refernce to the device local coordinate system, in units of g*second where g is the standard gravitational constant ECEF (Earth Centered Earth Fixed) a reference frame that is fixed to the earth at the center of the earth and turning about earth's axis in the...
  • Page 102 ® -GX5-35 DCP Manual Host (computer) The host computer is the computer that orchestrates command and control of attached devices or net- works. Inertial Measurement System Inclinometer device used to measure tilt, or tilt and roll Inertial pertaining to systems that have inertia or are used to measure changes in inertia as in angular or linear accelerations INS (Inertial Navigation System) systems that use inertial measurements exclusively to determine position, velocity, and attitude, given...
  • Page 103 ® -GX5-35 DCP Manual NED (North-East-Down) A geographic reference system acronym for Original Equipment Manufacturer Offset A non-zero output signal of a sensor when no load is applied to it, typically due to sensor imperfections. Also called bias. Orientation The orientaion of an object in space with reference to a defined frame. Also called attitude. Pitch In navigation pitch is what occurs when vertical force is applied at a distance forward or aft from the cen- ter of gravity of the platform, causing it to move up or down with respect to the sensor or platform frame...
  • Page 104 ® -GX5-35 DCP Manual acronym for Root Mean Squared Roll In navigation roll is what occurs when a horizontal force is applied at a distance right or left from the cen- ter of gravity of the platform, causing it to move side to side with respect to the sensor or platform frame origin.
  • Page 105 ® -GX5-35 DCP Manual UTC (Coordinated Universal Time) The primary time standard for world clocks and time. It is similar to Greenwich Mean Time (GMT). Vector a measurement with direction and magnitude with refernce from one point in space to another Velocity The rate of change of position with respect to time.

Table of Contents