/* 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 SERIAL_CONTROL 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; /** * Control a serial port. This can be used for raw access to an onboard serial peripheral such as a GPS or telemetry radio. It is designed to make it possible to update the devices firmware via MAVLink messages or change the devices settings. A message with zero bytes can be used to change just the baudrate. */ public class msg_serial_control_test{ public static final int MAVLINK_MSG_ID_SERIAL_CONTROL = 126; public static final int MAVLINK_MSG_LENGTH = 79; private static final long serialVersionUID = MAVLINK_MSG_ID_SERIAL_CONTROL; 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_SERIAL_CONTROL); 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_SERIAL_CONTROL); //msg id payload.putInt((int)963497464); //baudrate payload.putShort((short)17443); //timeout payload.put((byte)151); //device payload.put((byte)218); //flags payload.put((byte)29); //count //data payload.put((byte)96); payload.put((byte)97); payload.put((byte)98); payload.put((byte)99); payload.put((byte)100); payload.put((byte)101); payload.put((byte)102); payload.put((byte)103); payload.put((byte)104); payload.put((byte)105); payload.put((byte)106); payload.put((byte)107); payload.put((byte)108); payload.put((byte)109); payload.put((byte)110); payload.put((byte)111); payload.put((byte)112); payload.put((byte)113); payload.put((byte)114); payload.put((byte)115); payload.put((byte)116); payload.put((byte)117); payload.put((byte)118); payload.put((byte)119); payload.put((byte)120); payload.put((byte)121); payload.put((byte)122); payload.put((byte)123); payload.put((byte)124); payload.put((byte)125); payload.put((byte)126); payload.put((byte)127); payload.put((byte)128); payload.put((byte)129); payload.put((byte)130); payload.put((byte)131); payload.put((byte)132); payload.put((byte)133); payload.put((byte)134); payload.put((byte)135); payload.put((byte)136); payload.put((byte)137); payload.put((byte)138); payload.put((byte)139); payload.put((byte)140); payload.put((byte)141); payload.put((byte)142); payload.put((byte)143); payload.put((byte)144); payload.put((byte)145); payload.put((byte)146); payload.put((byte)147); payload.put((byte)148); payload.put((byte)149); payload.put((byte)150); payload.put((byte)151); payload.put((byte)152); payload.put((byte)153); payload.put((byte)154); payload.put((byte)155); payload.put((byte)156); payload.put((byte)157); payload.put((byte)158); payload.put((byte)159); payload.put((byte)160); payload.put((byte)161); payload.put((byte)162); payload.put((byte)163); payload.put((byte)164); payload.put((byte)165); 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_serial_control", processedPacket, packet); } }