diff options
author | seym45 <seym45@gmail.com> | 2023-08-22 02:11:40 +0400 |
---|---|---|
committer | seym45 <seym45@gmail.com> | 2023-08-22 02:11:53 +0400 |
commit | 75064707c6432cc4918eab573ac3ce9d6eee1d94 (patch) | |
tree | 2308683dc91b0072cc84f971aae42ce298e069ed /src/main | |
parent | 09d4fb4a10a5362191023f5c82327d8d38ae830f (diff) | |
download | trackermap-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')
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; } |