diff --git a/src/main/java/seng302/Networking/MessageDecoders/BoatLocationDecoder.java b/src/main/java/seng302/Networking/MessageDecoders/BoatLocationDecoder.java new file mode 100644 index 00000000..1b55cab8 --- /dev/null +++ b/src/main/java/seng302/Networking/MessageDecoders/BoatLocationDecoder.java @@ -0,0 +1,28 @@ +package seng302.Networking.MessageDecoders; + +/** + * Created by hba56 on 21/04/17. + */ +public class BoatLocationDecoder { + int messageVersionNumber; + byte[] time; + byte[] sourceID; + byte[] seqNum; + byte[] deviceType; + byte[] latitude; + byte[] longitude; + byte[] altitude; + byte[] heading; + byte[] pitch; + byte[] roll; + byte[] boatSpeed; + byte[] cog; + byte[] sog; + byte[] apparentWindSpeed; + byte[] apparentWindAngle; + byte[] trueWindSpeed; + byte[] trueWindAngle; + byte[] currentDrift; + byte[] currentSet; + byte[] rudderAngle; +} diff --git a/src/main/java/seng302/Networking/MessageDecoders/RaceStartStatus.java b/src/main/java/seng302/Networking/MessageDecoders/RaceStartStatus.java new file mode 100644 index 00000000..b1f893c2 --- /dev/null +++ b/src/main/java/seng302/Networking/MessageDecoders/RaceStartStatus.java @@ -0,0 +1,25 @@ +package seng302.Networking.MessageDecoders; + +import java.util.Arrays; + +/** + * Created by hba56 on 21/04/17. + */ +public class RaceStartStatus { + byte messageVersion; + byte[] timestamp; + byte[] ackNumber; + byte[] raceStartTime; + byte[] raceIdentifier; + byte notificationType; + + public RaceStartStatus(byte[] encodedRaceStartStatus) { + messageVersion = encodedRaceStartStatus[0]; + timestamp = Arrays.copyOfRange(encodedRaceStartStatus, 1, 7); + ackNumber = Arrays.copyOfRange(encodedRaceStartStatus, 7, 9); + raceStartTime = Arrays.copyOfRange(encodedRaceStartStatus, 9, 15); + raceIdentifier = Arrays.copyOfRange(encodedRaceStartStatus, 15, 19); + notificationType = encodedRaceStartStatus[19]; + + } +} diff --git a/src/main/java/seng302/Networking/MessageDecoders/RaceStatusDecoder.java b/src/main/java/seng302/Networking/MessageDecoders/RaceStatusDecoder.java new file mode 100644 index 00000000..9bce1218 --- /dev/null +++ b/src/main/java/seng302/Networking/MessageDecoders/RaceStatusDecoder.java @@ -0,0 +1,31 @@ +package seng302.Networking.MessageDecoders; + +import java.util.Arrays; + +/** + * Created by hba56 on 21/04/17. + */ +public class RaceStatusDecoder { + byte versionNum; + byte[] timeBytes; + byte[] raceID; + byte raceStatus; + byte[] expectedStart; + byte[] raceWind; + byte[] windSpeed; + byte numBoats; + byte[] bytesRaceType; + + public RaceStatusDecoder(byte[] encodedRaceStatus){ + versionNum = encodedRaceStatus[0]; + timeBytes = Arrays.copyOfRange(encodedRaceStatus, 1, 7); + raceID = Arrays.copyOfRange(encodedRaceStatus, 7, 11); + raceStatus = encodedRaceStatus[12]; + expectedStart = Arrays.copyOfRange(encodedRaceStatus, 13, 19); + raceWind = Arrays.copyOfRange(encodedRaceStatus, 19, 21); + windSpeed = Arrays.copyOfRange(encodedRaceStatus, 21, 23); + numBoats = encodedRaceStatus[23]; + bytesRaceType = Arrays.copyOfRange(encodedRaceStatus, 24, 24+20*this.numBoats); + } + +} diff --git a/src/main/java/seng302/Networking/XMLMessageDecoder.java b/src/main/java/seng302/Networking/MessageDecoders/XMLMessageDecoder.java similarity index 98% rename from src/main/java/seng302/Networking/XMLMessageDecoder.java rename to src/main/java/seng302/Networking/MessageDecoders/XMLMessageDecoder.java index 1a5ebd1d..a361ca50 100644 --- a/src/main/java/seng302/Networking/XMLMessageDecoder.java +++ b/src/main/java/seng302/Networking/MessageDecoders/XMLMessageDecoder.java @@ -1,4 +1,4 @@ -package seng302.Networking; +package seng302.Networking.MessageDecoders; import java.nio.ByteBuffer; import java.nio.ByteOrder; diff --git a/src/test/java/BinaryMessageDecoderTest.java b/src/test/java/BinaryMessageDecoderTest.java index 2c497677..ff073947 100644 --- a/src/test/java/BinaryMessageDecoderTest.java +++ b/src/test/java/BinaryMessageDecoderTest.java @@ -1,6 +1,7 @@ import org.junit.Assert; import org.junit.Test; import seng302.Networking.*; +import seng302.Networking.MessageDecoders.XMLMessageDecoder; import java.io.BufferedReader; import java.io.IOException; diff --git a/src/test/java/XMLMessageDecoderTest.java b/src/test/java/XMLMessageDecoderTest.java index b2204633..33d2d839 100644 --- a/src/test/java/XMLMessageDecoderTest.java +++ b/src/test/java/XMLMessageDecoderTest.java @@ -1,6 +1,6 @@ import org.junit.Assert; import org.junit.Test; -import seng302.Networking.XMLMessageDecoder; +import seng302.Networking.MessageDecoders.XMLMessageDecoder; import seng302.Networking.XMLMessageEncoder; import java.io.BufferedReader;