From 29c560027dc3ecdf59d13cd11a6423047d9ed95a Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Wed, 19 Jun 2019 17:44:37 -0700 Subject: Fix driver id decoding --- src/main/java/org/traccar/protocol/FifotrackProtocolDecoder.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/main') diff --git a/src/main/java/org/traccar/protocol/FifotrackProtocolDecoder.java b/src/main/java/org/traccar/protocol/FifotrackProtocolDecoder.java index 2e728a918..cc4eaa790 100644 --- a/src/main/java/org/traccar/protocol/FifotrackProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/FifotrackProtocolDecoder.java @@ -69,7 +69,7 @@ public class FifotrackProtocolDecoder extends BaseProtocolDecoder { .number("(x+),") // cid .number("([x|]+)") // adc .expression(",([^,]+)") // rfid - .expression(",([^*]+)").optional(2) // sensors + .expression(",([^*]*)").optional(2) // sensors .any() .compile(); @@ -149,7 +149,9 @@ public class FifotrackProtocolDecoder extends BaseProtocolDecoder { position.set(Position.PREFIX_ADC + (i + 1), Integer.parseInt(adc[i], 16)); } - position.set(Position.KEY_DRIVER_UNIQUE_ID, parser.next()); + if (parser.hasNext()) { + position.set(Position.KEY_DRIVER_UNIQUE_ID, String.valueOf(parser.nextHexInt())); + } if (parser.hasNext()) { String[] sensors = parser.next().split("\\|"); -- cgit v1.2.3