LPMS3 Command List
Firmware Function / Command List
Summary
Acknowledged / Not-acknowledged Identifiers | ||||
Identifier | Name | Parameter | Response | Default |
0 (00h) | Â | Â | Â | |
1 (01h) | Â | Â | Â |
Register Value Save and Reset Command | ||||
Identifier | Name | Parameter | Response | Default |
4 (04h) | NONE | ACK/NACK | Â | |
5 (05h) | NONE | ACK/NACK | Â |
Mode Switching Commands | ||||
Identifier | Name | Parameter | Response | Default |
6 (06h) | NONE | ACK/NACK | Â | |
7 (07h) | NONE | ACK/NACK | Â |
Sensor Status Command | ||||
Identifier | Name | Parameter | Response | Default |
8 (08h) | NONE | UInt32 | 1 |
Get Data Commands | ||||
Identifier | Name | Parameter | Response | Default |
9 (09h) | NONE | Â | Â |
Device Info | ||||
Identifier | Name | Parameter | Response | Default |
20 (14h) | NONE | Char[24] | Â | |
21 (15h) | NONE | Char[24] | Â | |
22 (16h) | NONE | Char[24] | Â | |
23(17h) | NONE | Char[24] | Â |
Data Transmission Commands | ||||
Identifier | Name | Parameter | Response | Default |
30 (1Eh) | UInt32 | ACK/NACK | Â | |
31 (1Fh) | NONE | UInt32 | Â |
IMU ID Settings Commands | ||||
Identifier | Name | Parameter | Response | Default |
32 (20h) | UInt32 | ACK/NACK | Â | |
33 (21h) | NONE | UInt32 | 1 |
Stream Frequency Commands | ||||
Identifier | Name | Parameter | Response | Default |
34 (22h) | UInt32 | ACK/NACK | Â | |
35 (23h) | NONE | UInt32 | 100Hz |
Deg/Rad Output Commands | ||||
Identifier | Name | Parameter | Response | Default |
36 (24h) | UInt32 | ACK/NACK | Â | |
37 (25h) | NONE | UInt32 | 0 |
Reference Setting and Offset Reset Commands | ||||
Identifier | Name | Parameter | Response | Default |
38 (26h) | UInt32 | ACK/NACK | Â | |
39 (27h) | NONE | ACK/NACK | Â |
Accelerometer Settings Commands | ||||
Identifier | Name | Parameter | Response | Default |
50 (32h) | Int32 | ACK/NACK | Â | |
51 (33h) | NONE | Int32 | 4g |
Gyroscope Settings Commands | ||||
Identifier | Name | Parameter | Response | Default |
60 (3Ch) | UInt32 | ACK/NACK | Â | |
61 (3Dh) | NONE | UInt32 | 2000dps | |
62 (3Eh) | NONE | ACK/NACK | Â | |
64 (40h) | UInt32 | ACK/NACK | Â | |
65 (41h) | NONE | UInt32 | 1 |
Magnetometer Settings Commands | ||||
Identifier | Name | Parameter | Response | Default |
70 (46h) | UInt32 | ACK/NACK | Â | |
71 (47h) | NONE | UInt32 | 8 Gauss | |
84 (54h) | NONE | ACK/NACK | Â | |
85 (55h) | NONE | ACK/NACK | Â | |
86 (56h) | Float32 | ACK/NACK | Â | |
87 (57h) | NONE | Float32 | 20s |
Filter Settings Command | ||||
Identifier | Name | Parameter | Response | Default |
90 (5Ah) | UInt32 | ACK/NACK | Â | |
91 (5Bh) | NONE | UInt32 | 1 |
CAN Settings Command | ||||
Identifier | Name | Parameter | Response | Default |
110 (6Eh) | UInt32 | ACK/NACK | Â | |
111 (6Fh) | NONE | UInt32 | 0x514 | |
112 (70h) | UInt32 | ACK/NACK | Â | |
113 (71h) | NONE | UInt32 | 500Kbps | |
114 (72h) | UInt32 | ACK/NACK | Â | |
115 (73h) | NONE | UInt32 | 0 | |
116 (74h) | UInt32 | ACK/NACK | Â | |
117 (75h) | NONE | UInt32 | 0 | |
118 (76h) | UInt32[16] | ACK/NACK | Â | |
119 (77h) | NONE | UInt32[16] | Â | |
120 (78h) | UInt32 | ACK/NACK | Â | |
121 (79h) | NONE | UInt32 | 1s |
UART / RS232 Settings Command | ||||
Identifier | Name | Parameter | Response | Default |
130 (82h) | UInt32 | ACK/NACK | Â | |
131 (83h) | NONE | UInt32 | 921600 | |
132 (84h) | UInt32 | ACK/NACK | Â | |
133 (85h) | NONE | UInt32 | 0 | |
134 (86h) | Int8[4] | ACK/NACK | Â | |
135 (87h) | NONE | Char[4] | 0x24 0x0A 0x00 0x00 | |
136 (88h) | UInt32 | ACK/NACK | Â | |
137 (89h) | NONE | UInt32 | 1 |
Software Synchronization | ||||
Identifier | Name | Parameter | Response | Default |
150 (96h) | NONE | ACK/NACK | Â | |
151 (97h) | NONE | ACK/NACK | Â |
Sensor Data Timestamp Manipulation | ||||
Identifier | Name | Parameter | Response | Default |
152 (98h) | UInt32 | ACK/NACK | Â |
Details
Acknowledged and Not-acknowledged Identifiers
Identifier | Name | Parameter | Response | Default |
0 (00h) | REPLY_ACK | Â | Â | Â |
Description Confirms a successful SET command. |
Identifier | Name | Parameter | Response | Default |
1 (01h) | REPLY_NACK | Â | Â | Â |
Description Reports an error during processing a SET command. |
Register Value Save and Reset Command
Identifier | Name | Parameter | Response | Default |
4 (04h) | WRITE_REGISTERS | None | ACK/NACK | Â |
Description Writes the currently set parameters to flash memory. Settings will be preserved after power cycle. Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
5 (05h) | RESTORE_FACTORY_VALUE | None | ACK/NACK | Â |
Description Resets the sensor parameters to factory default values. Please note that upon issuing this command your currently set parameters will be erased. Response ACK (success) or NACK (error) |
Mode Switching Commands
Identifier | Name | Parameter | Response | Default |
6 (06h) | GOTO_COMMAND_MODE | None | ACK/NACK | Â |
Description Switches to command mode. In command mode the user can issue commands to the firmware to perform calibration, set parameters etc. Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
7 (07h) | GOTO_STREAM_MODE | None | ACK/NACK | Â |
Description Switches to streaming mode. In this mode data is continuously streamed from the sensor. Response ACK (success) or NACK (error) |
Sensor Status Commands
Identifier | Name | Parameter | Response | Default |
8 (08h) | GET_SENSOR_STATUS | None | UInt32 | 1 |
Description Gets the status of the sensor, i.e whether the sensor is in command mode or streaming mode. Response: 0: Command mode 1: Streaming mode |
Get Data Commands
Identifier | Name | Parameter | Response | Default |
9 (09h) | GET_IMU_DATA | None | Raw binary | Â |
Description Retrieves the latest set of sensor data. A data packet will be composed as defined by GET_TRANSMIT_DATA (1Fh). The data format (LPBus or ASCII) can be retrieved with GET_UART_FORMAT (85h). Data precision of sensor data can be retrieved with GET_LPBUS_DATA_PRECISION (88h). Response: See the LP-BUS protocol explanation for a description of the measurement data format. |
Device Info
Identifier | Name | Parameter | Response | Default |
20 (14h) | GET_SENSOR_MODEL | NONE | Char[24] | Â |
Description Gets the sensor model. Response Depending on sensor model, the response includes: LPMS-CU3, LPMS-URS3, LPMS-UTTL3, LPMS-CURS3-CAN, LPMS-CURS3-RS232, LPMS-CURS3-TTL Unused spaces in returned array are initialized to ‘\0’ |
Identifier | Name | Parameter | Response | Default |
21 (15h) | GET_FIRMWARE_INFO | NONE | Char[24] | Â |
Description Gets the sensor firmware version information. Response Firmware version, eg: CURS3-1.0.1-20211208 Unused spaces in returned array are initialized to ‘\0’ |
Identifier | Name | Parameter | Response | Default |
22 (16h) | GET_SERIAL_NUMBER | NONE | Char[24] | Â |
Description Gets the sensor serial number. Response 24 characters long serial number, eg: 2033374D59565010004F0037 |
Identifier | Name | Parameter | Response | Default |
23 (17h) | GET_FILTER_VERSION | NONE | Char[24] | Â |
Description Gets version of sensor fusion core. Response Version of sensor fusion core, eg: LPFUSION_2.0.7_211127 |
Data Transmission Commands
Identifier | Name | Parameter | Response | Default |
30 (1Eh) | SET_IMU_TRANSMIT_DATA | UInt32 | ACK/NACK | Â |
Description Enables/disables output data from the sensor. To enable a particular data output, the corresponding data mapping bit has to set to 1. Setting to 0 will disable the corresponding data output. Data mapping is as follow:
Example:
we will send 72322 (binary: 00000000 00000001 00011010 10000010) as parameter to the sensor Parameter UInt32 Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
31 (1Fh) | GET_IMU_TRANSMIT_DATA | NONE | UInt32 | Â |
Description Gets the settings for data output of the sensor. Response UInt32 representing the data output. See SET_IMU_TRANSMIT_DATA (1Eh) for details of data bit mapping. |
IMU ID Settings
Identifier | Name | Parameter | Response | Default |
32 (20h) | SET_IMU_ID | UInt32 | ACK/NACK | Â |
Description Sets the sensor ID. Parameter Sensor ID 0~INT_MAX Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
33 (21h) | GET_IMU_ID | NONE | UInt32 | Â |
Description Gets the sensor ID. Response Sensor ID |
Stream Frequency Commands
Identifier | Name | Parameter | Response | Default |
34 (22h) | SET_STREAM_FREQ | UInt32 | ACK/NACK | Â |
Description Set the sensor data streaming frequency (Hz). Please note that high frequencies might be not practically applicable due to limitations of the communication interface. Check the current baud rate before setting this parameter. Parameter Available data streaming frequencies:
Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
35 (23h) | GET_STREAM_FREQ | NONE | UInt32 | 100Hz |
Description Gets the current streaming frequency. Response Current streaming frequency (Hz):
|
Deg/Rad Output Commands
Identifier | Name | Parameter | Response | Default |
36 (24h) | SET_DEGRAD_OUTPUT | UInt32 | ACK/NACK | Â |
Description Sets the output unit of gyroscope, euler angles angular velocity to degree or radian. Parameter
Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
37 (25h) | GET_DEGRAD_OUTPUT | NONE | UInt32 | Â |
Description Gets the output unit of gyroscope, euler angles angular velocity to degree or radian. Response
|
Reference Setting and Offset Reset Command
Identifier | Name | Parameter | Response | Default |
38 (26h) | SET_ORIENTATION_OFFSET | UInt32 | ACK/NACK | Â |
Description Sets the orientation offset using one of the three offset methods. Parameter
Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
39 (27h) | RESET_ORIENTATION_OFFSET | NONE | ACK/NACK | Â |
Description Resets the orientation offset to unity quaternion. Response ACK (success) or NACK (error) |
Accelerometer Settings Command
Identifier | Name | Parameter | Response | Default |
50 (32h) | SET_ACC_RANGE | UInt32 | ACK/NACK | Â |
Description Sets the current range of the accelerometer (g). Parameter Available accelerometer range:
Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
51 (33h) | GET_ACC_RANGE | NONE | UInt32 | 4g |
Description Gets current accelerometer range. Response Current accelerometer range settings:
|
Gyroscope Settings Command
Identifier | Name | Parameter | Response | Default |
60 (3Ch) | SET_GYR_RANGE | UInt32 | ACK/NACK | Â |
Description Sets the current range of the gyroscope(dps. Parameter Available gyroscope range:
Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
61 (3Dh) | GET_GYR_RANGE | NONE | UInt32 | 2000dps |
Description Gets current gyroscope range. Response Current gyroscope range settings:
|
Identifier | Name | Parameter | Response | Default |
62 (3Eh) | START_GYR_CALIBRATION | NONE | ACK/NACK | Â |
Description Starts the static calibration of the gyroscope sensor. This calibration procedure will calculate the zero offset of the gyroscope. Please make sure the sensor is static on a stable surface when performing this calibration. Static calibration will take 2 seconds to complete. Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
64 (40h) | SET_ENABLE_GYR_AUTOCALIBRATION | UInt32 | ACK/NACK | Â |
Description Enables or disables auto-calibration of the gyroscope. Parameter
Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
65 (41h) | GET_ENABLE_GYR_AUTOCALIBRATION | NONE | UInt32 | 1 |
Description Gets gyroscope autocalibration settings Response
|
Magnetometer Settings Command
Identifier | Name | Parameter | Response | Default |
70 (46h) | SET_MAG_RANGE | UInt32 | ACK/NACK | Â |
Description Sets the current range of the magnetometer (Gauss). Parameter Available magnetometer range:
Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
71 (47h) | GET_MAG_RANGE | NONE | UInt32 | 8Gauss |
Description Gets current magnetometer range. Response Current magnetometer range settings:
|
Identifier | Name | Parameter | Response | Default |
84 (54h) | START_MAG_CALIBRATION | NONE | ACK/NACK | Â |
Description Starts magnetometer calibration procedure. Timeout for magnetometer calibration is set to 20 seconds by default. Magnetometer calibration procedure will automatically stop after timeout. Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
85 (55h) | STOP_MAG_CALIBRATION | NONE | ACK/NACK | Â |
Description Stops magnetometer calibration procedure manually. Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
86 (56h) | SET_MAG_CALIBRATION_TIMEOUT | Float32 | ACK/NACK | Â |
Description Sets the timeout for magnetometer calibration (s). Parameter Timeout for magnetometer calibration in seconds. Minimum calibration timeout is 10 seconds. Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
87 (57h) | GET_MAG_CALIBRATION_TIMEOUT | NONE | Float32 | 20.0s |
Description Gets the timeout for magnetometer calibration. Response Timeout for magnetometer calibration in seconds. |
Filter Settings Command
Identifier | Name | Parameter | Response | Default |
90 (5Ah) | SET_FILTER_MODE | UInt32 | ACK/NACK | Â |
Description Sets the sensor filter mode. Parameter Filter mode identifier:
Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
91 (5Bh) | GET_FILTER_MODE | NONE | UInt32 | 1 |
Description Gets the current filter mode. Response Filter mode identifier:
|
CAN Bus Settings Command
Identifier | Name | Parameter | Response | Default |
110 (6Eh) | SET_CAN_START_ID | UInt32 | ACK/NACK | Â |
Description Sets current CAN message start ID. Note: only applicable for Sequential CAN mode Parameter 0 ~ 65536 Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
111 (6Fh) | GET_CAN_START_ID | NONE | UInt32 | 514h |
Description Gets current CAN message start ID. Default value is 1300 (514h). Response CAN message start ID. |
Identifier | Name | Parameter | Response | Default |
112 (70h) | SET_CAN_BAUDRATE | UInt32 | ACK/NACK | Â |
Description Sets CAN baud rate in Kbps. Parameter Available baud rates:
Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
113 (71h) | GET_CAN_BAUDRATE | NONE | UInt32 | 500Kbps |
Description Gets CAN baud rate. Default value is 500Kbps Response CAN baud rate in Kbps
|
Identifier | Name | Parameter | Response | Default |
114 (72h) | SET_CAN_DATA_PRECISION | UInt32 | ACK/NACK | Â |
Description Sets the current CAN data precision mode. Parameter Precision mode identifier:
Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
115 (73h) | GET_CAN_DATA_PRECISION | NONE | UInt32 | 0 |
Description Gets the current CAN data precision mode. Default value is 0, 16 bit integer. Response CAN data precision mode:
|
Identifier | Name | Parameter | Response | Default |
116 (74h) | SET_CAN_MODE | UInt32 | ACK/NACK | Â |
Description Set the current CAN channel mode. Parameter Channel mode identifier:
Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
117 (75h) | GET_CAN_MODE | NONE | UInt32 | 0 |
Description Get the current CAN channel mode. Default value is 0, CANOpen. Response Channel mode identifier
|
Identifier | Name | Parameter | Response | Default |
118 (76h) | SET_CAN_MAPPING | UInt32[16] | ACK/NACK | Â |
Description Sets CAN output data mapping. Parameter Array of 16 unsigned integers, each representing the CAN output data mapping according to the list below:
Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
119 (77h) | GET_CAN_MAPPING | NONE | UInt32 | Â |
Description Gets CANopen mapping. Response Mapping identifier (See SET_CAN_MAPPING (76h) parameters) |
Identifier | Name | Parameter | Response | Default |
120 (78h) | SET_CAN_HEARTBEAT | UInt32 | ACK/NACK | Â |
Description Sets CANopen heartbeat interval. Maximum value is 10 (10 seconds). Parameter Interval identifier:
Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
121 (79h) | GET_CAN_HEARTBEAT | NONE | UInt32 | 1 |
Description Gets CAN heartbeat interval. Response Interval identifier:
|
UART Settings Commands
Identifier | Name | Parameter | Response | Default |
130 (82h) | SET_UART_BAUDRATE | UInt32 | ACK/NACK | Â |
Description Sets the current UART baud rate. Parameter Available baud rates (bps):
Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
131 (83h) | GET_UART_BAUDRATE | NONE | UInt32 | 921600 |
Description Gets current UART baud rate. Response Current UART baud rate (bps):
|
Identifier | Name | Parameter | Response | Default |
132 (84h) | SET_UART_FORMAT | UInt32 | ACK/NACK | Â |
Description Sets USB/UART data output format, LPBus protocol or ASCII. Parameter Data output format identifier
Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
133 (85h) | GET_UART_FORMAT | NONE | UInt32 | 0 |
Description Gets USB/UART output format. Default is LPBus. Response Data output format identifier
|
Identifier | Name | Parameter | Response | Default |
134 (86h) | SET_UART_ASCII_CHARACTER | Char[4] | ACK/NACK | Â |
Description Sets UART start/stop characters when output format is in ASCII mode Parameter Start/stop characters should be set in first and second character in the data array respectively. eg: Sending Char[4] of [0x24 0x0A 0x00 0x00] will set the start character to ‘$' and stop character to '\n’ Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
135 (87h) | GET_UART_ASCII_CHARACTER | NONE | Char[4] | 0x24 0x0A 0x00 0x00 |
Description Gets UART start/stop characters when output format is in ASCII mode Response Char[4] where:
|
Identifier | Name | Parameter | Response | Default |
136 (88h) | SET_LPBUS_DATA_PRECISION | Uint32 | ACK/NACK | Â |
Description Sets the output data precision for USB/UART. Parameter
Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
137 (89h) | GET_LPBUS_DATA_PRECISION | NONE | Uint32 | 1 |
Description Sets output data precision for USB/UART. Response
|
Software Synchronization
Identifier | Name | Parameter | Response | Default |
150 (96h) | START_SYNC | NONE | ACK/NACK | Â |
Description Starts software synchronization procedure. Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
151 (97h) | STOP_SYNC | NONE | ACK/NACK | Â |
Description Stops software synchronization procedure. Response ACK (success) or NACK (error) |
Sensor Data Timestamp Manipulation
Identifier | Name | Parameter | Response | Default |
152 (98h) | SET_TIMESTAMP | Uint32 | ACK/NACK | Â |
Description Sets sensor timestamp. Parameter Timestamp counter (Each counter represent 0.002s increment). E.g.:
Response ACK (success) or NACK (error) |
Â
Advanced Command
Sensor IMU Filter Settings (Detailed)
Identifier | Name | Parameter | Response | Default |
366 (16Eh) | SET_GYR_FILTER | Uint32 | ACK/NACK | Â |
Description Configure the Gyro 1 filter settings. Parameter Filter configurations with 8 digits:
Example: 4500: high pass filter disabled, 4th order low pass filter with 500 Hz cutoff frequency. Response ACK (success) or NACK (error) |
Identifier | Name | Parameter | Response | Default |
367 (16Fh) | GET_GYR_FILTER | void | ACK/NACK | Â |
Description Get Gyro 1 filter settings. Parameter Check above. Response ACK (success) or NACK (error) |