/* 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 HIL_STATE_QUATERNION 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; /** * Sent from simulation to autopilot, avoids in contrast to HIL_STATE singularities. This packet is useful for high throughput applications such as hardware in the loop simulations. */ public class msg_hil_state_quaternion_test{ public static final int MAVLINK_MSG_ID_HIL_STATE_QUATERNION = 115; public static final int MAVLINK_MSG_LENGTH = 64; private static final long serialVersionUID = MAVLINK_MSG_ID_HIL_STATE_QUATERNION; 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_HIL_STATE_QUATERNION); 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_HIL_STATE_QUATERNION); //msg id payload.putLong((long)93372036854775807L); //time_usec //attitude_quaternion payload.putFloat((float)73.0); payload.putFloat((float)74.0); payload.putFloat((float)75.0); payload.putFloat((float)76.0); payload.putFloat((float)185.0); //rollspeed payload.putFloat((float)213.0); //pitchspeed payload.putFloat((float)241.0); //yawspeed payload.putInt((int)963499336); //lat payload.putInt((int)963499544); //lon payload.putInt((int)963499752); //alt payload.putShort((short)19731); //vx payload.putShort((short)19835); //vy payload.putShort((short)19939); //vz payload.putShort((short)20043); //ind_airspeed payload.putShort((short)20147); //true_airspeed payload.putShort((short)20251); //xacc payload.putShort((short)20355); //yacc payload.putShort((short)20459); //zacc 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_hil_state_quaternion", processedPacket, packet); } }