aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorseym45 <seym45@gmail.com>2023-08-22 02:11:40 +0400
committerseym45 <seym45@gmail.com>2023-08-22 02:11:53 +0400
commit75064707c6432cc4918eab573ac3ce9d6eee1d94 (patch)
tree2308683dc91b0072cc84f971aae42ce298e069ed /src/main
parent09d4fb4a10a5362191023f5c82327d8d38ae830f (diff)
downloadtrackermap-server-75064707c6432cc4918eab573ac3ce9d6eee1d94.tar.gz
trackermap-server-75064707c6432cc4918eab573ac3ce9d6eee1d94.tar.bz2
trackermap-server-75064707c6432cc4918eab573ac3ce9d6eee1d94.zip
Add command to set speed limit and odometer for Gator
- Add test to verify position retrieval interval settings - Update key name MSG_POSITION_PERIODIC to MSG_SET_POSITION_REQUEST_INTERVAL
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/traccar/protocol/GatorProtocol.java2
-rw-r--r--src/main/java/org/traccar/protocol/GatorProtocolDecoder.java4
-rw-r--r--src/main/java/org/traccar/protocol/GatorProtocolEncoder.java8
3 files changed, 12 insertions, 2 deletions
diff --git a/src/main/java/org/traccar/protocol/GatorProtocol.java b/src/main/java/org/traccar/protocol/GatorProtocol.java
index bdea0fb00..0f44fbf47 100644
--- a/src/main/java/org/traccar/protocol/GatorProtocol.java
+++ b/src/main/java/org/traccar/protocol/GatorProtocol.java
@@ -32,6 +32,8 @@ public class GatorProtocol extends BaseProtocol {
setSupportedDataCommands(Command.TYPE_ENGINE_RESUME);
setSupportedDataCommands(Command.TYPE_ENGINE_STOP);
setSupportedDataCommands(Command.TYPE_POSITION_PERIODIC);
+ setSupportedDataCommands(Command.TYPE_SET_SPEED_LIMIT);
+ setSupportedDataCommands(Command.TYPE_SET_ODOMETER);
addServer(new TrackerServer(config, getName(), false) {
@Override
protected void addProtocolHandlers(PipelineBuilder pipeline, Config config) {
diff --git a/src/main/java/org/traccar/protocol/GatorProtocolDecoder.java b/src/main/java/org/traccar/protocol/GatorProtocolDecoder.java
index c68546c00..90fd5d0c6 100644
--- a/src/main/java/org/traccar/protocol/GatorProtocolDecoder.java
+++ b/src/main/java/org/traccar/protocol/GatorProtocolDecoder.java
@@ -38,7 +38,9 @@ public class GatorProtocolDecoder extends BaseProtocolDecoder {
public static final int MSG_HEARTBEAT = 0x21;
public static final int MSG_POSITION_REQUEST = 0x30;
- public static final int MSG_POSITION_PERIODIC = 0x34;
+ public static final int MSG_SET_POSITION_REQUEST_INTERVAL = 0x34;
+ public static final int MSG_SET_SPEED_LIMIT = 0x3F;
+ public static final int MSG_SET_ODOMETER = 0x6B;
public static final int MSG_RESTORES_THE_OIL_DUCT = 0x38;
public static final int MSG_CLOSE_THE_OIL_DUCT = 0x39;
public static final int MSG_POSITION_DATA = 0x80;
diff --git a/src/main/java/org/traccar/protocol/GatorProtocolEncoder.java b/src/main/java/org/traccar/protocol/GatorProtocolEncoder.java
index 5452d83c7..570dd269a 100644
--- a/src/main/java/org/traccar/protocol/GatorProtocolEncoder.java
+++ b/src/main/java/org/traccar/protocol/GatorProtocolEncoder.java
@@ -81,11 +81,17 @@ public class GatorProtocolEncoder extends BaseProtocolEncoder {
return encodeContent(command.getDeviceId(), GatorProtocolDecoder.MSG_CLOSE_THE_OIL_DUCT, content);
case Command.TYPE_ENGINE_RESUME:
return encodeContent(command.getDeviceId(), GatorProtocolDecoder.MSG_RESTORES_THE_OIL_DUCT, content);
+ case Command.TYPE_SET_SPEED_LIMIT:
+ content.writeByte(command.getInteger(Command.KEY_DATA));
+ return encodeContent(command.getDeviceId(), GatorProtocolDecoder.MSG_SET_SPEED_LIMIT, content);
+ case Command.TYPE_SET_ODOMETER:
+ content.writeShort(command.getInteger(Command.KEY_DATA));
+ return encodeContent(command.getDeviceId(), GatorProtocolDecoder.MSG_SET_ODOMETER, content);
case Command.TYPE_POSITION_PERIODIC:
content.writeShort(command.getInteger(Command.KEY_ENGINE_ON_INTERVAL));
content.writeShort(command.getInteger(Command.KEY_ENGINE_OFF_INTERVAL));
content.writeByte(command.getInteger(Command.KEY_HEARTBEAT_INTERVAL));
- return encodeContent(command.getDeviceId(), GatorProtocolDecoder.MSG_POSITION_PERIODIC, content);
+ return encodeContent(command.getDeviceId(), GatorProtocolDecoder.MSG_SET_POSITION_REQUEST_INTERVAL, content);
default:
return null;
}