You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.1 KiB
57 lines
2.1 KiB
package network.MessageDecoders;
|
|
|
|
|
|
import network.Messages.AverageWind;
|
|
import network.Utils.ByteConverter;
|
|
|
|
import java.util.Arrays;
|
|
|
|
/**
|
|
* Created by hba56 on 23/04/17.
|
|
*/
|
|
public class AverageWindDecoder {
|
|
byte messageVersionNumber;
|
|
byte[] byteTime;
|
|
byte[] byteRawPeriod;
|
|
byte[] byteRawSpeed;
|
|
byte[] bytePeriod2;
|
|
byte[] byteSpeed2;
|
|
byte[] bytePeriod3;
|
|
byte[] byteSpeed3;
|
|
byte[] bytePeriod4;
|
|
byte[] byteSpeed4;
|
|
|
|
AverageWind averageWind;
|
|
|
|
public AverageWindDecoder(byte[] encodedAverageWind) {
|
|
messageVersionNumber = encodedAverageWind[0];
|
|
byteTime = Arrays.copyOfRange(encodedAverageWind, 1, 7);
|
|
byteRawPeriod = Arrays.copyOfRange(encodedAverageWind, 7, 9);
|
|
byteRawSpeed = Arrays.copyOfRange(encodedAverageWind, 9, 11);
|
|
bytePeriod2 = Arrays.copyOfRange(encodedAverageWind, 11, 13);
|
|
byteSpeed2 = Arrays.copyOfRange(encodedAverageWind, 13, 15);
|
|
bytePeriod3 = Arrays.copyOfRange(encodedAverageWind, 15, 17);
|
|
byteSpeed3 = Arrays.copyOfRange(encodedAverageWind, 17, 19);
|
|
bytePeriod4 = Arrays.copyOfRange(encodedAverageWind, 19, 21);
|
|
byteSpeed4 = Arrays.copyOfRange(encodedAverageWind, 21, 23);
|
|
|
|
int msgNum = ByteConverter.bytesToInt(messageVersionNumber);
|
|
long lngTime = ByteConverter.bytesToLong(byteTime);
|
|
int intRawPeriod = ByteConverter.bytesToInt(byteRawPeriod);
|
|
int intRawSpeed = ByteConverter.bytesToInt(byteRawSpeed);
|
|
int intPeriod2 = ByteConverter.bytesToInt(bytePeriod2);
|
|
int intSpeed2 = ByteConverter.bytesToInt(byteSpeed2);
|
|
int intPeriod3 = ByteConverter.bytesToInt(bytePeriod3);
|
|
int intSpeed3 = ByteConverter.bytesToInt(byteSpeed3);
|
|
int intPeriod4 = ByteConverter.bytesToInt(bytePeriod4);
|
|
int intSpeed4 = ByteConverter.bytesToInt(byteSpeed4);
|
|
|
|
this.averageWind = new AverageWind(msgNum, lngTime, intRawPeriod, intRawSpeed, intPeriod2, intSpeed2, intPeriod3, intSpeed3, intPeriod4, intSpeed4);
|
|
|
|
}
|
|
|
|
public AverageWind getAverageWind() {
|
|
return averageWind;
|
|
}
|
|
}
|