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