LPMS-BE2 LPBus Command List

Firmware Function / Command List

Summary

Acknowledged / Not-acknowledged Identifiers

Identifier

Name

Parameter

Response

Default

0 (00h)

REPLY_ACK

Ā 

Ā 

Ā 

1 (01h)

REPLY_NACK

Ā 

Ā 

Ā 

Register Value Save and Reset Command

Identifier

Name

Parameter

Response

Default

4 (04h)

WRITE_REGISTERS

NONE

ACK/NACK

Ā 

5 (05h)

RESTORE_FACTORY_VALUE

NONE

ACK/NACK

Ā 

Mode Switching Commands

Identifier

Name

Parameter

Response

Default

6 (06h)

GOTO_COMMAND_MODE

NONE

ACK/NACK

Ā 

7 (07h)

GOTO_STREAM_MODE

NONE

ACK/NACK

Ā 

Sensor Status Command

Identifier

Name

Parameter

Response

Default

8 (08h)

GET_SENSOR_STATUS

NONE

UInt32

1

Get Data Commands

Identifier

Name

Parameter

Response

Default

9 (09h)

GET_IMU_DATA

NONE

Ā 

Ā 

Device Info

Identifier

Name

Parameter

Response

Default

20 (14h)

GET_SENSOR_MODEL

NONE

Char[24]

Ā 

21 (15h)

GET_FIRMWARE_INFO

NONE

Char[24]

Ā 

22 (16h)

GET_SERIAL_NUMBER

NONE

Char[24]

Ā 

23(17h)

GET_FILTER_VERSION

NONE

Char[24]

Ā 

Data Transmission Commands

Identifier

Name

Parameter

Response

Default

30 (1Eh)

SET_IMU_TRANSMIT_DATA

UInt32

ACK/NACK

Ā 

31 (1Fh)

GET_IMU_TRANSMIT_DATA

NONE

UInt32

Ā 

IMU ID Settings Commands

Identifier

Name

Parameter

Response

Default

32 (20h)

SET_IMU_ID

UInt32

ACK/NACK

Ā 

33 (21h)

GET_IMU_ID

NONE

UInt32

1

Stream Frequency Commands

Identifier

Name

Parameter

Response

Default

34 (22h)

SET_STREAM_FREQ

UInt32

ACK/NACK

Ā 

35 (23h)

GET_STREAM_FREQ

NONE

UInt32

100Hz

Deg/Rad Output Commands

Identifier

Name

Parameter

Response

Default

36 (24h)

SET_DEGRAD_OUTPUT

UInt32

ACK/NACK

Ā 

37 (25h)

GET_DEGRAD_OUTPUT

NONE

UInt32

0

Reference Setting and Offset Reset Commands

Identifier

Name

Parameter

Response

Default

38 (26h)

SET_ORIENTATION_OFFSET

UInt32

ACK/NACK

Ā 

39 (27h)

RESET_ORIENTATION_OFFSET

NONE

ACK/NACK

Ā 

Accelerometer Settings Commands

Identifier

Name

Parameter

Response

Default

50 (32h)

SET_ACC_RANGE

Int32

ACK/NACK

Ā 

51 (33h)

GET_ACC_RANGE

NONE

Int32

4g

Gyroscope Settings Commands

Identifier

Name

Parameter

Response

Default

60 (3Ch)

SET_GYR_RANGE

UInt32

ACK/NACK

Ā 

61 (3Dh)

GET_GYR_RANGE

NONE

UInt32

2000dps

62 (3Eh)

START_GYR_CALIBRATION

NONE

ACK/NACK

Ā 

64 (40h)

SET_ENABLE_GYR_AUTOCALIBRATION

UInt32

ACK/NACK

Ā 

65 (41h)

GET_ENABLE_GYR_AUTOCALIBRATION

NONE

UInt32

1

Filter Settings Command

Identifier

Name

Parameter

Response

Default

90 (5Ah)

SET_FILTER_MODE

UInt32

ACK/NACK

Ā 

91 (5Bh)

GET_FILTER_MODE

NONE

UInt32

1

UART / RS232 Settings Command

Identifier

Name

Parameter

Response

Default

130 (82h)

SET_UART_BAUDRATE

UInt32

ACK/NACK

Ā 

131 (83h)

GET_UART_BAUDRATE

NONE

UInt32

115200

132 (84h)

