- CRC checking now works
#story[782]
main
Fan-Wu Yang 9 years ago
parent c95f5377f6
commit 760f1ed5a9

@ -49,11 +49,13 @@ public class BinaryMessageDecoder {
//get crc //get crc
this.crc = Arrays.copyOfRange(this.fullMessage, this.fullMessage.length - 4, fullMessage.length); this.crc = Arrays.copyOfRange(this.fullMessage, this.fullMessage.length - 4, fullMessage.length);
ByteBuffer bytes = ByteBuffer.allocate(this.header.length + this.message.length);
bytes.put(this.header);
bytes.put(this.message);
CRC32 crc = new CRC32(); CRC32 crc = new CRC32();
crc.reset(); crc.reset();
crc.update(this.fullMessage); crc.update(bytes.array(), 0, bytes.array().length);
//run through the checks //run through the checks
if (this.message.length != ByteConverter.bytesToShort(this.headerMessageLength)){//keep like this - hba65 if (this.message.length != ByteConverter.bytesToShort(this.headerMessageLength)){//keep like this - hba65
@ -67,11 +69,11 @@ public class BinaryMessageDecoder {
}else if(this.headerSync2 !=(byte) 0x83){ }else if(this.headerSync2 !=(byte) 0x83){
System.err.println("Sync byte 2 is wrong: " + this.headerSync2); System.err.println("Sync byte 2 is wrong: " + this.headerSync2);
return null; return null;
}/*else if(crc.getValue() != 0){ }else if(crc.getValue() != ByteConverter.bytesToLong(this.crc)){
//todo check crc //todo check crc
System.err.println("CRC is not 0 and is instead:" + crc.getValue()); System.err.println("CRC is not "+ByteConverter.bytesToLong(this.crc)+" and is instead:" + crc.getValue());
return; return null;
}*/ }
MessageType mType = MessageType.valueOf(this.headerMessageType); MessageType mType = MessageType.valueOf(this.headerMessageType);
AC35Data data = null; AC35Data data = null;

@ -14,6 +14,8 @@ import java.nio.file.Path;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.zip.CRC32;
import java.util.zip.Checksum;
/** /**
* Created by fwy13 on 25/04/17. * Created by fwy13 on 25/04/17.

Loading…
Cancel
Save