Overview¶
What is RTKlib¶
RTKLIB is an open source program package for standard and precise positioning with GNSS (global navigation satellite system). It supports standard and precise positioning algorithms with GPS, GLONASS, Galileo, QZSS, BeiDou and SBAS.
RTKlib tools supporting Aceinna Format¶
RTKlib tools supporting Aceinna Format is s special version of RTKlib which supports aceinna data format to display data, decode data, save data, and also plotting and RTK processing.
RTKLIB_with Aceinna format binary version: https://github.com/Aceinna/rtklib_bin_aceinna
RTKLIB_with Aceinna format_source version: https://github.com/Aceinna/rtklib_aceinna
Aceinna data format¶
Aceinna-user and aceinna-raw are two data formats exported from Openrtk330LI; They are output from serial port 1 and serial port 3 of Openrtk330LI; Aceinna-user data include imu raw data, rtk and ins solution; Aceinna-raw includes rover, base RTCM data and imu raw data.
Aceinna-User Format¶
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);
}
Frame types
Aceinna-user has five types of data, namely “S1”, “G1”, “I1”, “O1” and “Y1”; For the specific structure of each type of format, please refer to the openrtk documentation: https://openrtk.readthedocs.io/en/latest/communication_port/User_uart.html#imu-raw-data-packet
Aceinna-raw Format¶
Aceianna-raw is composed of four format types of $GPGGA,$GPIMU,$GPROV,$GPREF;
$GPGGA
$GPGGA is the standard NMEA GGA format.
$GPIMU
$GPIMU is the IMU information in NMEA format.
$GPIMU time of week accel-x accel-y accel-z gyro-x gyro-y gyro-z
$GPROV
$GPROV contains the RTCM package from Rover.
$GPROV time of week left length RTCM bin
$GPREF
$GPREF contains the RTCM package from Base.
$GPRRF time of week left length RTCM bin