From 0d8f2af5ea9bafeec92a54d10b190165fa0b5d91 Mon Sep 17 00:00:00 2001 From: AuroraRAS Date: Sun, 2 May 2021 01:36:22 +0800 Subject: Add mavlink2 protocol support Mavlink2 is a common protocol for unmanned vehicles and flight controllers like Pixhawk devices. --- .../protocol/Mavlink2ProtocolDecoderTest.java | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/test/java/org/traccar/protocol/Mavlink2ProtocolDecoderTest.java (limited to 'src/test/java/org') diff --git a/src/test/java/org/traccar/protocol/Mavlink2ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Mavlink2ProtocolDecoderTest.java new file mode 100644 index 000000000..2f824b603 --- /dev/null +++ b/src/test/java/org/traccar/protocol/Mavlink2ProtocolDecoderTest.java @@ -0,0 +1,56 @@ +package org.traccar.protocol; + +import org.junit.Test; +import org.traccar.ProtocolTest; + +public class Mavlink2ProtocolDecoderTest extends ProtocolTest { + + @Test + public void testDecode() throws Exception { + + var decoder = new Mavlink2ProtocolDecoder(null); + + byte[] pkt = { + // Packet start marker + (byte) 0xfd, + // Payload length + (byte) 0x1c, + // Incompatibility Flags + (byte) 0x00, + // Compatibility Flags + (byte) 0x00, + // Packet sequence + (byte) 0x74, + // System ID (sender) + (byte) 0x01, + // Component ID (sender) + (byte) 0x01, + // Message ID (low, middle, high bytes) + (byte) 0x21, (byte) 0x00, (byte) 0x00, + // Payload Message data + // Timestamp (time since system boot). + (byte) 0xcc, (byte) 0xae, (byte) 0x08, (byte) 0x00, + // degE7 Latitude + (byte) 0x40, (byte) 0x05, (byte) 0xd3, (byte) 0x23, + // degE7 Longitude + (byte) 0xb8, (byte) 0x9a, (byte) 0xa3, (byte) 0x0e, + // mm Altitude (MSL) + (byte) 0x2e, (byte) 0xd0, (byte) 0x06, (byte) 0x00, + // mm Altitude above ground + (byte) 0x67, (byte) 0x00, (byte) 0x00, (byte) 0x00, + // cm/s Ground X Speed + (byte) 0x8b, (byte) 0xff, + // cm/s Ground Y Speed + (byte) 0x05, (byte) 0x00, + // cm/s Ground Z Speed + (byte) 0x03, (byte) 0x00, + // cdeg Vehicle heading (yaw angle) + (byte) 0x4f, (byte) 0x2d, + // Checksum (low byte, high byte) + (byte) 0x00, (byte) 0x00 + }; + verifyPosition(decoder, pkt); + + } + +} -- cgit v1.2.3