/* 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 LOCAL_POSITION_NED_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 local position (e.g. fused computer vision and accelerometers). Coordinate frame is right-handed, Z-axis down (aeronautical frame, NED / north-east-down convention) */ public class msg_local_position_ned_cov_test{ public static final int MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV = 64; public static final int MAVLINK_MSG_LENGTH = 229; private static final long serialVersionUID = MAVLINK_MSG_ID_LOCAL_POSITION_NED_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_LOCAL_POSITION_NED_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_LOCAL_POSITION_NED_COV); //msg id payload.putLong((long)93372036854775807L); //time_utc payload.putInt((int)963497880); //time_boot_ms payload.putFloat((float)101.0); //x payload.putFloat((float)129.0); //y payload.putFloat((float)157.0); //z payload.putFloat((float)185.0); //vx payload.putFloat((float)213.0); //vy payload.putFloat((float)241.0); //vz payload.putFloat((float)269.0); //ax payload.putFloat((float)297.0); //ay payload.putFloat((float)325.0); //az //covariance payload.putFloat((float)353.0); payload.putFloat((float)354.0); payload.putFloat((float)355.0); payload.putFloat((float)356.0); payload.putFloat((float)357.0); payload.putFloat((float)358.0); payload.putFloat((float)359.0); payload.putFloat((float)360.0); payload.putFloat((float)361.0); payload.putFloat((float)362.0); payload.putFloat((float)363.0); payload.putFloat((float)364.0); payload.putFloat((float)365.0); payload.putFloat((float)366.0); payload.putFloat((float)367.0); payload.putFloat((float)368.0); payload.putFloat((float)369.0); payload.putFloat((float)370.0); payload.putFloat((float)371.0); payload.putFloat((float)372.0); payload.putFloat((float)373.0); payload.putFloat((float)374.0); payload.putFloat((float)375.0); payload.putFloat((float)376.0); payload.putFloat((float)377.0); payload.putFloat((float)378.0); payload.putFloat((float)379.0); payload.putFloat((float)380.0); payload.putFloat((float)381.0); payload.putFloat((float)382.0); payload.putFloat((float)383.0); payload.putFloat((float)384.0); payload.putFloat((float)385.0); payload.putFloat((float)386.0); payload.putFloat((float)387.0); payload.putFloat((float)388.0); payload.putFloat((float)389.0); payload.putFloat((float)390.0); payload.putFloat((float)391.0); payload.putFloat((float)392.0); payload.putFloat((float)393.0); payload.putFloat((float)394.0); payload.putFloat((float)395.0); payload.putFloat((float)396.0); payload.putFloat((float)397.0); payload.put((byte)177); //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_local_position_ned_cov", processedPacket, packet); } }