WIT Standard Communication Protocol

WIT Standard Communication Protocol

Instructions for Command:

Command

The serial port sending command must be completed within 10S, otherwise it will be automatically locked. To avoid this situation, please do the following steps first.

  1. Enter the unlock command(0XFF 0XAA 0X69 0X88 0XB5,0X means hexadecimal )

  2. Enter the command that needs to modify or read the data

  3. Save command(0XFF 0XAA 0X00 0X00 0X00)

Register

ADDR

(Hex)

ADDR

(Dec)

REGISTER NAME

FUNCTION

SERIAL

I/F

Bit15

Bit14

Bit13

Bit12

Bit11

Bit10

Bit9

Bit8

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

00

00

SAVE

Save/Reboot/Reset

R/W

SAVE[15:0]

01

01

CALSW

Calibretion Mode

R/W

CALSW[3:0]

02

02

RSW

Output Content

R/W

GSA

QUATER

VELOCITY

GPS

PRESS

PORT

MAG

ANGLE

GYRO

ACC

TIME

03

03

RRATE

Output rate

R/W

RRATE[3:0]

04

04

BAUD

Baud rate

R/W

BAUD[3:0]

05

05

AXOFFSET

Acceleration X bias

R/W

AXOFFSET[15:0]

06

06

AYOFFSET

Acceleration Y bias

R/W

AYOFFSET[15:0]

07

07

AZOFFSET

Acceleration Z bias

R/W

AZOFFSET[15:0]

08

08

GXOFFSET

Angular velocity X bias

R/W

GXOFFSET[15:0]

09

09

GYOFFSET

Angular velocity Y bias

R/W

GYOFFSET[15:0]

0A

10

GZOFFSET

Angular velocity Z bias

R/W

GZOFFSET[15:0]

0B

11

HXOFFSET

Magnetic field X bias

R/W

HXOFFSET[15:0]

0C

12

HYOFFSET

Magnetic field Y bias

R/W

HYOFFSET[15:0]

0D

13

HZOFFSET

Magnetic field Z bias

R/W

HZOFFSET[15:0]

0E

14

D0MODE

D0 Pin Mode

R/W

D0MODE[3:0]

0F

15

D1MODE

D1 Pin Mode

R/W

D1MODE[3:0]

10

16

D2MODE

D2 Pin Mode

R/W

D2MODE[3:0]

11

17

D3MODE

D3 Pin Mode

R/W

D3MODE[3:0]

1A

26

IICADDR

Device address

R/W

IICADDR[7:0]

1B

27

LEDOFF

Turn off LED light

R/W

LEDOFF

1C

28

MAGRANGX

Magnetic field X calibration range

R/W

MAGRANGX[15:0]

1D

29

MAGRANGY

Magnetic field Y calibration range

R/W

MAGRANGY[15:0]

1E

30

MAGRANGZ

Magnetic field Z calibration range

R/W

MAGRANGZ[15:0]

1F

31

BANDWIDTH

Bandwidth

R/W

BANDWIDTH[3:0]

20

32

GYRORANGE

Gyro range

R/W

GYRORANGE[3:0]

21

33

ACCRANGE

Acceleration range

R/W

ACCRANGE[3:0]

22

34

SLEEP

Sleep

R/W

SLEEP

23

35

ORIENT

Installation direction

R/W

ORIENT

24

36

AXIS6

Algorithm

R/W

AXIS6

25

37

FILTK

Dynamic filtering

R/W

FILTK[15:0]

26

38

GPSBAUD

GPS Baud rate

R/W

GPSBAUD[3:0]

27

39

READADDR

Read register

R/W

READADDR[7:0]

2A

42

ACCFILT

Acceleration filtering

R/W

ACCFILT[15:0]

2D

45

POWONSEND

command start

R/W

POWONSEND[3:0]

2E

46

VERSION

Version number

R

VERSION[15:0]

30

48

YYMM

Year/Mouth

R/W

MOUTH[15:8]

YEAR[7:0]

31

49

DDHH

Hour/Day

R/W

HOUR[15:8]

DAY[7:0]

32

50

MMSS

Minutes/Seconds

R/W

SECONDS[15:8]

MINUTE[7:0]

33

51

MS

millisecond

R/W

MS[15:0]

34

52

AX

Acceleration X

R

AX[15:0]

35

53

AY

Acceleration Y

R

AY[15:0]

36

54

AZ

Acceleration Z

R

AZ[15:0]

37

55

GX

Angular velocity X

R

GX[15:0]

38

56

GY

Angular velocity Y

R

GY[15:0]

39

57

GZ

Angular velocity Z

R

GZ[15:0]

3A

58

HX

Magnetic field X

R

HX[15:0]

3B

59

HY

Magnetic field Y

R

HY[15:0]

3C

60

HZ

Magnetic field Z

R

HZ[15:0]

3D

61

Roll

Roll

R

Roll[15:0]

3E

62

Pitch

Pitch angle

R

Pitch[15:0]

3F

63

Yaw

Heading

R

Yaw[15:0]

40

64

TEMP

Temperature

R

TEMP[15:0]

41

65

D0Status

D0 pin state

R

D0Status[15:0]

42

66

D1Status

D1pin state

R

D1Status[15:0]

43

67

D2Status

D2 pin state

R

D2Status[15:0]

44

68

D3Status

D3 pin state

R

D3Status[15:0]

45

69

PressureL

Air pressure low 16 bits

R

PressureL[15:0]

46

70

PressureH

Air pressure high16 bits

R

PressureH[15:0]

47

71

HeightL

Height lower 16 bits

R

HeightL[15:0]

48

72

HeightH

Height high 16 bits

R

HeightH[15:0]

49

73

LonL

Longitude lower 16 bits

R

LonL[15:0]

4A

74

LonH

Longitude high 16 bits

R

LonH[15:0]

4B

75

LatL

Latitude lower 16 bits

R

LatL[15:0]

4C

76

LatH

Latitude high 16 bits

R

LatH[15:0]

4D

77

GPSHeight

GPS Altitute

R

GPSHeight[15:0]

4E

78

GPSYAW

GPS Heading

R

GPSYAW[15:0]

4F

79

GPSVL

GPS round speed low 16 bits

R

GPSVL[15:0]

50

80

GPSVH

GPS ground speed high 16 bits

R

GPSVH[15:0]

51

81

q0

Quaternion 0

R

q0[15:0]

52

82

q1

Quaternion1

R

q1[15:0]

53

83

q2

Quaternion2

R

q2[15:0]

54

84

q3

Quaternion3

R

q3[15:0]

55

85

SVNUM

Number of satellites

R

SVNUM[15:0]

56

86

PDOP

Position accuracy

R

PDOP[15:0]

57

87

HDOP

Horizontal accuracy

R

HDOP[15:0]

58

88

VDOP

Vertical accuracy

R

VDOP[15:0]

59

89

DELAYT

Alarm delay

R/W

DELAYT[15:0]

5A

90

XMIN

X-axis angle alarm min.

R/W

XMIN[15:0]

5B

91

XMAX

