aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/traccar/protocol/SuntechProtocolDecoderTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/traccar/protocol/SuntechProtocolDecoderTest.java')
-rw-r--r--src/test/java/org/traccar/protocol/SuntechProtocolDecoderTest.java165
1 files changed, 95 insertions, 70 deletions
diff --git a/src/test/java/org/traccar/protocol/SuntechProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/SuntechProtocolDecoderTest.java
index 098758728..cbb68132f 100644
--- a/src/test/java/org/traccar/protocol/SuntechProtocolDecoderTest.java
+++ b/src/test/java/org/traccar/protocol/SuntechProtocolDecoderTest.java
@@ -1,87 +1,30 @@
package org.traccar.protocol;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
import org.traccar.ProtocolTest;
import org.traccar.model.Position;
public class SuntechProtocolDecoderTest extends ProtocolTest {
@Test
- public void testDecodeTemperature() throws Exception {
-
- var decoder = new SuntechProtocolDecoder(null);
-
- decoder.setHbm(true);
- decoder.setIncludeAdc(true);
-
- verifyAttribute(decoder, buffer(
- "ST600STT;008594432;20;492;20200212;18:58:30;060bb0e1;334;20;36bb;45;+19.337897;-099.064489;000.398;000.00;12;1;5049883;13.61;100100;2;1198;013762;4.2;1;4.68"),
- Position.PREFIX_ADC + 1, 4.68);
-
- decoder.setIncludeTemp(true);
+ public void testDecode() throws Exception {
- verifyAttribute(decoder, buffer(
- "ST600STT;008350848;35;523;20191102;13:49:46;0bf14fdb;334;20;2f19;57;+20.466737;-100.825455;000.006;000.00;11;1;10274175;11.36;00000000;1;0300;018353;4.2;1;0.00;;;;00000000000000;0;28EE56B911160234:+13.7;:;:"),
- Position.PREFIX_TEMP + 2, 13.7);
+ var decoder = inject(new SuntechProtocolDecoder(null));
- verifyPosition(decoder, buffer(
- "ST300STT;205173382;07;564;20160322;23:23:18;232e19;+19.288278;-099.128750;000.122;000.00;9;1;478391;11.53;000100;1;9498;079324;4.3;1;0.00;0.00;0.00;00000000000000;0;2898E16006000058:-20.8;2861626006000039:+2.5;:"));
+ verifyAttributes(decoder, buffer(
+ "ST410STT;109815653;445;03;16531;724;10;-77;6011;7;16273;724;10;7511;0;0;13903;724;10;6011;0;0;7671;724;10;7111;0;0;16533;724;10;6011;0;0;0;0;0;0;0;0;0;0;0;0;0;0;3.86;0;0098;1;003;;;;;;;;;"));
verifyPosition(decoder, buffer(
- "ST300EVT;205173382;07;564;20160322;23:23:18;232e19;+19.288278;-099.128750;000.122;000.00;9;1;478391;11.53;000100;2;1;9498;079324;4.3;1;0.00;0.00;0.00;00000000000000;0;2898E16006000058:-20.8;2861626006000039:+2.5;:"));
-
- verifyPosition(decoder, buffer(
- "ST600STT;008349958;35;523;20181112;00:49:30;0bf10d4e;334;20;2f19;22;+20.552718;-100.824478;050.021;095.41;12;1;1303603;14.30;10000000;4;8911;001987;4.1;0;0.00;;;;00000000000000;0;2826C8A70800000C:+26.6;:;:"));
-
- }
-
- @Test
- public void testDecodeRpm() throws Exception {
-
- var decoder = new SuntechProtocolDecoder(null);
-
- decoder.setHbm(true);
- decoder.setIncludeRpm(true);
+ "ALT;0840037569;FFFFFF;84;1.0.6;0;20221228;11:33:05;00004490;724;11;05D3;33;-22.845935;-46.322000;0.00;0.00;18;0;00000001;00000000;99;;;;08E3800F;4.1;12.37;0;0;0;0;4;;;;"));
verifyAttribute(decoder, buffer(
- "ST300STT;907131077;04;706;20190227;23:59:34;cc719;-12.963490;-038.499587;000.067;000.00;7;1;57095;12.50;000000;1;0337;000207;0.0;1;0;012E717F010000;1"),
- Position.KEY_RPM, 0);
-
- }
-
- @Test
- public void testDecodeHours() throws Exception {
-
- var decoder = new SuntechProtocolDecoder(null);
-
- decoder.setHbm(true);
-
- verifyAttribute(decoder, buffer(
- "ST300ALT;007239104;40;313;20190112;01:07:16;c99139;+04.703287;-074.148897;000.000;189.72;21;1;425512;12.61;100000;33;003188;4.1;1"),
- Position.KEY_HOURS, 3188 * 60000L);
-
- }
-
- @Test
- public void testDecodeDriver() throws Exception {
-
- var decoder = new SuntechProtocolDecoder(null);
+ "ALT;0950030205;3FFFFF;95;1.0.11;0;20221017;21:41:30;02F2F402;334;20;0F1D;45;+25.791061;-100.170745;0.00;0.00;18;1;00000101;00000000;42;2;"),
+ Position.KEY_ALARM, Position.ALARM_SOS);
verifyAttribute(decoder, buffer(
- "ST300HTE;511050566;45;308;20200909;13:38:38;0;12.50;001354;0.0;1;0;1;1;0;-27.636632;-052.277933;-27.636675;-052.277947;000.000;002.296;0;00000000000000"),
- Position.KEY_DRIVER_UNIQUE_ID, "00000000000000");
-
- verifyAttribute(decoder, buffer(
- "ST300HTE;100850001;04;248;20110101;00:13:52;167559;12.28;004005;0.0;1;0;3;3;0;-22.881018;-047.070831;-22.881018;-047.070831;000.000;000.000;0;0;3;0;0;0;01E04D44160000"),
- Position.KEY_DRIVER_UNIQUE_ID, "01E04D44160000");
-
- }
-
- @Test
- public void testDecode() throws Exception {
-
- var decoder = new SuntechProtocolDecoder(null);
+ "RES;4309999001;04;02;TEST"),
+ Position.KEY_RESULT, "04;02;TEST");
verifyPosition(decoder, buffer(
"BLE;1140000053;114;1.0.1;20211001;17:27:09;+28.433465;-82.565891;1;-43;-46;-41;ACB89523EF68;247;0;0"));
@@ -92,6 +35,17 @@ public class SuntechProtocolDecoderTest extends ProtocolTest {
verifyNull(decoder, buffer(
"BSA;0820012345;001FFF;82;1.0.0;1;20191203;17:00:51;+32.691615;-117.297160;1;-55;68:11:6A:FD:1A:A7;6AA5;1DE8"));
+ verifyAttributes(decoder, binary(
+ "53543330305545583b3531313639393339383b34353b3331353b32303232303632333b31383a32343a35383b3661313332393b2d32392e3735343934373b2d3035372e3038353838353b3030302e3030303b3030302e30303b31303b313b37323b302e30303b3030303030303b31323b0201100110011090011001100110011001100110fe3b39303b3030303030303b332e393b313b30303030303030303030303030303b30"));
+
+ verifyAttribute(decoder, buffer(
+ "ST300UEX;511248287;45;311;20220701;18:42:08;14c943;-22.975257;-043.373065;000.000;000.00;0;0;0;12.14;100010;19;RFID:008FB2BEBA39\r\n;3E;000135;4.1;1;00000000000000;0"),
+ "serial", "RFID:008FB2BEBA39");
+
+ verifyAttribute(decoder, buffer(
+ "ST300UEX;100850000;01;010;20081017;07:41:56;2F100;+37.478519;+126.886819;000.012;000.00;9;1;0;15.30;001100;25;Welcome to Suntech World!;12;0;4.5;1"),
+ "serial", "Welcome to Suntech World!");
+
verifyAttribute(decoder, buffer(
"ST300UEX;511331307;45;311;20210420;12:41:01;12361;-01.280825;-047.931773;000.000;000.00;16;1;0;12.54;000000;23;GTSL|6|1|0|9255143|2|;6F;000276;0.0;1;00000000000000;0"),
Position.KEY_DRIVER_UNIQUE_ID, "9255143");
@@ -258,11 +212,11 @@ public class SuntechProtocolDecoderTest extends ProtocolTest {
}
- @Ignore
+ @Disabled
@Test
public void testDecodeCrash() throws Exception {
- var decoder = new SuntechProtocolDecoder(null);
+ var decoder = inject(new SuntechProtocolDecoder(null));
verifyAttribute(decoder, binary(
"4352523b303931303030303036333b313b313b303135303b16011c150f0ad82f6c0000000000ae037085fbff7700fd00faff6300f30000006800fb000d007100fa00f32f6c00000000005e044a80fcff6f000301e1ff5d00e900e1ff6400e600f4ff5b00ec000a306c00000000002104248306006c000501fcff5b00e00001006e000101eeff4e00e10022306c00000000005c041a7e00006a00010100005d00f800b5ff7cffdf0050009300fc003b44350d"),
@@ -270,4 +224,75 @@ public class SuntechProtocolDecoderTest extends ProtocolTest {
}
+ @Test
+ public void testDecodeTemperature() throws Exception {
+
+ var decoder = inject(new SuntechProtocolDecoder(null));
+
+ decoder.setHbm(true);
+ decoder.setIncludeAdc(true);
+
+ verifyAttribute(decoder, buffer(
+ "ST600STT;008594432;20;492;20200212;18:58:30;060bb0e1;334;20;36bb;45;+19.337897;-099.064489;000.398;000.00;12;1;5049883;13.61;100100;2;1198;013762;4.2;1;4.68"),
+ Position.PREFIX_ADC + 1, 4.68);
+
+ decoder.setIncludeTemp(true);
+
+ verifyAttribute(decoder, buffer(
+ "ST600STT;008350848;35;523;20191102;13:49:46;0bf14fdb;334;20;2f19;57;+20.466737;-100.825455;000.006;000.00;11;1;10274175;11.36;00000000;1;0300;018353;4.2;1;0.00;;;;00000000000000;0;28EE56B911160234:+13.7;:;:"),
+ Position.PREFIX_TEMP + 2, 13.7);
+
+ verifyPosition(decoder, buffer(
+ "ST300STT;205173382;07;564;20160322;23:23:18;232e19;+19.288278;-099.128750;000.122;000.00;9;1;478391;11.53;000100;1;9498;079324;4.3;1;0.00;0.00;0.00;00000000000000;0;2898E16006000058:-20.8;2861626006000039:+2.5;:"));
+
+ verifyPosition(decoder, buffer(
+ "ST300EVT;205173382;07;564;20160322;23:23:18;232e19;+19.288278;-099.128750;000.122;000.00;9;1;478391;11.53;000100;2;1;9498;079324;4.3;1;0.00;0.00;0.00;00000000000000;0;2898E16006000058:-20.8;2861626006000039:+2.5;:"));
+
+ verifyPosition(decoder, buffer(
+ "ST600STT;008349958;35;523;20181112;00:49:30;0bf10d4e;334;20;2f19;22;+20.552718;-100.824478;050.021;095.41;12;1;1303603;14.30;10000000;4;8911;001987;4.1;0;0.00;;;;00000000000000;0;2826C8A70800000C:+26.6;:;:"));
+
+ }
+
+ @Test
+ public void testDecodeRpm() throws Exception {
+
+ var decoder = inject(new SuntechProtocolDecoder(null));
+
+ decoder.setHbm(true);
+ decoder.setIncludeRpm(true);
+
+ verifyAttribute(decoder, buffer(
+ "ST300STT;907131077;04;706;20190227;23:59:34;cc719;-12.963490;-038.499587;000.067;000.00;7;1;57095;12.50;000000;1;0337;000207;0.0;1;0;012E717F010000;1"),
+ Position.KEY_RPM, 0);
+
+ }
+
+ @Test
+ public void testDecodeHours() throws Exception {
+
+ var decoder = inject(new SuntechProtocolDecoder(null));
+
+ decoder.setHbm(true);
+
+ verifyAttribute(decoder, buffer(
+ "ST300ALT;007239104;40;313;20190112;01:07:16;c99139;+04.703287;-074.148897;000.000;189.72;21;1;425512;12.61;100000;33;003188;4.1;1"),
+ Position.KEY_HOURS, 3188 * 60000L);
+
+ }
+
+ @Test
+ public void testDecodeDriver() throws Exception {
+
+ var decoder = inject(new SuntechProtocolDecoder(null));
+
+ verifyAttribute(decoder, buffer(
+ "ST300HTE;511050566;45;308;20200909;13:38:38;0;12.50;001354;0.0;1;0;1;1;0;-27.636632;-052.277933;-27.636675;-052.277947;000.000;002.296;0;00000000000000"),
+ Position.KEY_DRIVER_UNIQUE_ID, "00000000000000");
+
+ verifyAttribute(decoder, buffer(
+ "ST300HTE;100850001;04;248;20110101;00:13:52;167559;12.28;004005;0.0;1;0;3;3;0;-22.881018;-047.070831;-22.881018;-047.070831;000.000;000.000;0;0;3;0;0;0;01E04D44160000"),
+ Position.KEY_DRIVER_UNIQUE_ID, "01E04D44160000");
+
+ }
+
}