diff options
Diffstat (limited to 'src/org/traccar/protocol')
-rw-r--r-- | src/org/traccar/protocol/Gps103Protocol.java | 1 | ||||
-rw-r--r-- | src/org/traccar/protocol/Gps103ProtocolEncoder.java | 2 | ||||
-rw-r--r-- | src/org/traccar/protocol/MiniFinderProtocolDecoder.java | 4 |
3 files changed, 7 insertions, 0 deletions
diff --git a/src/org/traccar/protocol/Gps103Protocol.java b/src/org/traccar/protocol/Gps103Protocol.java index e3beb34e5..a4d563bfc 100644 --- a/src/org/traccar/protocol/Gps103Protocol.java +++ b/src/org/traccar/protocol/Gps103Protocol.java @@ -32,6 +32,7 @@ public class Gps103Protocol extends BaseProtocol { public Gps103Protocol() { super("gps103"); setSupportedCommands( + Command.TYPE_CUSTOM, Command.TYPE_POSITION_SINGLE, Command.TYPE_POSITION_PERIODIC, Command.TYPE_POSITION_STOP, diff --git a/src/org/traccar/protocol/Gps103ProtocolEncoder.java b/src/org/traccar/protocol/Gps103ProtocolEncoder.java index afe87cf8c..36801b401 100644 --- a/src/org/traccar/protocol/Gps103ProtocolEncoder.java +++ b/src/org/traccar/protocol/Gps103ProtocolEncoder.java @@ -42,6 +42,8 @@ public class Gps103ProtocolEncoder extends StringProtocolEncoder implements Stri protected Object encodeCommand(Command command) { switch (command.getType()) { + case Command.TYPE_CUSTOM: + return formatCommand(command, "**,imei:{%s},{%s}", Command.KEY_UNIQUE_ID, Command.KEY_DATA); case Command.TYPE_POSITION_STOP: return formatCommand(command, "**,imei:{%s},A", Command.KEY_UNIQUE_ID); case Command.TYPE_POSITION_SINGLE: diff --git a/src/org/traccar/protocol/MiniFinderProtocolDecoder.java b/src/org/traccar/protocol/MiniFinderProtocolDecoder.java index 1b49bccb0..da03dc8bf 100644 --- a/src/org/traccar/protocol/MiniFinderProtocolDecoder.java +++ b/src/org/traccar/protocol/MiniFinderProtocolDecoder.java @@ -112,6 +112,9 @@ public class MiniFinderProtocolDecoder extends BaseProtocolDecoder { if (BitUtil.check(flags, 8)) { position.set(Position.KEY_ALARM, Position.ALARM_FALL_DOWN); } + if (BitUtil.check(flags, 9) || BitUtil.check(flags, 10) || BitUtil.check(flags, 11)) { + position.set(Position.KEY_ALARM, Position.ALARM_GEOFENCE); + } if (BitUtil.check(flags, 12)) { position.set(Position.KEY_ALARM, Position.ALARM_LOW_BATTERY); } @@ -120,6 +123,7 @@ public class MiniFinderProtocolDecoder extends BaseProtocolDecoder { } position.set(Position.KEY_GSM, BitUtil.between(flags, 16, 20)); + position.set(Position.KEY_CHARGE, BitUtil.check(flags, 22)); position.setAltitude(parser.nextDouble()); |