ACEINNA protocol data format definition

Start 1 Start 2 Frame type 1 Frame type 2 Data length 1 Data content Check 1 Check 2

Description:

  • Start: Each frame of data starts with this, 2 bytes: 0x55 0x55.
  • Frame type: 2 bytes, high byte first.
  • Data length: 1 byte, refers to the byte length of the data content.
  • Data content: maximum 255 bytes.
  • Check: crc16 check, 2 bytes, low byte first, bytes from the beginning of the “Frame type” to the end of the “Data content” are included in the check calculation, and the check algorithm C code is as follows:
uint16_t CalculateCRC (uint8_t *buf, uint16_t  length)
{
   uint16_t crc = 0x1D0F;

   for (int i=0; i < length; i++) {
       crc ^= buf[i] << 8;
       for (int j=0; j<8; j++) {
           if (crc & 0x8000) {
               crc = (crc << 1) ^ 0x1021;
           }
           else {
               crc = crc << 1;
           }
       }
   }

   return ((crc << 8 ) & 0xFF00) | ((crc >> 8) & 0xFF);
}

USER UART Data Packet

Get the hardware version number

Get the software version number

Get user parameters

Frame type “gA”
Description Obtain all user parameters.
Request frame Start Frame type Data length Data comment Check
0x55 0x55 0x70 0x41 0 None CRC_L CRC_H
Return frame Start Frame type Data length Data content Check
0x55 0x55 0x70 0x41   see below CRC_L CRC_H
Data content:
Offset Variable type Name Unit Description
0 uint16 dataCRC   check: CRC16 check of all parameters, including length
2 uint16 dataSize   length: length of all parameters, including length and parity
4 char * 2 userPacketType[2]   UART data: currently only “s1”
6 uint16 userPacketRate Hz UART data frequency
8 float leverArmBx m lever arm x, lever arm y, lever arm z: the offset from the IMU navigation center to the GNSS antenna phase center
12 float leverArmBy m
16 float leverArmBz m
20 float pointOfInterestBx m User lever arm x, user lever arm also y , user lever arm z: the offset from the IMU navigation center to the user-defined point.
24 float pointOfInterestBy m
28 float pointOfInterestBz m
32 float rotationRbvx deg Rotation x, rotation y, rotation z: the rotation angle from the IMU coordinate system to the vehicle coordinate system .
36 float rotationRbvy deg
40 float rotationRbvz deg
44 uint8 ethMode   Ethernet mode: 0: DHCP 1: static IP
45 uint8 * 4 staticIp[4]   Static IP: ipv4
49 uint8 * 4 netmask[4]   subnet mask
53 uint8 * 4 gateway[4]   gateway
57 uint8 * 6 mac[6]   Mac address
63 char * 23 ip[23]   NTRIP service IP: it can be an IP address or a domain name
86 uint16 port   NTRIP port
88 char * 20 mountPoint[20]   NTRIP mount point: the software defaults to adding “/” in front
108 char * 16 username[16]   NTRIP username
124 char * 24 password[24]   NTRIP password
148 uint16 can_ecu_address   Can password
150 uint16 can_baudrate   Can baud rate: 250K, 500K, 1000K
152 uint16 can_packet_type   Can packet
154 uint16 can_packet_rate   Can data frequency: 50Hz, 100Hz, 200Hz
156 uint16 can_termresistor   Can terminal resistance: 0: Disable 1: Enable
158 uint16 can_baudrate_detect   Can automatic baud rate: 0: Disable 1: Enable

Set user parameters

Save user parameters

Frame type “sC”
Description Save user parameters
Request frame Start Frame type Data length Data comment Check
0x55 0x55 0x73 0x43 0 None CRC_L CRC_H
Return frame Start Frame type Data length Data content Check
0x55 0x55 0x73 0x43 0 None CRC_L CRC_H
If saving is successful, return as it is; if saving fails, return NAK frame

Failed frame

Frame type 0x15 0x15
Description NAK frame
Request frame Start Frame type Data length Data comment Check
0x55 0x55 0x15 0x15 2 Failed frame type CRC_L CRC_H

IMU raw data packet

Frame type “s1”
Description IMU raw data
Data Frame Start Frame type Data length Data comment Check
0x55 0x55 0x73 0x31 36 see below CRC_L CRC_H
Data content:
Offset Variable type Name Unit Description
0 uint32 week   GPS week, seconds within GPS week: GPS time
4 double timeOfWeek s
12 float * 3 accel_g[3] m/s^2 accelerometer(x,y,z)
24 float * 3 rate_dps[3] deg/s gyroscope (x,y,z)

Combined solution PVA packet

Frame type “pS”
Description position, speed, attitude
Data Frame Start Frame type Data length Data comment Check
0x55 0x55 0x70 0x53 124 see below CRC_L CRC_H
Data content:
Offset Variable type Name Unit Description
0 uint32 week   GPS week, seconds within GPS week: GPS time, accurate to milliseconds within a week
4 double timeOfWeek s
12 uint32 positionMode   positionMode Positioning mode:0:Invalid 1: Single point solution 4: Fixed solution 5: Floating point solution
16 double latitude deg latitude
24 double longitude deg longitude
32 double height m height
40 uint32 numberOfSVs   Number of satellites
44 float hdop   horizontal component precision factor
48 float differential_age s differential time difference
52 uint32 vel_mode   Speed ​​mode: 0: Invalid 1: Doppler 2: Pure INS calculation
56 uint32 insStatus   Inertial navigation status: 0: invalid 1: INS is in alignment 2: INS solution is not reliable 3: INS solution is good 4: Pure INS solution (no GNSS update)
60 uint32 insPositionType   Inertial navigation positioning type:0: Invalid 1: Pseudo-range single point positioning/INS combination 4:RTK fixed solution/IN combination 5:RTK floating point
64 float north_vel m/s speed (north)
68 float east_vel m/s speed (east)
72 float up_vel m/s speed (up)
76 float roll deg roll angle
80 float pitch deg pitch angle
84 float heading deg yaw angle
88 float latitude_std   Latitude standard deviation
92 float longitude_std   Longitude standard deviation
96 float height_std   Height standard deviation
100 float north_vel_std   Speed ​​(north) standard deviation
104 float east_vel_std   Speed ​​(East) standard deviation
108 float up_vel_std   Speed ​​(up) standard deviation
112 float roll_std   roll angle standard deviation
116 float pitch_std   pitch angle standard deviation
120 float heading_std   yaw angle standard deviation

Satellite information for positioning solution

Frame type “sK”
Description Satellite information
Data Frame Start Frame type Data length Data comment Check
0x55 0x55 0x73 0x4B 21*n see below CRC_L CRC_H
Data content: a frame of data contains multiple satellite information n
Offset Variable type Name Unit Description
0+n*21 double timeOfWeek s GPS week, seconds within GPS week: accurate to milliseconds within a week
8+n*21 uint8 satelliteId   atellite number
9+n*21 uint8 systemId   system number: 0: GPS 1: GLONASS 2: Galileo 3: QZSS 4: BeiDou 5: SBAS
10+n*21 uint8 antennaId   antenna number: 0: Main antenna 1: Secondary antenna
11+n*21 uint8 l1cn0   S/N ratio 1: L1
12+n*21 uint8 l2cn0   S/N ratio 2: L2 / L5
13+n*21 float azimuth deg azimuth
17+n*21 float elevation m height