From 4f3cd9dae285cfbd0ff541911381c08f50b59435 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Mon, 12 Mar 2018 04:56:12 +1300 Subject: Implement Castelcom fuel cut commands --- .../protocol/CastelProtocolEncoderTest.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 test/org/traccar/protocol/CastelProtocolEncoderTest.java (limited to 'test/org/traccar/protocol/CastelProtocolEncoderTest.java') diff --git a/test/org/traccar/protocol/CastelProtocolEncoderTest.java b/test/org/traccar/protocol/CastelProtocolEncoderTest.java new file mode 100644 index 000000000..6e519363f --- /dev/null +++ b/test/org/traccar/protocol/CastelProtocolEncoderTest.java @@ -0,0 +1,22 @@ +package org.traccar.protocol; + +import org.junit.Test; +import org.traccar.ProtocolTest; +import org.traccar.model.Command; + +public class CastelProtocolEncoderTest extends ProtocolTest { + + @Test + public void testEncode() throws Exception { + + CastelProtocolEncoder encoder = new CastelProtocolEncoder(); + + Command command = new Command(); + command.setDeviceId(1); + command.setType(Command.TYPE_ENGINE_STOP); + + verifyCommand(encoder, command, binary("40401a00043132333435363738393031323334350000000000834501c7280d0a")); + + } + +} -- cgit v1.2.3 From 34a5b8ceaff6617a8958ce04fb6c7f65d1d19979 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Fri, 16 Mar 2018 19:58:26 +1300 Subject: Fix Castel command encoding --- src/org/traccar/protocol/CastelProtocolEncoder.java | 4 ++-- test/org/traccar/protocol/CastelProtocolEncoderTest.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'test/org/traccar/protocol/CastelProtocolEncoderTest.java') diff --git a/src/org/traccar/protocol/CastelProtocolEncoder.java b/src/org/traccar/protocol/CastelProtocolEncoder.java index d69fc62cf..7ba33ca6d 100644 --- a/src/org/traccar/protocol/CastelProtocolEncoder.java +++ b/src/org/traccar/protocol/CastelProtocolEncoder.java @@ -28,7 +28,7 @@ import java.nio.charset.StandardCharsets; public class CastelProtocolEncoder extends BaseProtocolEncoder { - private ChannelBuffer encodeContent(long deviceId, int type, ChannelBuffer content) { + private ChannelBuffer encodeContent(long deviceId, short type, ChannelBuffer content) { ChannelBuffer buf = ChannelBuffers.dynamicBuffer(ByteOrder.LITTLE_ENDIAN, 0); String uniqueId = Context.getIdentityManager().getById(deviceId).getUniqueId(); @@ -42,7 +42,7 @@ public class CastelProtocolEncoder extends BaseProtocolEncoder { buf.writeBytes(uniqueId.getBytes(StandardCharsets.US_ASCII)); buf.writeZero(20 - uniqueId.length()); - buf.writeShort(type); + buf.writeShort(ChannelBuffers.swapShort(type)); buf.writeBytes(content); buf.writeShort(Checksum.crc16(Checksum.CRC16_X25, buf.toByteBuffer())); diff --git a/test/org/traccar/protocol/CastelProtocolEncoderTest.java b/test/org/traccar/protocol/CastelProtocolEncoderTest.java index 6e519363f..fc0a92c86 100644 --- a/test/org/traccar/protocol/CastelProtocolEncoderTest.java +++ b/test/org/traccar/protocol/CastelProtocolEncoderTest.java @@ -15,7 +15,7 @@ public class CastelProtocolEncoderTest extends ProtocolTest { command.setDeviceId(1); command.setType(Command.TYPE_ENGINE_STOP); - verifyCommand(encoder, command, binary("40401a00043132333435363738393031323334350000000000834501c7280d0a")); + verifyCommand(encoder, command, binary("40401a00043132333435363738393031323334350000000000458301fe6a0d0a")); } -- cgit v1.2.3 From 799fb0de7dd7fae0d307985f6b2975c077c262d3 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Sat, 24 Mar 2018 11:45:19 +1300 Subject: Fix Castel commands encoding --- src/org/traccar/protocol/CastelProtocolEncoder.java | 4 ++-- test/org/traccar/protocol/CastelProtocolEncoderTest.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'test/org/traccar/protocol/CastelProtocolEncoderTest.java') diff --git a/src/org/traccar/protocol/CastelProtocolEncoder.java b/src/org/traccar/protocol/CastelProtocolEncoder.java index 7ba33ca6d..806dac19e 100644 --- a/src/org/traccar/protocol/CastelProtocolEncoder.java +++ b/src/org/traccar/protocol/CastelProtocolEncoder.java @@ -35,9 +35,9 @@ public class CastelProtocolEncoder extends BaseProtocolEncoder { buf.writeByte('@'); buf.writeByte('@'); - buf.writeShort(2 + 2 + 1 + 20 + content.readableBytes()); // length + buf.writeShort(2 + 2 + 1 + 20 + 2 + content.readableBytes() + 2 + 2); // length - buf.writeByte(4); // protocol version + buf.writeByte(1); // protocol version buf.writeBytes(uniqueId.getBytes(StandardCharsets.US_ASCII)); buf.writeZero(20 - uniqueId.length()); diff --git a/test/org/traccar/protocol/CastelProtocolEncoderTest.java b/test/org/traccar/protocol/CastelProtocolEncoderTest.java index fc0a92c86..bcb93a010 100644 --- a/test/org/traccar/protocol/CastelProtocolEncoderTest.java +++ b/test/org/traccar/protocol/CastelProtocolEncoderTest.java @@ -15,7 +15,7 @@ public class CastelProtocolEncoderTest extends ProtocolTest { command.setDeviceId(1); command.setType(Command.TYPE_ENGINE_STOP); - verifyCommand(encoder, command, binary("40401a00043132333435363738393031323334350000000000458301fe6a0d0a")); + verifyCommand(encoder, command, binary("40402000013132333435363738393031323334350000000000458301a94a0d0a")); } -- cgit v1.2.3