X-axis angle alarm max.

R/W

XMAX[15:0]

5C

92

BATVAL

Supply voltage

R

BATVAL[15:0]

5D

93

ALARMPIN

Alarm Pin Mapping

R/W

X-ALARM[15:12]

X+ALARM[11:8]

Y-ALARM[7:4]

Y+ALARM[3:0]

5E

94

YMIN

Y-axis alarm min.

R/W

YMIN[15:0]

5F

95

YMAX

Y-axis alarm max.

R/W

YMAX[15:0]

61

97

GYROCALITHR

Gyro Still Threshold

R/W

GYROCALITHR[15:0]

62

98

ALARMLEVEL

Angle alarm level

R/W

ALARMLEVEL[3:0]

63

99

GYROCALTIME

Gyro auto calibration time

R/W

GYROCALTIME[15:0]

68

104

TRIGTIME

Alarm continuous trigger time

R/W

TRIGTIME[15:0]

69

105

KEY

Unlock

R/W

KEY[15:0]

6A

106

WERROR

Gyro change

R

WERROR[15:0]

6B

107

TIMEZONE

GPSTimezone

R/W

TIMEZONE[7:0]

6E

110

WZTIME

Angular velocity continuous rest time

R/W

WZTIME[15:0]

6F

111

WZSTATIC

Angular velocity integral threshold

R/W

WZSTATIC[15:0]

74

116

MODDELAY

485 data response delay

R/W

79

121

XREFROLL

Roll angle zero reference value

R

XREFROLL[15:0]

7A

122

YREFPITCH

Pitch angle zero reference value

R

YREFPITCH[15:0]

7F

127

NUMBERID1

Device No1-2

R

ID2[15:8]

ID1[7:0]

80

128

NUMBERID2

Device No3-4

R

ID4[15:8]

ID3[7:0]

81

129

NUMBERID3

Device No5-6

R

ID6[15:8]

ID5[7:0]

82

130

NUMBERID4

Device No7-8

R

ID8[15:8]

ID7[7:0]

83

131

NUMBERID5

Device No9-10

R

ID10[15:8]

ID9[7:0]

84

132

NUMBERID6

Device No11-12

R

ID12[15:8]

ID11[7:0]

Protocol Format

Read

  • The Data is sent in hexadecimal, not ASCII.

  • Each data is transmitted in sequence by low byte and high byte, and the two are combined into a signed short type of data. For example, for data DATA1, DATA1L is the low byte and DATA1H is the high byte. The conversion method is as follows:

Suppose DATA1 is the actual data, DATA1H is its high-byte part, DATA1L is its low-byte part.

Then: DATA1=(short)((short)DATA1H<<8|DATA1L). It must be noted here that DATA1H needs to be coerced into a signed short type of data before shifting, and the data type of DATA1 is also a signed short type, so that it can represent negative numbers.

Protocol header

Data content

Data lower 8 bits

Data higher 8 bits

Data lower 8 bits

Data higher 8 bits

Data lower 8 bits

Data higher 8 bits

Data lower 8 bits

Data higher 8 bits

SUMCRC

0x55

TYPE【1】

DATA1L[7:0]

DATA1H[15:8]

DATA2L[7:0]

DATA2H[15:8]

DATA3L[7:0]

DATA3H[15:8]

DATA4L[7:0]

DATA4H[15:8]

SUMCRC【2】

【1】TYPE(Data content):

TYPE

Remark

0x50

Time

0x51

Acceleration

0x52

Angular velocity

0x53

Angle

0x54

Magnetic field

0x55

Port

0x56

Barometric altitude

0x57

Latitude and Longitude

0x58

ground speed

0x59

Quaternion

0x5A

GPS Location accuracy

0x5F

Read

【2】SUMCRC(Data and calibration):

SUMCRC=0x55+TYPE+DATA1L+DATA1H+DATA2L+DATA2H+DATA3L+DATA3H+DATA4L+DATA4H

SUMCRC is a char type, taking the lower 8 bits of the checksum

Time Output

0x55

0x50

YY

MM

DD

HH

MN

SS

MSL

MSH

SUM

Name

Describe

Remark

YY

Year

MM

Mouth

DD

Day

HH

Hour

MN

Minute

SS

Seconds

MSL

MS lower 8 bits

Millisecond calculation formula:

milliseconds=((MSH<<8)|MSL)

MSH

MS higher 8 bits

SUM

Checksum

SUM=0x55+0x50+YY+MM+DD+HH+MN+SS+MSL+MSH

Acceleration Output

0x55

0x51

AxL

AxH

AyL

AyH

AzL

AzH

TL

TH

SUM

Name

Description

Remark

AxL

Acceleration X low 8 bits

Acceleration X=((AxH<<8)|AxL)/32768*16g

(g is the acceleration of gravity, preferably 9.8m/s2)

AxH

Acceleration X high 8 bits

AyL

Acceleration Y low 8 bits

Acceleration Y=((AyH<<8)|AyL)/32768*16g

(g is the acceleration of gravity, preferably 9.8m/s2)

AyH

Acceleration Yhigh 8 bits

AzL

Acceleration Z low 8 bits

Acceleration Z=((AzH<<8)|AzL)/32768*16g

(g is the acceleration of gravity, preferably 9.8m/s2)

AzH

Acceleration Z high 8 bits

TL

8-bit lower temperature

Temperature calculation formula:

Temperature=((TH<<8)|TL) /100 ℃

TH

8-bit higher temperature

SUM

Check sum

SUM=0x55+0x51+AxL+AxH+AyL+AyH+AzL+AzH+TL+Th

Angular velocity output

0x55

0x52

WxL

WxH

WyL

WyH

WzL

WzH

VolL

VolH

SUM

Name

Description

Remark

WxL

Angular velocity X low 8 bits

Angular velocity X=((WxH<<8)|WxL)/32768*2000°/s

WxH

Angular velocity X high 8 bits

WyL

Angular velocity Y low 8 bits

Angular velocity Y=((WyH<<8)|WyL)/32768*2000°/s

WyH

Angular velocity Y high 8 bits

WzL

Angular velocity Z low 8 bits

Angular velocity Z=((WzH<<8)|WzL)/32768*2000°/s

WzH

Angular velocity Z high 8 bits

VolL

Voltage lower 8 bits

(Non-Bluetooth products, the data is invalid) Voltage calculation formula:

Voltage=((VolH<<8)|VolL) /100 ℃

VolH

Voltage higher 8 bits

SUM

Check sum

SUM=0x55+0x52+WxL+WxH+WyL+WyH+WzL+WzH+VolH+VolL

Angular output

0x55

0x53

RollL

RollH

PitchL

PitchH

YawL

YawH

VL

VH

SUM

Name

Description

Remark

RollL

Roll angle X lower 8 bits

Roll angle X=((RollH<<8)|RollL)/32768*180(°)

RollH

Roll angle X highter 8 bits

PitchL

Pitch angle Y low 8 bits

Pitch angleY=((PitchH<<8)|PitchL)/32768*180(°)

PitchH