SET_UART_FORMAT

UInt32

ACK/NACK

Ā 

133 (85h)

GET_UART_FORMAT

NONE

UInt32

0

134 (86h)

SET_UART_ASCII_CHARACTER

Int8[4]

ACK/NACK

Ā 

135 (87h)

GET_UART_ASCII_CHARACTER

NONE

Char[4]

0x24 0x0A 0x00 0x00

136 (88h)

SET_LPBUS_DATA_PRECISION

UInt32

ACK/NACK

Ā 

137 (89h)

GET_LPBUS_DATA_PRECISION

NONE

UInt32

1

Sensor Data Timestamp Manipulation

Identifier

Name

Parameter

Response

Default

152 (98h)

SET_TIMESTAMP

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.

More information to be added.

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-BE1, LPMS-BE2

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: BE2-1.1.2-20210816

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_20210805

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:

  • Bit 0: Accelerometer raw output

  • Bit 1: Accelerometer calibrated output

  • Bit 2: Reserved

  • Bit 3: Gyro raw output

  • Bit 4: Reserved

  • Bit 5: Gyro bias calibrated output

  • Bit 6: Reserved

  • Bit 7: Gyro alignment and bias calibrated output

  • Bit 8:Reserved

  • Bit 9: Reserved

  • Bit 10: Angular velocity output

  • Bit 11: Quaternion output

  • Bit 12: Euler output

  • Bit 13: Linear acceleration output

  • Bit 14: Reserved

  • Bit 15: Reserved

  • Bit 16: Temperature output

Example:

  • Bit 1: Accelerometer calibrated output

  • Bit 7: Gyro alignment and bias calibrated output

  • Bit 11: Quaternion output

  • Bit 12: Euler output

  • Bit 13: Linear Acceleration

we will send 14466 (binary: 00000000 00000000 00111000 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:

  • 5: 5Hz

  • 10: 10Hz

  • 50: 50Hz

  • 100: 100Hz

  • 250: 250Hz

  • 500: 500Hz

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):

  • 5: 5Hz

  • 10: 10Hz

  • 50: 50Hz

  • 100: 100Hz

  • 250: 250Hz

  • 500: 500Hz

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

  • 0: Degree

  • 1: Radian

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

  • 0: Degree

  • 1: Radian

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

  • 0: Object Reset

  • 1: Heading Reset

  • 2: Alignment Reset

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:

  • 2: 2g

  • 4: 4g

  • 8: 8g

  • 16: 16g

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:

  • 2: 2g

  • 4: 4g

  • 8: 8g

  • 16: 16g

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:

  • 125: 125dps

  • 250: 250dps

  • 500: 500dps

  • 1000: 1000dps

  • 2000: 2000dps

  • 4000: 4000dps

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:

  • 125: 125dps

  • 250: 250dps

  • 500: 500dps

  • 1000: 1000dps

  • 2000: 2000dps

  • 4000: 4000dps

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

  • 0: Disable

  • 1: Enable

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

  • 0: Disable

  • 1: Enable

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:

  • 0: Gyro only

  • 1: Kalman filter Gyro + Accelerometer

  • 2: NA

  • 3: DCM filter Gyro + Accelerometer

  • 4: NA

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:

  • 0: Gyro only

  • 1: Kalman filter Gyro + Accelerometer

  • 2: NA

  • 3: DCM filter Gyro + Accelerometer

  • 4: NA

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):

  • 9600

  • 19200

  • 38400

  • 57600

  • 115200

  • 230400

  • 256000

  • 460800

  • 921600

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):

  • 9600

  • 19200

  • 38400

  • 57600

  • 115200

  • 230400

  • 256000

  • 460800

  • 921600

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

  • 0: LPBus

  • 1: ASCII

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

  • 0: LPBus

  • 1: ASCII

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:

  • Char[0] is the start character

  • Char[1] is the stop character

Identifier

Name

Parameter

Response

Default

136 (88h)

SET_LPBUS_DATA_PRECISION

Uint32

ACK/NACK

Ā 

Description

Sets the output data precision for USB/UART.

Parameter

  • 0: 16 bit Fixed point

  • 1: 32 bit Floating point

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

  • 0: 16 bit Fixed point

  • 1: 32 bit Float

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.:

  • 0: will set timestamp to 0s

  • 1000: will set timestamp to 2s

Response

ACK (success) or NACK (error)