/* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * java mavlink generator tool. It should not be modified by hand. */ // MESSAGE GLOBAL_POSITION_INT_COV PACKING package com.MAVLink.common; import com.MAVLink.MAVLinkPacket; import com.MAVLink.Parser; import com.MAVLink.ardupilotmega.CRC; import java.nio.ByteBuffer; import org.junit.Test; import static org.junit.Assert.assertArrayEquals; /** * The filtered global position (e.g. fused GPS and accelerometers). The position is in GPS-frame (right-handed, Z-up). It is designed as scaled integer message since the resolution of float is not sufficient. NOTE: This message is intended for onboard networks / companion computers and higher-bandwidth links and optimized for accuracy and completeness. Please use the GLOBAL_POSITION_INT message for a minimal subset. */ public class msg_global_position_int_cov_test{ public static final int MAVLINK_MSG_ID_GLOBAL_POSITION_INT_COV = 63; public static final int MAVLINK_MSG_LENGTH = 185; private static final long serialVersionUID = MAVLINK_MSG_ID_GLOBAL_POSITION_INT_COV; private Parser parser = new Parser(); public CRC generateCRC(byte[] packet){ CRC crc = new CRC(); for (int i = 1; i < packet.length - 2; i++) { crc.update_checksum(packet[i] & 0xFF); } crc.finish_checksum(MAVLINK_MSG_ID_GLOBAL_POSITION_INT_COV); return crc; } public byte[] generateTestPacket(){ ByteBuffer payload = ByteBuffer.allocate(6 + MAVLINK_MSG_LENGTH + 2); payload.put((byte)MAVLinkPacket.MAVLINK_STX); //stx payload.put((byte)MAVLINK_MSG_LENGTH); //len payload.put((byte)0); //seq payload.put((byte)255); //sysid payload.put((byte)190); //comp id payload.put((byte)MAVLINK_MSG_ID_GLOBAL_POSITION_INT_COV); //msg id payload.putLong((long)93372036854775807L); //time_utc payload.putInt((int)963497880); //time_boot_ms payload.putInt((int)963498088); //lat payload.putInt((int)963498296); //lon payload.putInt((int)963498504); //alt payload.putInt((int)963498712); //relative_alt payload.putFloat((float)213.0); //vx payload.putFloat((float)241.0); //vy payload.putFloat((float)269.0); //vz //covariance payload.putFloat((float)297.0); payload.putFloat((float)298.0); payload.putFloat((float)299.0); payload.putFloat((float)300.0); payload.putFloat((float)301.0); payload.putFloat((float)302.0); payload.putFloat((float)303.0); payload.putFloat((float)304.0); payload.putFloat((float)305.0); payload.putFloat((float)306.0); payload.putFloat((float)307.0); payload.putFloat((float)308.0); payload.putFloat((float)309.0); payload.putFloat((float)310.0); payload.putFloat((float)311.0); payload.putFloat((float)312.0); payload.putFloat((float)313.0); payload.putFloat((float)314.0); payload.putFloat((float)315.0); payload.putFloat((float)316.0); payload.putFloat((float)317.0); payload.putFloat((float)318.0); payload.putFloat((float)319.0); payload.putFloat((float)320.0); payload.putFloat((float)321.0); payload.putFloat((float)322.0); payload.putFloat((float)323.0); payload.putFloat((float)324.0); payload.putFloat((float)325.0); payload.putFloat((float)326.0); payload.putFloat((float)327.0); payload.putFloat((float)328.0); payload.putFloat((float)329.0); payload.putFloat((float)330.0); payload.putFloat((float)331.0); payload.putFloat((float)332.0); payload.put((byte)45); //estimator_type CRC crc = generateCRC(payload.array()); payload.put((byte)crc.getLSB()); payload.put((byte)crc.getMSB()); return payload.array(); } @Test public void test(){ byte[] packet = generateTestPacket(); for(int i = 0; i < packet.length - 1; i++){ parser.mavlink_parse_char(packet[i] & 0xFF); } MAVLinkPacket m = parser.mavlink_parse_char(packet[packet.length - 1] & 0xFF); byte[] processedPacket = m.encodePacket(); assertArrayEquals("msg_global_position_int_cov", processedPacket, packet); } }