Pitch angle Y high 8 bits

YawL

Yaw angle Z lower8 bits

Yaw angleZ=((YawH<<8)|YawL)/32768*180(°)

YawH

Yaw angle Z higher 8 bits

VL

Version number lower 8 bits

Version number calculation formula:

Version number=(VH<<8)|VL

VH

Version number higher 8 bits

SUM

Check Sum

SUM=0x55+0x53+RollH+RollL+PitchH+PitchL+YawH+YawL+VH+VL

Magnetic field output

0x55

0x54

HxL

HxH

HyL

HyH

HzL

HzH

TL

TH

SUM

Name

Description

Remark

HxL

Magnetic field X lower 8 bits

Magnetic fieldX=((HxH<<8)|HxL)

HxH

Magnetic field X higher 8 bits

HyL

Magnetic field Y lower 8 bits

Magnetic fieldY=((HyH <<8)|HyL)

HyH

Magnetic fieldY higher 8 bits

HzL

Magnetic field Z lower 8 bits

Magnetic fieldZ=((HzH<<8)|HzL)

HzH

Magnetic field Z lower 8 bits

TL

8-bit lower temperature

Temperature calculation formula:

Temperature=((TH<<8)|TL) /100 ℃

TH

8-bit lhigher temperature

SUM

Check Sum

SUM=0x55+0x54+HxH+HxL+HyH+HyL+HzH+HzL+TH+TL

Port status output

0x55

0x55

D0L

D0H

D1L

D1H

D2L

D2H

D3L

D3H

SUM

Name

Description

Remark

D0L

D0 status lower 8 bits

D0 status=((D0H<<8)|D0L)

D0H

D0 status higher 8 bits

D1L

D1 status lower 8 bits

D1status=((D1H<<8)|D1L)

D1H

D1 status higher 8 bits

D2L

D2 status lower 8 bits

D2 status=((D2H<<8)|D2L)

D2H

D2 status higher 8 bits

D3L

D3 status lower 8 bits

D3 status=((D3H<<8)|D3L)

D3H

D3 status higher 8 bits

SUM

Check Sum

SUM=0x55+0x54+D0L+D0H+D1L+D1H+D2L+D2H+D3L+D3H

explanation:

● When the port mode is set to analog input, the port status data represents the analog voltage. The actual voltage is calculated according to the formula below:

U=DxStatus/1024*Uvcc

● Uvcc is the power supply voltage of the chip. Since there are LDOs on the chip, if the power supply voltage of the module is greater than 3.5V, Uvcc is 3.3V. If the module power supply voltage is less than 3.5V, Uvcc=pexplaower supply voltage -0.2V.

● When the port mode is set to digital input, the port status data indicates the digital level status of the port, high level is 1 and low level is 0.

● When the port mode is set to high-level output mode, the port status data is 1.

● When the port mode is set to low-level output mode, the port status data bit is 0.

Air pressure altitude output

0x55

0x56

P0

P1

P2

P3

H0

H1

H2

H3

SUM

Name

Description

Remark

P0

Air pressure[7:0]

