diff options
author | Anton Tananaev <anton@traccar.org> | 2023-12-02 14:04:15 -0800 |
---|---|---|
committer | Anton Tananaev <anton@traccar.org> | 2023-12-02 14:04:15 -0800 |
commit | 8f1c0e94ebe29c08ff94a98e2ea53c22732768ad (patch) | |
tree | 7a07da53b05c8102b7e6514cc32a11187e84dbb1 | |
parent | e0d67dd1771e7b265e98bb18ab5359fc335ca9c4 (diff) | |
download | trackermap-server-8f1c0e94ebe29c08ff94a98e2ea53c22732768ad.tar.gz trackermap-server-8f1c0e94ebe29c08ff94a98e2ea53c22732768ad.tar.bz2 trackermap-server-8f1c0e94ebe29c08ff94a98e2ea53c22732768ad.zip |
Support GL530MG sensors
-rw-r--r-- | src/main/java/org/traccar/protocol/Gl200TextProtocolDecoder.java | 11 | ||||
-rw-r--r-- | src/test/java/org/traccar/protocol/Gl200TextProtocolDecoderTest.java | 4 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/main/java/org/traccar/protocol/Gl200TextProtocolDecoder.java b/src/main/java/org/traccar/protocol/Gl200TextProtocolDecoder.java index 5ee3761dd..a73981614 100644 --- a/src/main/java/org/traccar/protocol/Gl200TextProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/Gl200TextProtocolDecoder.java @@ -649,11 +649,12 @@ public class Gl200TextProtocolDecoder extends BaseProtocolDecoder { .expression(PATTERN_LOCATION.pattern()) .expression(")+)") .groupBegin() - .number("d{1,2},,") - .number("(d{1,3}),") // battery + .number("d{1,2},") + .number("(d{1,5})?,") // battery + .number("(d{1,3}),") // battery level .number("[01],") // mode .number("(?:[01])?,") // motion - .number("(?:-?d{1,2}.d)?,") // temperature + .number("(-?d{1,2}.d)?,") // temperature .or() .number("(d{1,7}.d)?,") // odometer .number("(d{5}:dd:dd)?,") // hour meter @@ -721,8 +722,10 @@ public class Gl200TextProtocolDecoder extends BaseProtocolDecoder { } if (parser.hasNext()) { - position.set(Position.KEY_BATTERY_LEVEL, parser.nextInt()); + position.set(Position.KEY_BATTERY, parser.nextInt() * 0.001); } + position.set(Position.KEY_BATTERY_LEVEL, parser.nextInt()); + position.set(Position.PREFIX_TEMP + 1, parser.nextDouble()); if (parser.hasNext()) { position.set(Position.KEY_ODOMETER, parser.nextDouble() * 1000); diff --git a/src/test/java/org/traccar/protocol/Gl200TextProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Gl200TextProtocolDecoderTest.java index 037c8f75a..199012ca0 100644 --- a/src/test/java/org/traccar/protocol/Gl200TextProtocolDecoderTest.java +++ b/src/test/java/org/traccar/protocol/Gl200TextProtocolDecoderTest.java @@ -11,6 +11,10 @@ public class Gl200TextProtocolDecoderTest extends ProtocolTest { var decoder = inject(new Gl200TextProtocolDecoder(null)); + verifyAttribute(decoder, buffer( + "+RESP:GTFRI,710303,868487004352084,GL530MG,0,0,1,1,16.6,0,9.4,121.307910,31.127837,20230815050629,0460,0000,1815,B93B,26,0,8964,90,1,0,26.6,20230815130830,0174$"), + Position.PREFIX_TEMP + 1, 26.6); + verifyPosition(decoder, buffer( "+BUFF:GTFRI,8020040200,866314060249032,,12194,10,1,3,0.0,0,20.1,-71.596533,-33.524718,20230926200338,0730,0001,772A,052B253E,02,0,0.0,,,,,0,420000,,,,20230926200340,1549$")); |