From 1eb5988991f98ecbcef33f53713e2cd452cc2014 Mon Sep 17 00:00:00 2001 From: Matjaž Črnko Date: Fri, 31 Dec 2021 17:41:03 +0100 Subject: feat: Totem - add some basic commands --- src/main/java/org/traccar/protocol/TotemProtocol.java | 5 +++++ src/main/java/org/traccar/protocol/TotemProtocolEncoder.java | 10 ++++++++++ 2 files changed, 15 insertions(+) (limited to 'src/main/java/org') diff --git a/src/main/java/org/traccar/protocol/TotemProtocol.java b/src/main/java/org/traccar/protocol/TotemProtocol.java index f8cda8358..7cf30475b 100644 --- a/src/main/java/org/traccar/protocol/TotemProtocol.java +++ b/src/main/java/org/traccar/protocol/TotemProtocol.java @@ -26,6 +26,11 @@ public class TotemProtocol extends BaseProtocol { public TotemProtocol() { setSupportedDataCommands( + Command.TYPE_CUSTOM, + Command.TYPE_REBOOT_DEVICE, + Command.TYPE_FACTORY_RESET, + Command.TYPE_GET_VERSION, + Command.TYPE_POSITION_SINGLE, Command.TYPE_ENGINE_RESUME, Command.TYPE_ENGINE_STOP ); diff --git a/src/main/java/org/traccar/protocol/TotemProtocolEncoder.java b/src/main/java/org/traccar/protocol/TotemProtocolEncoder.java index a96dd1ee3..4717c3920 100644 --- a/src/main/java/org/traccar/protocol/TotemProtocolEncoder.java +++ b/src/main/java/org/traccar/protocol/TotemProtocolEncoder.java @@ -32,6 +32,16 @@ public class TotemProtocolEncoder extends StringProtocolEncoder { initDevicePassword(command, "000000"); switch (command.getType()) { + case Command.TYPE_CUSTOM: + return formatCommand(command, "*%s,%s#", Command.KEY_DEVICE_PASSWORD, Command.KEY_DATA); + case Command.TYPE_REBOOT_DEVICE: + return formatCommand(command, "*%s,006#", Command.KEY_DEVICE_PASSWORD); + case Command.TYPE_FACTORY_RESET: + return formatCommand(command, "*%s,007#", Command.KEY_DEVICE_PASSWORD); + case Command.TYPE_GET_VERSION: + return formatCommand(command, "*%s,056#", Command.KEY_DEVICE_PASSWORD); + case Command.TYPE_POSITION_SINGLE: + return formatCommand(command, "*%s,012#", Command.KEY_DEVICE_PASSWORD); // Assuming PIN 8 (Output C) is the power wire, like manual says but it can be PIN 5,7,8 case Command.TYPE_ENGINE_STOP: return formatCommand(command, "*%s,025,C,1#", Command.KEY_DEVICE_PASSWORD); -- cgit v1.2.3