Air pressure[

P1

Air pressure[[15:8]

P2

Air pressure[[23:16]

P3

Air pressure[31:24]

H0

Altitute[7:0]

Altitute

H1

Altitute[15:8]

H2

Altitute[23:16]

H3

Altitute[31:24]

SUM

Check sum

SUM=0x55+0x56+P0+P1+P2+P3+H0+H1+H2+H3

Latitude and longitude

0x55

0x57

Lon0

Lon1

Lon2

Lon3

Lat0

Lat1

Lat2

Lat3

SUM

Name

Description

Remark

Lon0

Longitude[7:0]

Longitude

Lon1

Longitude[15:8]

Lon2

Longitude[23:16]

Lon3

Longitude[31:24]

Lat0

Latitude[7:0]

Latitude

Lat1

Latitude[15:8]

Lat2

Latitude[23:16]

Lat3

Latitude[31:24]

SUM

Checksum

SUM=0x55+0x57+Lon0+Lon1+Lon2+Lon3+Lat0+Lat1+Lat2+Lat3

Explanation:

The NMEA8013 standard stipulates that the longitude output format of GPS is dd mm.mmmmm (dd is degrees, mm.mmmmm is minutes), and the decimal point is removed from the output of longitude/latitude, so the degrees of longitude/latitude can be calculated as follows:

dd=Lon [31:0]/10000000;

dd=Lat [31:0]/10000000;

Longitude/latitude fraction calculation:

mm.mmmmm= (Lon [31:0] %10000000)/100000(% indicates the remainder operation)

mm.mmmmm= (Lat [31:0] %10000000)/100000(% indicates the remainder operation)

GPS data output

0x55

0x58

GPS

HeightL

GPS

HeightH

GPS

YawL

GPS

YawH

GPSV0

GPSV1

GPSV2

GPSV3

SUM

Name

Description

Remark

GPS

HeightL

GPS altitude[7:0]

GPS altitude=((GPSHeightH<<8)|GPSHeightL)/10(m)

GPS

HeightH

GPS altitude[15:8]

GPS

YawL

GPS heading [7:0]

GPS heading =((GPSYawH<<8)|GPSYawL)/100(°)

GPS

YawH

GPSheading [15:8]

GPSV0

GPS Ground Speed[7:0]

GPS Ground Speed

GPSV1

GPS Ground Speed[15:8]

GPSV2

GPS Ground Speed[23:16]

GPSV3

GPS Ground Speed[31:24]

SUM

Check sum

SUM=0x55+0x58+GPSHeightL+GPSHeightH+GPSYawL+GPSYawH+GPSV0+GPSV1+GPSV2+GPSV3

Quaternion output

0x55

0x59

Q0L

Q0H

Q1L

Q1H

Q2L

Q2H

Q3L

Q3H

SUM

Name

Description

Remark

Q0L

Q0 lower 8 bits

q0=((Q0H<<8) |Q0L)/32768

Q0H

Q0 high 8 bits

Q1L

Q1 lower 8 bits

q1=((Q1H<<8) |Q1L)/32768

Q1H

Q1 high 8 bits

Q2L

Q2 lower 8 bits

q2=((Q2H<<8) |Q2L)/32768

Q2H

Q2 high 8 bits

Q3L

Q3 lower 8 bits

q3=((Q3H<<8)|Q3L)/32768

Q3H

Q3 high 8 bits

SUM

Checksum

SUM=0x55+0x59+Q0L+Q0H+Q1L +Q1H +Q2L+Q2H+Q3L+Q3H

GPS Positioning accuracy output

0x55

0x5A

SNL

SNH

PDOPL

PDOPH

HDOPL

HDOPH

VDOPL

VDOPH

SUM

Name

Description

Remark

SNL

Satellite number low 8 bits

GPSSatellite number=((SNH<<8) |SNL)

SNH

Satellite number high 8 bits

PDOPL

Position accuracy low 8 bits

Position accuracy=((PDOPH<<8) |PDOPL)/100

PDOPH

Position accuracy high 8 bits

HDOPL

Horizontal precision low 8 bits

Horizontal precision=((HDOPH<<8) |HDOPL)/100

HDOPH

Horizontal precision high 8 bits

VDOPL

Vertical precision low 8 bits

Vertical precision =((VDOPH<<8)|VDOPL)/100

VDOPH

Vertical precision high 8 bits

SUM

Checksum

SUM=0x55+0x5A+SNL+SNH+PDOPL+PDOPH+HDOPL+HDOPH+VDOPL+VDOPH

Read the return value of the register

  • Read the value of the register specified by the user, read REG1, then return the value of the 4 registers of REG1~REG4, the protocol must return 4 registers.

0x55

0x5F

REG1L

REG1H

REG2L

REG2H

REG3L

REG3H

REG4L

REG4H

SUM

Name

Description

Remark

REG1L

Register 1 low 8 bits

REG1[15:0]=((REG1H<<8)|REG1L)

REG1H

Register 1 high 8 bits

REG2L

Register 2 low 8 bits

REG2[15:0]=((REG2H<<8)|REG2L)

REG2H

Register 2 high 8 bits

REG3L

Register 3 low 8 bits

REG3[15:0]=((REG3H<<8)|REG3L)

REG3H

Register 3 high 8 bits

REG4L

Register 4 low 8 bits

REG4[15:0]=((REG4H<<8)|REG4L)

REG5H

Register 4 high 8 bits

SUM

Checksum

SUM=0x55+0x5F+REG1L+REG1H+REG2L+REG2H+REG3L+REG3H+REG4L+REG4H

Example:

Read register "AXOFFSET", return:0x55 0x5F AXOFFSET [7:0] AXOFFSET [15:8] AYOFFSET [7:0] AYOFFSET [15:8] AZOFFSET [7:0] AZOFFSET [15:8] GXOFFSET [7:0] GXOFFSET [15:8] SUM

Write Format

  • The following data are all Hex codes in hexadecimal

  • All settings need to operate the unlock register first(KEY)

Head

Head

Register

Data lower 8 bits

Data high 8 bits

0xFF

0xAA

ADDR

DATAL[7:0]

DATAH[15:8]

  • The data is sent in hexadecimal not ASCII.

  • Each data is divided into low byte and high byte and transmitted in turn, and the two are combined into a signed short data.

For example, DATA, DATAL is the low byte, DATAH is the high byte.

Conversion method: Assuming that DATA is the actual data, DATAH is its high-byte part, and DATAL is its low-byte part, then:DATA=(short)((short)DATAH<<8|DATAL)

DATAH must be cast to a signed short type before shifting, and the data type of DATA is also a signed short type, so that negative numbers can be represented.

Note:

There are three steps to perform the command write operation.

Step1. Unlock 0xFF 0XAA 0X69 0X88 0XB5

Step2. Send the command to be modified

Step3. Save 0xFF 0XAA 0X00 0X00 0X00

The flow chart is below.The data is sent in hexadecimal not ASCII.

Each data is divided into low byte and high byte and transmitted in turn, and the two are combined into a signed short data.

For example, DATA, DATAL is the low byte, DATAH is the high byte.

Conversion method: Assuming that DATA is the actual data, DATAH is its high-byte part, and DATAL is its low-byte part, then:DATA=(short)((short)DATAH<<8|DATAL)

DATAH must be cast to a signed short type before shifting, and the data type of DATA is also a signed short type, so that negative numbers can be represented.

Note:

There are three steps to perform the command write operation.

Step1. Unlock 0xFF 0XAA 0X69 0X88 0XB5

Step2. Send the command to be modified

Step3. Save 0xFF 0XAA 0X00 0X00 0X00

The flow chart is below.

SAVE(Save/restart/reset)

Register Name: SAVE

Register Address: 0 (0x00)

Read and write direction: R/W

Default: 0x0000

Bit

NAME

FUNCTION

15:0

SAVE[15:0]

Save: 0x0000

Restart: 0x00FF

Factory reset: 0x0001

Example:FF AA 00 FF 00(Restart)

CALSW(Calibration mode)

Register Name: CALSW

Register Address: 1 (0x01)

Read and write direction: R/W

Default: 0x0000

Bit

NAME

FUNCTION

15:4

3:0

CAL[3:0]

Set calibration mode:

0000(0x00): Normal working mode

0001(0x01): Automatic accelerometer calibration

0011(0x03): Height reset

0100(0x04): Set the heading angle to zero

0111(0x07): Magnetic Field Calibration (Spherical Fitting)

1000 (0x08): Set the angle reference

1001(0x09): Magnetic Field Calibration (Dual Plane Mode)

Example:FF AA 01 04 00(Set heading angle to zero)

RSW(Output content)

Register Name: RSW

Register Address: 2 (0x02)

Read and write direction: R/W

Default: 0x001E

Bit

NAME

FUNCTION

15:11

10

GSA (0x5A)

0: off 1: on

9

QUATER (0x59)

0: off 1: on

8

VELOCITY (0x58)

0: off 1: on

7

GPS (0x57)

0: off 1: on

6

PRESS (0x56)

0: off 1: on

5

PORT (0x55)

0: off 1: on

4

MAG (0x54)

0: off 1: on

3

ANGLE (0x53)

0: off 1: on

2

GYRO (0x52)

0: off 1: on

1

ACC (0x51)

0: off 1: on

0

TIME (0x50)

0: off 1: on

Example: FF AA 02 3E 00 (set to only output acceleration, angular velocity, angle, magnetic field, port state)

RRATE (Output rate)

Register Name: RRATE

Register Address: 3 (0x03)

Read and write direction: R/W

Default: 0x0006

Bit

NAME

FUNCTION

15:4

3:0

RRATE[3:0]

Set the output rate:

0001(0x01): 0.2Hz

0010(0x02): 0.5Hz

0011(0x03): 1Hz

0100(0x04): 2Hz

0101(0x05): 5Hz

0110(0x06): 10Hz

0111(0x07): 20Hz

1000(0x08): 50Hz

1001(0x09): 100Hz

1011(0x0B): 200Hz

1011(0x0C): single return

1100(0x0D): no return

Example: FF AA 03 03 00 (set 1Hz output)

Note: HWT906, WT931 can output 500Hz, 1000Hz

FF AA 03 0C 00: 500HzFF AA 03 0D 00: 1000Hz

FF AA 03 10 00 : single return

BAUD(Serial baud rate)

Register Name: BAUD

Register Address: 4 (0x04)

Read and write direction: R/W

Default: 0x0002

Bit

NAME

FUNCTION

15:4

3:0

BAUD[3:0]

Set the serial port baud rate:

0001(0x01): 4800bps

0010(0x02): 9600bps

0011(0x03): 19200bps

0100(0x04): 38400bps

0101(0x05): 57600bps

0110(0x06): 115200bps

0111(0x07): 230400bps

1000(0x08): 460800bps(Only supportsWT931/JY931/HWT606/HWT906)

1001(0x09): 921600bps(Only supportsWT931/JY931/HWT606/HWT906)

Example:FF AA 04 06 00(Set serial port baud rate115200)

AXOFFSET~HZOFFSET(Zero bias setting)

Register Name: AXOFFSET~HZOFFSET

Register Address: 5~13 (0x05~0x0D)

Read and write direction: R/W

Default: 0x0000

Bit

NAME

FUNCTION

15:0

AXOFFSET[15:0]

Acceleration X-axis zero offset, actualvalue=AXOFFSET[15:0]/10000(g)

15:0

AYOFFSET[15:0]

Acceleration Y-axis zero offset, actualvalue=AYOFFSET[15:0]/10000(g)

15:0

AZOFFSET[15:0]

Acceleration Z-axis zero offset, actualvalue=AZOFFSET[15:0]/10000(g)

15:0

GXOFFSET[15:0]

Angular velocity X-axis zero offset, actual value=GXOFFSET[15:0]/10000(°/s)

15:0

GYOFFSET[15:0]

Angular velocity Y-axis zero offset, actual value=GYOFFSET[15:0]/10000(°/s)

15:0

GZOFFSET[15:0]

Angular velocity Z-axis zero offset, actual value=GZOFFSET[15:0]/10000(°/s)

15:0

HXOFFSET[15:0]

Magnetic field X-axiszero offset

15:0

HYOFFSET[15:0]

Magnetic field Y-axiszero offset

15:0

HZOFFSET[15:0]

Magnetic field Z-axiszero offset

Example: FF AA 05 E8 03 (set acceleration X-axis offset 0.1g),0x03E8=1000,1000/10000=0.1(g)

D0MODE~D3MODE(Port Mode Settings)

Register Name: D0MODE~D3MODE

Register Address: 14~17 (0x0E~0x11)

Read and write direction: R/W

Default: 0x0000

Bit

NAME

FUNCTION

3:0

D0MODE[3:0]

Set D0 port mode

0000(0x00): Analog input (default)

0001 (0x01): Digital input

0010 (0x02): Output digital high level

0011(0x03): Output digital low level

3:0

D1MODE[3:0]

Set D1 port mode

0000(0x00): Analog input (default)

0001(0x01): Digital input

0010(0x02): Output digital high level

0011(0x03): Output digital low level

0101(0x05): Set relative pose

3:0

D2MODE[3:0]

Set D2 port mode

0000(0x00): Analog input (default)

0001(0x01): Digital input

0010(0x02): Output digital high level

0011(0x03): Output digital low level

3:0

D3MODE[3:0]

Set D3 port mode

0000(0x00): Analog input (default)

0001(0x01): Digital input

0010(0x02): Output digital high level

0011(0x03): Output digital low level

Example: FF AA 0E 03 00 (set D0 as the output digital low level mode)

IICADDR(Device address)

Register Name: IICADDR

Register Address: 26 (0x1A)

Read and write direction: R/W

Default: 0x0050

Bit

NAME

FUNCTION

15:8

7:0

IICADDR[7:0]

Set the device address for I2C and Modbus communication

0x01~0x7F

Example:FF AA 1A 02 00(set the device address to 0x02)

LEDOFF

Register Name: LEDOFF

Register address: 27 (0x1B)

Read and write direction: R/W

Default value: 0x0000

Bit

NAME

FUNCTION

15:1

0

LEDOFF

1: Turn off the LED light

0: Turn on the LED light

Example: FF AA 1B 01 00 (turn off the LED light)

MAGRANGX~MAGRANGZ

Register Name: MAGRANGX~MAGRANGZ

Register Address: 28~30 (0x1C~0x1E)

Read and write direction: R/W

Default: 0x01F4

Bit

NAME

FUNCTION

15:0

MAGRANGX[15:0]

Magnetic field calibration X-axis range

15:0

MAGRANGY[15:0]

Magnetic Field Calibration Y-axis range

15:0

MAGRANGZ[15:0]

Magnetic field calibration Z-axis range

Example: FF AA 1C F4 01 (set the calibration X-axis range to 500)

BANDWIDTH

Register Name: BANDWIDTH

Register Address: 31 (0x1F)

Read and write direction: R/W

Default: 0x0004

Bit

NAME

FUNCTION

15:4

3:0

BANDWIDTH[3:0]

Set bandwidth

0000(0x00): 256Hz

0001(0x01): 188Hz

0010(0x02): 98Hz

0011(0x03): 42Hz

0100(0x04): 20Hz

0101(0x05): 10Hz

0110(0x06): 5Hz

Example: FF AA 1F 01 00 (set the bandwidth to 188Hz)

GYRORANGE

Register Name: GYRORANGE

Register Address: 32 (0x20)

Read and write direction: R/W

Default: 0x0003

Bit

NAME

FUNCTION

15:4

3:0

GYRORANGE[3:0]

Set the gyro range

0011(0x03): 2000°/s

The default is 2000°/s, fixed and cannot be set

Example: FF AA 20 03 00 (set the gyro range to 2000°/s)

ACCRANGE

Register Name: ACCRANGE

Register Address: 33 (0x21)

Read and write direction: R/W

Default: 0x0000

Bit

NAME

FUNCTION

15:4

3:0

ACCRANGE[3:0]

Set the accelerometer range

0000(0x00): ±2g

0011(0x03): ±16g

This parameter cannot be set. The product's internal adaptive acceleration range will automatically switch to 16g when the acceleration exceeds 2g.

Example: FF AA 21 00 00 (set the accelerometer range to 16g)

SLEEP

Register Name: SLEEP

Register Address: 34 (0x22)

Read and write direction: R/W

Default: 0x0000

Bit

NAME

FUNCTION

15:1

0

SLEEP

set hibernate

1(0x01): sleep

Any serial data to wake up

Example: FF AA 22 01 00 (go to sleep)

ORIENT(Installation direction)

Register Name: ORIENT

Register Address: 35 (0x23)

Read and write direction: R/W

Default: 0x0000

Bit

NAME

FUNCTION

15:1

0

ORIENT

Set the installation direction

0 (0x00): horizontal installation

1(0x01): Vertical installation (the Y-axis arrow of the coordinate axis must be upwards)

Example: FF AA 23 01 00 (set vertical installation)

AXIS6(Algorithm)

Register Name: AXIS6

Register Address: 36 (0x24)

Read and write direction: R/W

Default: 0x0000

Bit

NAME

FUNCTION

15:1

0

AXIS6

set algorithm

0(0x00): 9-axis algorithm (magnetic field solution heading angle, absolute heading angle)

1 (0x01): 6-axis algorithm (integral solution heading angle, relative heading angle)

Example: FF AA 24 01 00 (set 6-axis algorithm mode)

FILTK(K-value filtering)

Register Name: FILTK

Register Address: 37 (0x25)

Read and write direction: R/W

Default: 0x001E

Bit

NAME

FUNCTION

15:0

FILTK[15:0]

Range: 1~10000, default 30 (modification is not recommended)

The smaller the FILTK [15:0], the stronger the seismic performance and the weaker the real-time performance.

The larger the FILTK[15:0], the weaker the seismic performance and the stronger the real-time performance.

Example: FF AA 25 1E 00 (set K value filter to 30)

GPSBAUD(GPS Baud Rate)

Register Name: GPSBAUD

Register Address: 38 (0x26)

Read and write direction: R/W

Default: 0x0002

Bit

NAME

FUNCTION

15:4

3:0

GPSBAUD[3:0]

Set GPS baud rate:

0001(0x01): 4800bps

0010(0x02): 9600bps

0011(0x03): 19200bps

0100(0x04): 38400bps

0101(0x05): 57600bps

0110(0x06): 115200bps

0111(0x07): 230400bps

Example: FF AA 26 02 00 (set GPS baud rate 9600)

READADDR(Read registers)

Register Name: READADDR

Register Address: 39 (0x27)

Read and write direction: R/W

Default: 0x00FF

Bit

NAME

FUNCTION

15:8

7:0

READADDR[7:0]

Read register range: Please refer to "Register Table"

Example:

Send: FF AA 27 34 00 (read acceleration X axis 0x34)

Return: 55 5F AXL AXH AYL AYH AZL AZH GXL GXH SUM

For details, please refer to "Read Register Return Value" in the "Read Format" chapter

ACCFILT(Acceleration filtering)

Register Name: ACCFILT

Register Address: 42 (0x2A)

Read and write direction: R/W

Default: 0x01F4

Bit

NAME

FUNCTION

15:0

ACCFILT[15:0]

Range: 1~10000, default 500 (It is not recommended to modify, once modified, if the angle does not meet the requirements for use, please modify it to 500)

The smaller the ACCFILT [15:0], the stronger the seismic performance and the weaker the real-time performance.

The larger the ACCFILT [15:0], the weaker the seismic performance and the stronger the real-time performance.

This parameter is an empirical value and needs to be debugged according to different environments.

For example, in a tractor environment:

ACCFILT[15:0] can be adjusted to 100, the vibration of the tractor is serious, and the seismic performance needs to be improved.

Example: FF AA 2A F4 01 (set acceleration filter 500)

POWONSEND(Power-on output)

Register Name: POWONSEND

Register Address: 45 (0x2D)

Read and write direction: R/W

Default: 0x0001

Bit

NAME

FUNCTION

15:4

3:0

POWONSEND[3:0]

Set the command to start:

0000(0x00): Turn off power-on data output

0001(0x01): Turn on power-on data output

Example: FF AA 2D 00 00 (turn on power-on data output)

VERSION(Version number)

Register Name: VERSION

Register Address: 46 (0x2E)

Read and write direction: R

Default: none

Bit

NAME

FUNCTION

15:0

VERSION[15:0]

Different products, different version numbers

Example:

Send: FF AA 27 2E 00 (read version number, 0x27 means read, 0x2E is version number register)

Return:55 5F VL VH XX XX XX XX XX XX SUM

VERSION[15:0]=(short)(((short)VH<<8)|VL)

YYMM~MS(Chip time)

Register Name: YYMM~MS

Register address: 48~51 (0x30~0x33)

Read and write direction: R/W

Default: 0x0000

Bit

NAME

FUNCTION

15:8

YYMM[15:8]

Month

7:0

YYMM[7:0]

Year

15:8

DDHH[15:8]

Hour

7:0

DDHH[7:0]

Day

15:8

MMSS[15:8]

Seconds

7:0

MMSS[7:0]

Minute

15:0

MS[15:0]

Millisecond

Example:

FF AA 30 16 03 (set year 22-03)

FF AA 31 0C 09 (set hour 12-09)

FF AA 32 1E 3A (set minute seconds 30:58)

FF AA 33 F4 01 (set ms 500)

Example:

Send: FF AA 27 30 00 (read version number, 0x27 means read, 0x30 is year month register)

Return:55 5F YYMM[7:0] YYMM[15:8] DDHH[7:0] DDHH[15:8] MMSS[7:0] MMSS[15:8] MS[7:0] MS[15:8] SUM

AX~AZ(Acceleration)

Register Name: AX~AZ

Register address: 52~54 (0x34~0x36)

Read and write direction: R

Default: 0x0000

Bit

NAME

FUNCTION

15:0

AX[15:0]

Acceleration X=AX[15:0]/32768*16g (g is the acceleration of gravity, preferably 9.8m/s2)

15:0

AY[15:0]

Acceleration Y=AY[15:0]/32768*16g (g is the acceleration of gravity, preferably 9.8m/s2)

15:0

AZ[15:0]

Acceleration Z=AZ[15:0]/32768*16g (g is the acceleration of gravity, preferably 9.8m/s2)

Read 3-axis acceleration: 50 03 00 34

GX~GZ(Angular velocity)

Register Name: GX~GZ

Register address: 55~57 (0x37~0x39)

Read and write direction: R

Default: 0x0000

Bit

NAME

FUNCTION

15:0

GX[15:0]

Angular velocity X=GX[15:0]/32768*2000°/s

15:0

GY[15:0]

Angular velocity Y=GY[15:0]/32768*2000°/s

15:0

GZ[15:0]

Angular velocity Z=GZ[15:0]/32768*2000°/s

HX~HZ(Magnetic field)

Register name: HX~HZ

Register Address: 58~60 (0x3A~0x3C)

Read and write direction: R

Default: 0x0000

Bit

NAME

FUNCTION

15:0

HX[15:0]

Magnetic field X=HX[15:0] (unit: LSB)

15:0

HY[15:0]

Magnetic field Y=HY[15:0] (unit: LSB)

15:0

HZ[15:0]

Magnetic field Z=HZ[15:0] (unit: LSB)

Roll~Yaw(Angle)

Register Name: Roll~Yaw

Register address: 61~63 (0x3D~0x3F)

Read and write direction: R

Default: 0x0000

Bit

NAME

FUNCTION

15:0

Roll[15:0]

Roll X=Roll[15:0]/32768*180°

15:0

Pitch[15:0]

Pitch Y=Pitch[15:0]/32768*180°

15:0

Yaw[15:0]

Heading Z=Yaw[15:0]/32768*180°

TEMP(Temperature)

Register Name: TEMP

Register Address: 64 (0x40)

Read and write direction: R

Default: 0x0000

Bit

NAME

FUNCTION

15:0

TEMP[15:0]

Temperature=TEMP[15:0]/100℃

D0Status~D3Status(Port status)

Register Name: D0Status~D3Status

Register address: 65~68 (0x41~0x44)

Read and write direction: R

Default: 0x0000

Bit

NAME

FUNCTION

15:0

D0Status[15:0]

D0 state value

15:0

D1Status[15:0]

D1 status value

15:0

D2Status[15:0]

D2 state value

15:0

D3Status[15:0]

D3 state value

PressureL~HeightH(Air pressure altitude)

Register Name: PressureL~HeightH

Register address: 69~72 (0x45~0x48)

Read and write direction: R

Default: 0x0000

Bit

NAME

FUNCTION

15:0

PressureL[15:0]

Air pressure=((int)PressureH[15:0]<<16)|PressureL[15:0](Pa)

15:0

PressureH[15:0]

15:0

HeightL[15:0]

Altitude=((int)HeightH[15:0]<<16)|HeightL[15:0](cm)

15:0

HeightH[15:0]

LonL~LatH(Longitude and latitude)

Register Name: LonL~LatH

Register address: 73~76 (0x49~0x4C)

Read and write direction: R

Default: 0x0000

Bit

NAME

FUNCTION

15:0

LonL[15:0]

Lon[31:0]=((int)LonH[15:0]<<16)|LonL[15:0](Pa)

15:0

LonH[15:0]

15:0

LatL[15:0]

Lat[31:0]=((int)LatH[15:0]<<16)|LatL[15:0](cm)

15:0

LatH[15:0]

The NMEA8013 standard stipulates that the longitude output format of GPS is dd mm. mmmmm (dd is degrees, mm. mmmmm is minutes), and the decimal point is removed from the longitude/latitude output, so the degrees of longitude/latitude can be calculated as follows:

dd=Lon [31:0]/10000000;

dd=Let [31:0]/10000000;

Longitude/latitude fraction calculation:

mm.mmmmm= (Lon [31:0] %10000000)/100000; (% means remainder operation)

mm.mmmmm=(Lat[31:0]%10000000)/100000;(% means remainder operation)

GPSHeight~GPSVH(GPS Data)

Register Name: GPSHeight~GPSVH

Register address: 77~80 (0x4D~0x50)

Read and write direction: R

Default: 0x0000

Bit

NAME

FUNCTION

15:0

GPSHeight[15:0]

GPS Altitude=GPSHeight[15:0]/10(m)

15:0

GPSYAW[15:0]

GPS heading=GPSYAW[15:0]/100(°)

15:0

GPSVL[15:0]

GPS ground speed=(((int)GPSVH[15:0]<<16)|GPSVL[15:0])/1000(km/h)

15:0

GPSVH[15:0]

q0~q3(Quaternion)

Register name: q0~q3

Register address: 81~84 (0x51~0x54)

Read and write direction: R

Default: 0x0000

Bit

NAME

FUNCTION

15:0

q0[15:0]

Quaternion0=q0[15:0]/32768

15:0

q1[15:0]

Quaternion1=q1[15:0]/32768

15:0

q2[15:0]

Quaternion2=q2[15:0]/32768

15:0

q3[15:0]

Quaternion3=q3[15:0]/32768

SVNUM~VDOP(GPS Location Accuracy)

Register Name: SVNUM~VDOP

Register address: 85~88 (0x55~0x58)

Read and write direction: R

Default: 0x0000

Bit

NAME

FUNCTION

15:0

SVNUM[15:0]

GPS satellites=SVNUM[15:0]

15:0

PDOP[15:0]

Location longitude=PDOP[15:0]/100

15:0

HDOP[15:0]

Horizontal positioning longitude=HDOP[15:0]/100

15:0

VDOP[15:0]

Longitude of vertical positioning=VDOP[15:0]/100

DELAYT(Alarm signal delay)

Register Name: DELAYT

Register Address: 89 (0x59)

Read and write direction: R/W

Default: 0x0000

Bit

NAME

FUNCTION

15:0

DELAYT[15:0]

Unit: ms

After the angle alarm occurs, the port will generate the corresponding alarm signal. When the alarm is removed, the alarm signal will continue to DELAYT[15:0] and then disappear

Example: FF AA 59 E8 03 (set alarm signal delay 1000ms)

XMIN~XMAX(X-axis angle alarm threshold)

Register Name: XMIN~XMAX

Register address: 90~91 (0x5A~0x5B)

Read and write direction: R/W

Default: 0x0000

Bit

NAME

FUNCTION

15:0

XMIN[15:0]

Set the X-axis angle alarm minimum value

X-axis min=XMIN[15:0]*180/32768(°)

15:0

XMAX[15:0]

Set the X-axis angle alarm maximum value

X-axis max=XMAX[15:0]*180/32768(°)

Example:

FF AA 5A 72 FC (set -5 degrees), 0xFC72=-910, -910*180/32768=-5

FF AA 5B 8E 03 (set 5 degrees), 0x038E=910, 910*180/32768=5

The X axis will not alarm between -5°~5°, once it exceeds this range, an alarm will occur

BATVAL(Voltage)

Register Name: BATVAL

Register Address: 92 (0x5C)

Read and write direction: R

Default: 0x0000

Bit

NAME

FUNCTION

15:0

BATVAL[15:0]

Voltage=BATVAL[15:0]/100 ℃

ALARMPIN(Alarm pin mapping)

Register Name: ALARMPIN

Register Address: 93 (0x5D)

Read and write direction: R/W

Default: 0x4365

Bit

NAME

FUNCTION

15:12

X-ALARM[15:12]

0001(0x01): D0

0010(0x02): D1

0011(0x03): D2

0100(0x04): D3

0101(0x05): SCL

0110(0x06): SDA

11:8

X+ALARM[11:8]

0001(0x01): D0

0010(0x02): D1

0011(0x03): D2

0100(0x04): D3

0101(0x05): SCL

0110(0x06): SDA

7:4

Y-ALARM[7:4]

0001(0x01): D0

0010(0x02): D1

0011(0x03): D2

0100(0x04): D3

0101(0x05): SCL

0110(0x06): SDA

3:0

Y+ALARM[3:0]

0001(0x01): D0

0010(0x02): D1

0011(0x03): D2

0100(0x04): D3

0101(0x05): SCL

0110(0x06): SDA

Example:

Set X-alarm signal to output on D3 port

Set the X+ alarm signal to output at port D1

Set the Y-alarm signal to output on the SCL port

Set the Y+ alarm signal to output at the SCL port

Send: FF AA 5D 55 42

YMIN~YMAX(Y-axis angle alarm threshold)

Register Name: YMIN~YMAX

Register address: 94~95 (0x5E~0x5F)

Read and write direction: R/W

Default: 0x0000

Bit

NAME

FUNCTION

15:0

YMIN[15:0]

Set the Y-axis angle alarm minimum value

Y axis angle alarm minimum value=YMIN[15:0]*180/32768(°)

15:0

YMAX[15:0]

Set the Y-axis angle alarm maximum value

Y-axis angle alarm maximum value=YMAX[15:0]*180/32768(°)

Example: FF AA 5E 72 FC (set -5 degrees) ,0xFC72=-910,-910*180/32768=-5

FF AA 5F 8E 03(set 5 degrees) ,0x038E=910,910*180/32768=5

The Y axis does not alarm between -5°~5°, and an alarm occurs once it exceeds the range

GYROCALITHR(Gyro static threshold)

Register Name: GYROCALITHR

Register Address: 97 (0x61)

Read and write direction: R/W

Default: 0x0000

Bit

NAME

FUNCTION

15:0

GYROCALITHR[15:0]

Set the gyroscope static threshold:

Gyro static threshold=GYROCALITHR[15:0]/1000(°/s)

Example:Set the gyroscope static threshold to 0.05°/s

FF AA 61 32 00

When the angular velocity change is less than 0.05°/s and lasts for the time of "GYROCALTIME", the sensor recognizes that it is stationary, and automatically resets the angular velocity less than 0.05°/s to zero

The setting rule of the static threshold of the gyroscope can be determined by reading the value of the "WERROR" register. The general setting rule is: GYROCALITHR=WERROR*1.2, unit: °/s

This register needs to be used in combination with the GYROCALTIME register

ALARMLEVEL(Angle alarm level)

Register Name: ALARMLEVEL

Register Address: 98 (0x62)

Read and write direction: R/W

Default: 0x0000

Bit

NAME

FUNCTION

15:4

3:0

ALARMLEVEL[3:0]

To set the alarm level:

0000(0x00): Low level alarm (high level when not alarming, low level when alarming)

0001(0x01): High level alarm (low level when not alarming, high level when alarming)

Example: Setting a high level alarm

FF AA 62 01 00

GYROCALTIME(Gyro auto calibration time)

Register Name: GYROCALTIME

Register Address: 99 (0x63)

Read and write direction: R/W

Default: 0x03E8

Bit

NAME

FUNCTION

15:0

GYROCALTIME[15:0]

Set gyroscope auto-calibration time

Example: Set gyroscope auto-calibration time to 500ms

FF AA 63 F4 01

When the angular velocity change is less than "GYROCALITHR" and lasts for 500ms, the sensor recognizes that it is stationary and automatically resets the angular velocity less than 0.05°/s to zero.

This register needs to be used in combination with the GYROCALTIME register

TRIGTIME(Alarm continuous trigger time)

Register Name: TRIGTIME

Register Address: 104 (0x68)

Read and write direction: R/W

Default: 0x0000

Bit

NAME

FUNCTION

15:0

TRIGTIME[15:0]

Set the alarm continuous trigger time

Example: Set the alarm continuous trigger time to 500ms

FF AA 68 F4 01

When the angle alarm occurs, the alarm signal will not be output immediately, and it will only be output when it needs to last for 500ms

The register is used to filter out alarms caused by malfunctions

KEY(Unlock)

Register Name: KEY

Register Address: 105 (0x69)

Read and write direction: R/W

Default: 0x0000

Bit

NAME

FUNCTION

15:0

KEY[15:0]

Unlock register: When performing a write operation, you need to set this register first

Example: Unlock, write 0xB588 to this register (other values are invalid)

FF AA 69 88 B5

WERROR(Gyroscope change value)

Register Name: WERROR

Register Address: 106 (0x6A)

Read and write direction: R

Default: 0x0000

Bit

NAME

FUNCTION

15:0

WERROR[15:0]

Gyroscope change value=WERROR[15:0]/1000*180/3.1415926(°/s)

When the sensor is stationary, the "GYROCALITHR" register can be set by changing this register.

TIMEZONE(GPS time zone)

Register Name: TIMEZONE

Register Address: 107 (0x6B)

Read and write direction: R/W

Default: 0x0014

Bit

NAME

FUNCTION

15:8

7:0

TIMEZONE[7:0]

Set GPS time zone:

00000000(0x0000): UTC-12

00000001(0x0001): UTC-11

00000010(0x0002): UTC-10

00000011(0x0003): UTC-9

00000100(0x0004): UTC-8

00000101(0x0005): UTC-7

00000110(0x0006): UTC-6

00000111(0x0007): UTC-5

00001000(0x0008): UTC-4

00001001(0x0009): UTC-3

00001010(0x000A): UTC-2

00001011(0x000B): UTC-1

00001100(0x000C): UTC

00001101(0x000D): UTC+1

00001110(0x000E): UTC+2

00001111(0x000F): UTC+3

00010000(0x0010): UTC+4

00010001(0x0011): UTC+5

00010010(0x0012): UTC+6

00010011(0x0013): UTC+7

00010100(0x0014): UTC+8(Default east 8th district)

00010101(0x0015): UTC+9

00010110(0x0016): UTC+10

00010111(0x0017): UTC+11

00011000(0x0018): UTC+12

Example: FF AA 6B 15 00 (set GPS time zone to East 9)

WZTIME(Angular velocity continuous stationary time)

Register Name: WZTIME

Register Address: 110 (0x6E)

Read and write direction: R/W

Default: 0x01F4

Bit

NAME

FUNCTION

15:0

WZTIME[15:0]

Angular velocity continuous rest time

Example: Set the angular velocity continuous static time to 500ms

FF AA 6E F4 01

When the angular velocity is less than "WZSTATIC" for 500ms, the angular velocity output is 0, and the Z-axis heading angle is not integrated

This register needs to be used in combination with the "WZSTATIC" register.

WZSTATIC(Angular velocity integration threshold)

Register Name: WZSTATIC

Register Address: 111 (0x6F)

Read and write direction: R/W

Default: 0x012C

Bit

NAME

FUNCTION

15:0

WZSTATIC[15:0]

Angular velocity integral threshold=WZSTATIC[15:0]/1000(°/s)

Example: Set the angular velocity integral threshold to 0.5°/s

FF AA 6F F4 01

When the angular velocity is greater than 0.5°/s, the Z axis heading angle begins to integrate the acceleration

When the angular velocity is less than 0.5°/s, and the duration set by the register "WZTIME" is continued, then the angular velocity output is 0, and the Z-axis heading angle is not integrated

This register needs to be used in combination with the "WZTIME" register

MODDELAY(485 Data reply delay)

Register Name: MODDELAY

Register Address: 116 (0x74)

Read and write direction: R/W

Default: 0x0BB8

Bit

NAME

FUNCTION

15:0

MODDELAY[15:0]

Set 485 data response delay, default 3000, unit: us

Example: Set 485 data response delay to 1000us

FFAA 74 E8 03

When the sensor receives the Mod bus read command, the sensor delays 1000us and returns the data

This register only supports Modbus version sensors

XREFROLL~YREFPITCH(Angle zero reference)

Register Name: XREFROLL~YREFPITCH

Register address: 121~122 (0x79~0x7A)

Read and write direction: R/W

Default: 0x00000

Bit

NAME

FUNCTION

15:0

XREFROLL[15:0]

Roll angle zero reference =XREFROLL[15:0]/32768*180(°)

15:0

YREFPITCH[15:0]

Pitch angle zero reference =YREFPITCH[15:0]/32768*180(°)

Example: The current roll angle is 2°, set the zero position of the roll angle, and subtract 2°, then

XREFROLL [15:0] =2*32768/180=364=0x016C

FF AA 79 6C 01

NUMBERID1~NUMBERID6(Device No.)

Register Name: NUMBERID1~NUMBERID6

Register address: 127~132 (0x7F~0x84)

Read and write direction: R

Default: none

Bit

NAME

FUNCTION

15:0

NUMBERID1[15:0]

15:0

NUMBERID2[15:0]

15:0

NUMBERID3[15:0]

15:0

NUMBERID4[15:0]

15:0

NUMBERID5[15:0]

15:0

NUMBERID6[15:0]

Device number:WT4200000001

Last updated