queclink-parser 1.8.5 → 1.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,32 @@
1
+ #### 1.9.1 (2024-03-13)
2
+
3
+ #### 1.8.6 (2024-03-13)
4
+
5
+ ##### New Features
6
+
7
+ * **gv300w:** added field moreData when number > 1 ([389bb1ba](https://github.com/jaayesta/queclink-parser/commit/389bb1ba2cd48806635600a9964f09581fbb8f22))
8
+ * **moreData:** new field in case that number > 1 ([c507ec67](https://github.com/jaayesta/queclink-parser/commit/c507ec677ce3c79c77d1f7c5ea712d530398cddb))
9
+ * **clean:** cleaned unused reports ([8e395f0d](https://github.com/jaayesta/queclink-parser/commit/8e395f0d97a90d3bbe005e356f04144b87ce6452))
10
+ * **ble-info:** added info for BID and ERI reports ([8288af44](https://github.com/jaayesta/queclink-parser/commit/8288af44b00cc9e268f6191132f6e56d47ebe7bf))
11
+ * **bluetooth:** added some bluetooth functions ([25468239](https://github.com/jaayesta/queclink-parser/commit/25468239b46185179e0c3f1f6551bbb72ed50bfa))
12
+ * **events:** added support to common events and notificartions ([3dfe8a35](https://github.com/jaayesta/queclink-parser/commit/3dfe8a35eb603df48bd77d75f7b7e43aac7f544d))
13
+ * **resp:** added FRI messages (incomplete ERI) ([3af3c01c](https://github.com/jaayesta/queclink-parser/commit/3af3c01c2cc048b7d41d504a3cbf7e610f158636))
14
+ * **gv58lau:** added position related report ([4c84715d](https://github.com/jaayesta/queclink-parser/commit/4c84715d9d5404502d8020f8a1983a2f98653281))
15
+ * **new-device:** added GV58LAU ([66a97c78](https://github.com/jaayesta/queclink-parser/commit/66a97c789cefbc5ea9facc0830269d271953cf14))
16
+
17
+ ##### Bug Fixes
18
+
19
+ * **test:** fix jamming test ([c41ac059](https://github.com/jaayesta/queclink-parser/commit/c41ac059ddffa19bea1768af0e6e349041d789f5))
20
+ * **HBE:** added status and modified type ([48debc9b](https://github.com/jaayesta/queclink-parser/commit/48debc9b79ba571fd81bc09d38591dc2bfda7c66))
21
+ * **bluetooth-id:** correction in data ([ac4f3585](https://github.com/jaayesta/queclink-parser/commit/ac4f3585ed009c4dd90ebf6cc8a9c0263d37b4df))
22
+ * **position:** added support for multiple points ([aeb4617f](https://github.com/jaayesta/queclink-parser/commit/aeb4617f1c7dd4eb30e572039fd09b5dcbc5ef8e))
23
+ * **messages:**
24
+ * corrected PNR and PFR texts ([f4af5d6f](https://github.com/jaayesta/queclink-parser/commit/f4af5d6f8bd7d4c8ae117ed57edd8689055be74b))
25
+ * understandable messages for PNR and PFR ([630a381e](https://github.com/jaayesta/queclink-parser/commit/630a381e94bfdfbb066c5f170feb4529d7b34741))
26
+ * **GV310LAU:** some corrections ([52dde926](https://github.com/jaayesta/queclink-parser/commit/52dde92661c49a1d1a9b1803fbd0bcc8287a7632))
27
+ * **bluetooth:** added BT data to main bluetooth info for BAA ([24b6c236](https://github.com/jaayesta/queclink-parser/commit/24b6c236bf5d23feae763101a11c7234e0a26eb6))
28
+ * **gv310lau:** correction in coordinates for BCS and BDS messages ([386e634c](https://github.com/jaayesta/queclink-parser/commit/386e634c37ec4b8f61c0ad0f596532dbffb3aa7a))
29
+
1
30
  #### 1.8.5 (2024-01-11)
2
31
 
3
32
  #### 1.8.4 (2024-01-11)
package/example.js CHANGED
@@ -1,59 +1,71 @@
1
1
  const queclink = require('.');
2
2
 
3
- var mess = '+RESP:GTFRI,6E0100,866775050906585,GV310LAU,12093,10,1,2,0.0,131,100.2,117.129250,31.839233,20220524060603,0460,0000,550B,0E9E30A5,00,100.0,00000:03:32,12000,12300,99,100,210100,,,,20220524060606,0021$';
4
- var eri = '+RESP:GTERI,6E0100,100000000000306,GV310LAU,00000002,,10,1,1,12.0,0,93.0,117.129271,31.839336,20210812071324,0460,0000,550B,B7B1,00,15.1,,,1648,,0,110001,2,1,28FBCA9C0A000092,1,019C,20210812151326,8A59$';
5
- var eri2 = '+RESP:GTERI,6E0100,866775050906668,GV310LAU,00000002,,10,1,1,12.0,0,88.7,117.129265,31.839253,20220620104346,0460,0001,DE10,027A4F1F,00,15.1,,,1648,,100,220100,2,3,2836369E0A0000C7,1,01C7,283E1E41030000B5,1,01B3,28C54DC5080000F2,1,01AF,20220620104347,02BE$';
6
- var info = '+RESP:GTTOW,6E0100,866775050906767,GV310LAU,3,00,1,0,0.0,267,65.5,117.129388,31.838345,20220713055257,0460,0000,550B,0E9E30A5,01,7,23.7,1,32,20220713055448,1384$';
7
- var eps = '+RESP:GTEPS,6E0200,866775050906544,GV310LAU_123,12390,01,1,0,0.3,0,86.0,117.129153,31.839230,20220818073645,0460,0001,DE10,027A4F1F,00,100.0,20220818170650,01B7$';
8
- var tmp = '+RESP:GTTMP,6E0100,866775050906858,GV310LAU,,12291,01,1,1,0.0,227,64.0,117.129126,3 1.839297,20220711080448,0460,0000,550B,0E9E30A5,00,10.1,,3456,0,4353,10,01,,,,280453CB08000091,,27,20220711160449,599E$';
9
- var cra = '+RESP:GTCRA,6E0200,866775050906544,,05,0,0.0,18,113.5,117.129345,31.839108,20220826023413,0460,0000,550B,0E9E30A5,00,20220826103415,1C65$';
10
- var jds = '+RESP:GTJDS,6E0100,866775050906767,GV310LAU,1,3,0,3.8,173,62.3,117.129874,31.838456,20220714051457,0460,0000,550B,0E9E30A5,01,32,20220714131539,476B$';
11
- var ant = '+RESP:GTANT,6E0200,866775050906544,GV310LAU,0,0,1.7,0,52.0,117.129292,31.838311,20220825024128,0460,0000,550B,0E9E30A5,00,20220825024333,10AB$';
12
- var rmd = '+RESP:GTRMD,6E0100,866775050906684,GV310LAU_123,1,0,0.0,259,60.0,117.129291,31.839 294,20220831083741,0460,0000,550B,0E9E30A5,00,20220831180919,0003$';
13
- var bpl = '+RESP:GTBPL,6E0100,866775050906932,,3.61,2,0.0,186,80.4,117.129363,31.838143,20220817023201,0460,0000,550B,0E9E30A5,00,20220817023202,01DB$';
14
- var ign = '+RESP:GTIGN,6E0100,866775050906940,GV310LAU,863,0,0.0,186,69.9,117.129340,31.838973,20220630055647,0460,0000,550B,0E9E30A5,01,4,,0.0,20220630061015,00A8$';
15
- var str = '+RESP:GTSTR,6E0100,866775050906767,GV310LAU,,,0,39.7,269,60.5,117.082767,31.832155,20220624054817,0460,0000,550B,0E9E30A5,00,0.7,20220624054819,1492$';
16
- var stt = '+BUFF:GTSTT,6E0100,866775050906130,GV310LAU,21,0,0.0,165,81.5,117.129521,31.838534,20220630010318,0460,0001,DE11,05FE6667,00,20220630090320,B344$';
17
- var gss = '+RESP:GTGSS,6E0100,866775050906858,GV310LAU,0,0,21,,0,0.0,170,73.2,117.129202,31.839 432,20220708011105,0460,0000,550B,0E9E30A5,01,4,20220708092106,34A7$';
18
- var ida = '+BUFF:GTIDA,6E0100,866775050906544,GV310LAU,,D0DF95D7,0,1,2,0.0,0,78.0,117.129264,31.839145,20220822111318,0460,0000,550B,0E9E30A5,00,0.0,,,,,20220822191319,4C95$';
19
- var dat_short = '+RESP:GTDAT,6E0100,866775050906684,,2132,20220901074329,082F$';
20
- var dat_long = '+RESP:GTDAT,6E0100,866775050906684,,,,,2132,1,0.0,187,65.4,117.129372,31.838884,20220901074343,0460,0000,550B,0E9E30A5,00,,,,,20220901074345,0830$';
21
- var dtt_short = '+RESP:GTDTT,6E0200,866775050906544,GV310LAU,,,0,9,123456789,20220823144523,669D$';
22
- var dtt_long = '+RESP:GTDTT,6E0100,866775050906767,,,,0,9,123456789,2,0.0,279,72.8,117.129300,31.838850,20220712055707,0460,0000,550B,0E9E30A5,00,,,,,20220712055708,0111$';
23
- var dos = '+RESP:GTDOS,6E0100,866775050906767,,1,0,2,0.0,248,87.8,117.129293,31.839724,20220721034754,0460,0000,550B,0E9E30A5,00,20220721034755,0370$';
24
- var cid = '+RESP:GTCID,6E0200,866775050906544,,898602a51244f5103329,20220823172829,6D71$';
25
- var csq = '+RESP:GTCSQ,6E0100,866775050906858,GV310LAU,31,,20220708184826,3C4E$';
26
- var ver = '+RESP:GTVER,6E0100,866775050906684,GV310LAU,6E,0138,0103,20220812063401,0079$';
27
- var bcs = '+RESP:GTBCS,6E0200,866775051515393,GV310LAU,,1,0.0,0,127.3,117.129427,31.839283,20220901022731,0460,0000,550B,B7B1,01,12,1D03,GV310LAU_BT,B908A4800DB1,1,1,F7E776096185,,,,,20220901102731,2472$';
28
- var bds = '+RESP:GTBDS,6E0200,866775051515393,GV310LAU,,1,0.0,0,87.1,117.129505,31.839294,20220902060131,0460,0000,550B,B1E2,01,12,1D03,GV310LAU_BT,B908A4800DB1,1,1,F7E776096185,0,,,,20220902140133,3EA1$';
29
- var baa = '+RESP:GTBAA,6E0405,868589060183822,GV310LAU,6,6,2,07,083F,WTH1,7805410458E4,1,3303,23,19,23.49,1,0.0,166,1535.3,-99.192685,18.932749,20231113163446,0334,0050,2674,02A4510E,00,20231113163448,1006$';
30
- var bid = '+RESP:GTBID,6E0200,866775051515393,GV310LAU,9,1,0042,AC233F228645,-41,1,0042,AC233F2297F6,-40,1,0042,AC233F22863E,-45,1,0042,AC233F228481,-44,1,0042,AC233F229921,-45,1,0042,AC233F2298B2,-34,1,0042,AC233F229B82,-39,1,0042,AC233F22A3BE,-37,1,0042,AC233F228475,-37,1,0.0,174,89.1,117.129354,31.838392,20220901084338,0460,0000,550B,3D93,01,9,20220901164339,2826$';
31
- var eri3 = '+RESP:GTERI,6E0405,868589060183822,GV310LAU,00000100,,10,1,0,,,,,,,0334,0050,2674,02A4510E,00,0.0,,,,,52,420000,5,6,0,6,4,,283F,WMS1,E409073882F7,0,,,,,,1,6,4,,283F,WMS2,DF31073898F7,0,,,,,,2,6,4,,283F,WMS3,E03F0A38D7F7,0,,,,,,3,6,4,,283F,WMS4,D8430738D0F8,0,,,,,,4,13,0,,4007,WRL1,E9120938F0F9,0,,5,13,0,,4007,WRL2,D3490738E5F8,0,,20231113154933,0FBB$';
32
- var rto = '+ACK:GTRTO,6E0405,868589060183822,GV310LAU,RLY,004D,20231113161041,0FD2$'
33
- var eri4 = '+RESP:GTERI,6E0405,868589060183822,GV310LAU,00000100,,10,1,0,0.0,0,4840.7,-99.190854,18.929302,20231213173525,0334,0050,2674,02A4510E,00,0.0,,,,,34,410000,0,1,0,6,2,1A4A2D07,083F,WTH300,78054104581B,1,2745,26,45,26.29,20231213173556,1523$';
34
- var jdr = '+RESP:GTJDR,6E0200,866775050906544,GV310LAU,1,0,0.0,255,104.8,117.128741,31.838246,20220825033943,,,,,00,20220825034028,1177$';
35
- var vgn = '+BUFF:GTVGN,6E0100,866775050906130,GV310LAU,00,4,1194,0,0.0,17,80.3,117.129324,31.838576,20220629023814,0460,0000,550B,0E9E30A5,00,,61.8,20220629103825,A716$';
36
- var vgf = '+BUFF:GTVGF,6E0100,866775050906130,GV310LAU,00,4,132,0,0.0,20,77.2,117.129289,31.838557,20220629014530,0460,0000,550B,0E9E30A5,00,,61.8,20220629094531,A6C7$';
37
- var gsm = '+RESP:GTGSM,6E0200,866775050906544,FRI,0460,0000,550B,085BE2AA,22,,0460,0000,550B,0E9E30AD,14,,0460,0000,550B,085BE2AE,11,,,,,,,,,,,,,,,,,,,,0460,0000,550B,E9E30A5,36,00,20220819103332,0297$';
38
- var clt = '+RESP:GTCLT,6E0100,866775050906767,,0,00000001,00000000,00000000,,,203FFFFF,,2,H779133,50.56,20,40,90,,L87.40,3960,32,2.14,1.17,0.97,7436.45,4365,BF,7FFF,3F,1F,3.56,1.11,00FFFFFF,,,,,,,,,,,,,,,,,,,,,0000,621,1324,,,,1,0.0,341,132.2,117.129509,31.839074,20220712052919,0460,0000,550B,0E9E30A5,00,20220712052920,009B$';
39
- var pnr = '+RESP:GTPNR,6E0100,863835020303983,,0,,,,,20170407094557,0633$';
40
- var pfr = '+RESP:GTPFR,6E0100,863835020303983,,0,,,,,20170407094542,0632$';
41
- var svr = '+RESP:GTSVR,6E0201,866775051512598,GV310LAU,1,78054125E8F7,7000000000000000000000,,1,0.0,0,56.8,117.129404,31.839378,20221201021215,0460,0000,550B,0E9E30A5,01,12,20221201021216,003D$';
42
- var lba = '+RESP:GTLBA,6E0200,866775050906544,GV310LAU,2,0003F,2,0.0,0,186.5,117.130213,31.839004,20220823071127,0460,0000,550B,0E9E30A5,00,20220823151129,67A6$';
43
- var wpb = '+RESP:GTWPB,6E0200,866775050906544,GV310LAU,00037,1,0.0,0,82.2,117.129451,31.839175,20220823072237,0460,0000,550B,0E9E30A5,00,20220823152238,67E3$';
44
- var asc = '+RESP:GTASC,6E0100,866775050906833,,0.59,0.81,-0.03,-0.71,0.50,-0.34,-0.26,0.22,0.87,1,30.4,186,45.3,117.078641,31.843373,20220831071416,0460,0000,550B,082E96AA,00,20220831071417,028A$';
45
- var hbe = '+RESP:GTHBE,6E0100,100000000000702,GV310LAU,,2,0,1,0.0,0,96.2,117.129379,31.839272,20210818060401,0460,0000,550B,B7B1,00,00280024004F,FFDB000D0049,956,443.3,20210818060403,0CC3$';
46
- var aur = '+RESP:GTAUR,6E0100,863835020303983,,1,1,1,,,,,0.1,0,54.8,117.201426,31.833038,20150407014904,0460,0001,D5D6,2B71,00,20150407094906,0640$';
47
- var dom = '+RESP:GTDOM,6E0100,861075020061602,,5,2,,0,28.5,101,66.8,117.206459,31.829773,20150323090457,0460,0001,5504,69D4,00,20150323170458,2970$';
48
- var avc = '+RESP:GTAVC,6E0200,867162025516360,,0,0,0.0,187,127.5,117.201765,31.832996,20171127034253,0460,0000,5678,2D80,00,78,20171127034254,1463$';
49
- var crg = '+RESP:GTCRG,6E0200,866775050906544,,1,10,1,1,0.0,18,113.5,117.129345,31.839108,20220826023709,2,1,0.0,18,113.5,117.129345,31.839108,20220826023710,3,1,0.0,18,113.5,117.129345,31.839108,20220826023711,4,1,0.0,18,113.5,117.129345,31.839108,20220826023712,5,1,0.0,18,113.5,117.129345,31.839108,20220826023713,6,1,0.0,18,113.5,117.129345,31.839108,20220826023714,7,1,0.0,18,113.5,117.129345,31.839108,20220826023715,8,1,0.0,18,113.5,117.129345,31.839108,20220826023716,9,1,0.0,18,113.5,117.129345,31.839108,20220826023717,10,1,0.0,18,113.5,117.129345,31.839108,20220826023718,20220826103719,1C77$';
50
- var crd = '+RESP:GTCRD,6E0200,866775050906544,,01,06,1,1,000B0001FFAB000B0001FFAB000B0001FFAB000B0001FFAB000B0001FFAB000B0001FFAB000B0001FFAB000B0001FFAB000B0001FFAB000B0001FFAB000B0001FFAB000B0001FFAB000B0001FFAB000B0001FFAB000C0001FFAB000B0001FFAB000B0003FFAB000C0001FFAB000B0001FFAB000B0001FFAB000C0001FFAB000B0001FFAB000B0001FFAB000B0002FFAB000B0001FFAB000B0001FFAB000B0001FFAB000B0001FFAB000B0001FFAB000B0001FFAB000C0001FFAB000B0001FFAB000C0001FFAB000B0001FFAB000C0001FFAB000B0001FFAB000B0001FFAB000B0002FFAC000B0001FFAB000B0001FFAB000B0001FFAB000B0001FFAB000B0002FFAB000B0001FFAB000B0001FFAB000B0001FFAB000B0003FFAB000C0001FFAB000B0001FFAB000B0002FFAB000B0002FFAB000C0001FFAB000F0003FFAB000C0002FFAB00070000FFAB000B0002FFAB000B0001FFAB000C0001FFAB000B0002FFAB000F0004FFB0000D0004FFAF00190001FFAB001CFFFDFFAB00110004FFAB0010FFFFFFAA00060002FFAB000E0001FFAB00140004FFAB00100006FFAB000E0006FFAB000F0006FFAB00100004FFAC00150001FFAA00140003FFAA0006000AFFAB00060003FFABFFFD0000FFABFFF4FFFDFFABFFE8FFFCFFABFFE9000BFFABFFB3FFFAFFAA,20220826103154,1C3F$';
51
- var acc = '+RESP:GTACC,6E0200,866775050906544,,000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0001FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000A0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000A0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000A0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB000B0002FFAB,,,,20220826104109,1C9E$';
52
- var can = '+RESP:GTCAN,6E0100,866775050906767,,0,1,E03FFFFF,LSVNY41Z0B2521894,2,H1230,2.46,865,10,77,M167.0,P97.60,,0,0.92,0.61,0.31,11.20,,,0442,,20,0.08,0.00,00FFFFFF,100,326,253,306,1,1,1,999,617,996,307,0.03,0.19,0.22,947,1111111111,2222222222,123456789012345678901234567890abcdefghij,98765abcdefghij36254iuelopiedj5duebdkvde,5647893214,0000,0,0,89,,,1,0.0,173,86.8,117.129379,31.838965,20220712054346,0460,0000,550B,0E9E30A5,00,20220712054348,00D4$';
53
- var vgl = '+RESP:GTVGL,270804,867162025516246,,,40,1,1,0.0,0,113.6,117.201344,31.832924,20171013053055,0460,0001,D5D6,8062B71,00,0.1,20171013053055,0573$';
54
- var dis = '+RESP:GTDIS,270804,863835020303983,,,11,1,1,0.0,165,59.5,117.201427,31.833061,20150407012708,0460,0001,D5D6,5281,00,3.6,20150407092709,05F3$';
55
- var hbm1 = '+RESP:GTHBM,270804,863835020307067,,,10,1,1,0.1,49,64.5,117.201427,31.833100,20150327012643,0460,0000,5665,47A1,00,34.0,20150327092644,031A$';
56
- var hbm2 = '+RESP:GTHBM,270804,863835020307067,,,11,1,1,12.0,330,72.8,117.201388,31.833175,20150327012737,0460,0000,5665,47A1,00,34.0,20150327092738,031D$';
57
- const raw = new Buffer(ver)
3
+ var tow = '+RESP:GTTOW,8020040100,866775051514578,GV58LAU,,00,1,2,0.0,184,71.4,117.129187,31.838864,20220903093322,0460,0001,DE10,027A4F1F,05,0,160201,0.0,20220903184328,01D9$'
4
+ var dis = '+RESP:GTDIS,8020040100,866775051514578,gv58lau-new,,11,1,1,0.0,0,57.9,117.129207,31.839437,20220903110133,0460,0001,DE10,027A4F1F,00,0.0,20220903190134,03D8$'
5
+ var iob = '+RESP:GTIOB,8020040100,866775051514578,GV58LAU,,11,1,1,0.0,185,79.0,117.129363,31.839355,20220903071031,0460,0001,DE10,027A4F1F,01,12,0.0,20220903162032,335B$'
6
+ var spd = '+RESP:GTSPD,8020040100,866775050904879,GV58LAU,,00,1,2,9.3,172,-125.5,117.129788,31.837960,20220901051906,0460,0000,550B,0E9E30A5,01,8,0.0,20220901142907,4682$'
7
+ var sos = '+RESP:GTSOS,8020040100,866775051514222,,,10,1,2,0.0,0,105.7,117.128819,31.838987,20220902112858,0460,0000,550B,B7A9,00,0.0,20220902203859,0108$'
8
+ var rtl = '+RESP:GTRTL,8020040100,866775050902360,GV58LAU,,00,1,2,0.0,192,75.4,117.129320,31.838312,20220901014153,0460,0000,550B,0E9E30A5,01,8,0.0,20220901105154,27D0$'
9
+ var dog = '+RESP:GTDOG,8020040100,866775051514222,GV58LAU,,01,1,1,0.0,353,143.9,,,20220902124759,,,,,01,10,0.0,20220902215800,0930$'
10
+ var igl = '+BUFF:GTIGL,8020040100,866775050902360,,,00,1,2,0.0,0,119.0,,,20220902113340,,,,,00,0.0,20220902204341,007A$'
11
+ var hbm = '+RESP:GTHBM,8020040100,866775051514636,,,21,1,1,74.1,88,42.6,117.155777,31.853153,20220907055211,0460,0000,550A,1FC3,00,2577.5,20220907135211,00A9$'
12
+ var vgl = '+RESP:GTVGL,8020040100,866775051514636,,,71,1,0,9.2,43,61.4,117.130234,31.839280,20220907084643,0460,0000,550B,B1E2,00,2655.0,20220907165007,0324$'
13
+ var fri1 = '+RESP:GTFRI,8020040100,866775051514636,,,30,1,1,43.3,0,43.8,117.128727,31.838200,20220907084517,0460,0000,550B,3D93,02,3,2654.6,00012:09:13,,,,100,220000,,,,20220907164518,030E$'
14
+ var fri2 = '+RESP:GTFRI,8020040100,866775051514636,,,31,1,1,10.1,42,45.9,117.128837,31.839333,20220907084541,0460,0000,550B,B1E2,00,2654.7,00012:09:37,,,,100,220000,,,,20220907164542,0310$'
15
+ var fri3 = '+RESP:GTFRI,8020040100,866775051514750,GV58LAU-4750,,10,1,0,0.0,93,76.0,117.129472,31.838465,20220907073039,0460,0000,550B,0E9E30A5,00,0.1,,,,,61,110000,,,,20220907074936,3DB6$'
16
+
17
+ var eri = '+RESP:GTERI,8020040100,866775050904879,GV58LAU,00000104,12639,12,1,1,0.0,184,97.5,,,20220907102510,,,,,01,10,0.0,00081:51:10,,,,100,410000,,0,203FFFFF,,,,,,,,,,,,,,,,,,,,,,,00FFFFFF,,,,,,,,,,,,,,,,,,,,,,,,,9,0,1,3,,001F,DU_100361,F022A2143F36,0,,,1,6,2,1A2E2AF0,003F,WTH300,AC233FA3545E,1,3252,26,42,2,1,0,,001F,TD_100109,FD6D3DE6D704,0,,,3,2,0,,001F,WTS300,78054101E641,0,,,4,1,0,0000008C,001F,TD_100114,D971858039B3,1,3500,24,5,2,0,0B8A1999,001F,WTS300,78054101E646,1,2954,25,7,10,1,,0017,DegreeT,EC6EC128DA26,0,,8,11,0,00000064,1007,MAG,D325C2B2A2F8,1,0,50,0,9,6,2,,003F,WTH300,AC233FA35461,0,,,,20220907193511,3449$'
18
+ var eps = '+RESP:GTEPS,8020040100,866775051514636,,12199,01,1,1,0.0,218,29.9,117.335647,31.825064,20220907062316,0000,0000,0000,0000,00,2598.1,20220907142317,0003$'
19
+ var ais = '+RESP:GTAIS,8020040100,866775050902360,GV58LAU,12526,51,1,0,0.0,0,119.0,117.129016,31.839147,20220902113606,0460,0000,550B,0E9E30A5,01,0,0.0,20220902115622,01D6$'
20
+ var ida = '+RESP:GTIDA,8020040100,866775050906544,GV58LAU,,DODF95D7,0,1,2,0.0,0,78.0,117.129264,31.839145,20220822111318,0460,0000,550B,0E9E30A5,00,0.0,,,,,20220822191319,4C95$'
21
+ var inf = '+RESP:GTINF,8020040100,866775051514461,GV58LAU-4461,11,89860121801394238030,18,0,0,0,,3.86,0,0,,,20220907073540,0,,,,00,00,+0000,0,20220907074942,3E02$'
22
+ var cid = '+RESP:GTCID,8020040100,866775051514578,,89860120801319061294,20220907183605,028B$'
23
+ var csq = '+RESP:GTCSQ,8020040100,866775051514578,,31,0,20220907183617,028D$'
24
+ var ver = '+RESP:GTVER,8020040100,866775051514578,,802004,0112,0101,20220907183635,028F$'
25
+ var ati = '+RESP:GTATI,8020040100,866775051514578,,00081031,0112,0101,0107,0102,A4,20220907184558,0299$'
26
+ var scs = '+RESP:GTSCS,8020040100,866775051514420,,2,-1.00,0.03,-0.03,0.03,1.00,0.04,0.03,0.04,-1.00,20220908100944,0173$'
27
+ var pna = '+RESP:GTPNA,8020040100,866775051514578,,20220907185947,029F$'
28
+ var pfa = '+RESP:GTPFA,8020040100,866775051514578,,20220907185924,029E$'
29
+ var pdp = '+RESP:GTPDP,8020040100,866775051515005, GV58LAU-5005,20220907084425,3F71$'
30
+ var mpn = '+RESP:GTMPN,8020040100,866775051514578,,0,,,,,,,0460,0000,550B,0E9E30AD,00,20220907135328,01C7$'
31
+ var mpf = '+RESP:GTMPF,8020040100,866775051514461,GV58LAU-4461,1,0.0,90,32.7,117.130049,31.839343,20220907072045,0460,0001,DE10,027A4F1F,00,20220907072046,3D82$'
32
+ var btc = '+RESP:GTBTC,8020040100,866775051514461,GV58LAU-4461,0,0.0,0,66.0,117.129260,31.838317,20220907073520,0460,0001,DE10,027A4F1F,00,20220907080836,3E51$'
33
+ var cra = '+RESP:GTCRA,8020040100,866775051514750,GV58LAU-4750,08,3,0.0,0,2.1,117.129271,31.839842,20220906121042,0460,0000,550B,0E9E30A5,00,20220906121043,0057$'
34
+ var asc = '+RESP:GTASC,8020040100,866775051515187,gv58lau,0.60,0.16,0.78,0.09,-0.99,0.13,0.79,-0.01,-0.61,1,43.1,269,55.0,117.106906,31.827183,20220906055127,0460,0000,550B,90C1,00,20220906135127,F78D$'
35
+ var hbe = '+RESP:GTHBE,8020040100,866775051514602,GV58LAU,,2,0,1,12.3,178,25.6,117.092176,31.814919,20220829063414,0460,0000,550B,045E83ED,05,12,110101,002E002E0057,FFDCFFFF0050,26,0.0,20220829143415,2A18$'
36
+ var dom = '+RESP:GTDOM,8020040100,861075020061602,,5,2,,0,28.5,101,66.8,117.206459,31.829773,20150323090457,0460,0001,5504,69D4,00,20150323170458,2970$'
37
+ var jdr = '+RESP:GTJDR,8020040100,866775051514578,gv58lau,3,0,,,,,,,,,,,00,20220906094142,005B$'
38
+ var jds = '+RESP:GTJDS,8020040100,866775051514578,gv58lau,1,3,1,0.0,301,159.8,117.130287,31.839002,20220906035631,0460,0001,DE11,05FE6667,00,20220906115633,143B$'
39
+ var bpl = '+RESP:GTBPL,8020040100,866775051514636,,3.70,0,9.2,43,61.4,,,20220907084643,,,,,00,20220907183835,035C$'
40
+ var stt = '+RESP:GTSTT,8020040100,866775051514578,,21,1,0.0,0,59.4,117.129073,31.839189,20220907110740,0460,0001,DE11,05FE6667,05,12,210100,20220907190741,02BB$'
41
+ var ign = '+RESP:GTIGN,8020040100,866775051514578,,1,0,0.0,0,59.4,117.129073,31.839189,20220907111325,0460,0001,DE11,05FE6667,05,12,220100,,0.0,20220907191327,02C0$'
42
+ var vgn = '+RESP:GTVGN,8020040100,866775051514610,GV58LAU,00,2,33030,0,0.0,61,106.5,,,20220907111355,,,,,05,12,210000,00037:29:43,0.0,20220907202356,2917$'
43
+ var igf = '+RESP:GTIGF,8020040100,866775051514578,,629,1,0.0,0,59.4,117.129073,31.839189,20220907111324,0460,0001,DE11,05FE6667,05,11,120000,,0.0,20220907191326,02BD$'
44
+ var vgf = '+RESP:GTVGF,8020040100,866775051514610,GV58LAU,00,2,179,0,0.0,0,56.7,117.129301,31.838517,20220905074304,0460,0001,DE11,05FE6667,05,0,110000,00009:23:37,0.0,20220905170424,02DA$'
45
+ var pnr = '+RESP:GTPNR,8020040100,866775050904879,GV58LAU,1,,,,,20200101000002,0000$'
46
+ var pfr = '+RESP:GTPFR,8020040100,866775050904879,GV58LAU,2,,,,,20220906112636,0054$'
47
+ var idn = '+RESP:GTIDN,8020040100,866775051514636,,,,0,17.3,99,44.7,117.131010,31.838832,20220907071625,0460,0000,550B,B7B1,00,2643.4,20220907151854,01E4$'
48
+ var str = '+RESP:GTSTR,8020040100,866775051514636,,,,1,48.0,268,42.7,117.131968,31.832302,20220907084327,0460,0000,550B,B366,00,2653.7,20220907164328,0300$'
49
+ var stp = '+RESP:GTSTP,8020040100,866775051514636,,,,0,9.2,43,61.4,117.130234,31.839280,20220907084643,0460,0000,550B,B1E2,05,12,210000,2655.0,20220907165003,0323$'
50
+ var lsp = '+RESP:GTLSP,8020040100,866775051514636,,,,1,0.0,218,50.5,117.133569,31.834964,20220907083954,0460,0000,550B,38A5,00,2653.2,20220907163955,02F1$'
51
+ var gsm = '+RESP:GTGSM,8020040100,866775051514578,GIR,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0460,0001,DE11,5FE6667,30,00,20220907191946,02C7$'
52
+ var gss = '+RESP:GTGSS,8020040100,866775050904879,GV58LAU,0,0,21,,0,0.0,215,8.4,,,20220901011124,,,,,05,0,210101,20220901013917,3B1E$'
53
+ var dos = '+RESP:GTDOS,8020040100,866775051514636,,2,0,0,48.4,179,26.7,117.092124,31.816150,20220905015638,0460,0000,550B,6991,05,12,210000,20220905095638,3FEB$'
54
+ var rmd = '+RESP:GTRMD,8020040100,866775050902360,GV58LAU,0,0,8.2,352,84.0,,,20220901013520,,,,,01,0,20220901013546,278F$'
55
+ var bcs = '+RESP:GTBCS,8020040100,866775051514578,gv58lau,,3,0.0,0,100.5,117.129156,31.839346,20220907024239,0460,0001,DE10,027A4F1F,05,12,210101,0D03,TT123,110E74503C84,1,1,F7E776096185,,,,,20220907104240,0022$'
56
+ var bds = '+RESP:GTBDS,8020040100,866775051514578,,,1,0.0,0,129.2,117.129230,31.839215,20220907112802,0460,0001,DE11,05FE6667,05,12,210100,0D03,556,110E74503C84,0,1,7E1E1E09BE4A,0,,,,20220907192803,02DA$'
57
+ var baa = '+RESP:GTBAA,8020040100,866775051514156,GV58LAU,1,6,2,08,003F,WTH300,AC233FA3545E,1,3252,25,43,1,0.0,188,111.0,,,20220907112844,,,,,05,12,210302,20220907203845,BB93$'
58
+ var bid = '+RESP:GTBID,8020040100,866775051514255,GV58LAU,2,2,008A,CE9BFAF3A557,,2,0102030405060708090A,010203040A0B,2,008A,E0EEDAA9CE7C,,2,010203040A0B0B0B0B0B,010203040A0B,1,0.0,0,213.7,117.128742,31.838863,20220906051123,0460,0000,550B,0E9E30A5,01,10,20220906051124,14FE$'
59
+ var clt = '+RESP:GTCLT,8020040100,866775051514065,GV58LAU,0,00000000,00000000,00000080,,,203FFFFF,,2,H1230,2.46,709,50 ,77,,P97.60,,0,0.92,0.61,0.31,11.20,,,0442,,00,0.08,0.00,00FFFFFF,,,,,,,,,,,,,,,,,,,,,0000,0,0,,,,0,,,,,,,0460,0000,550B,0E9E30A5,00,20220711075221,676E$'
60
+ var svr = '+RESP:GTSVR,8020040100,866775051515393,GV58LAU,1,780541217821,7000000000000000000000,,1,0.0,165,69.4,117.129187,31.839292,20220830115238,0460,0000,550B,B7A9,01,12,20220830195240,1079$'
61
+ var dat1 = '+RESP:GTDAT,8020040100,866775051514578,,wretr,20220907193747,02EA$'
62
+ var dat2 = '+RESP:GTDAT,8020040100,866775051514578,,1,,,wretr,1,0.0,0,129.2,117.129230,31.839215,20220907113723,0460,0001,DE11,05FE6667,01,12,,,,,20220907193724,02E7$'
63
+
64
+ var fri_ = '+RESP:GTFRI,6E0504,868589060064048,,12173,10,3,1,0.0,198,17.6,-71.542960,-32.972193,20240123232112,0730,0001,13EE,0032A502,01,12,1,23.0,198,17.6,-71.542960,-32.972193,20240123232112,0730,0001,13EE,0032A502,01,15,1,0.0,198,17.6,-71.542960,-32.972193,20240123232122,0730,0001,13EE,0032A502,01,12,0.0,0000006:05:06,,,,57,210100,,,,20240123232124,2A27$'
65
+ var eri_ = '+RESP:GTERI,6E0100,866775050906668,,00000002,,10,3,1,0.0,0,88.7,117.129265,31.839253,20220620104346,0460,0001,DE10,027A4F1F,00,1,0.0,0,88.7,117.129265,31.839253,20220620104346,0460,0001,DE10,027A4F1F,00,1,0.0,0,88.7,117.129265,31.839253,20220620104346,0460,0001,DE10,027A4F1F,00,0.0,,,,,100,220100,2,3,2836369E0A0000C7,1,01C7,283E1E41030000B5,1,01B3,28C54DC5080000F2,1,01AF,20220620104347,02BE$'
66
+ var fri__ = '+RESP:GTFRI,8020040100,866775051514636,,,30,3,1,43.3,0,43.8,117.128727,31.838200,20220907084517,0460,0000,550B,3D93,02,3,1,43.3,0,43.8,117.128727,31.838200,20220907084517,0460,0000,550B,3D93,02,3,1,43.3,0,43.8,117.128727,31.838200,20220907084517,0460,0000,550B,3D93,02,3,2654.6,00012:09:13,,,,100,220000,,,,20220907164518,030E$'
67
+ var eri__ = '+RESP:GTERI,8020040100,866775050904879,GV58LAU,00000104,12639,12,3,1,0.0,184,97.5,,,20220907102510,,,,,01,10,1,0.0,184,97.5,,,20220907102510,,,,,01,10,1,0.0,184,97.5,,,20220907102510,,,,,01,10,0.0,00081:51:10,,,,100,410000,,0,203FFFFF,,,,,,,,,,,,,,,,,,,,,,,00FFFFFF,,,,,,,,,,,,,,,,,,,,,,,,,9,0,1,3,,001F,DU_100361,F022A2143F36,0,,,1,6,2,1A2E2AF0,003F,WTH300,AC233FA3545E,1,3252,26,42,2,1,0,,001F,TD_100109,FD6D3DE6D704,0,,,3,2,0,,001F,WTS300,78054101E641,0,,,4,1,0,0000008C,001F,TD_100114,D971858039B3,1,3500,24,5,2,0,0B8A1999,001F,WTS300,78054101E646,1,2954,25,7,10,1,,0017,DegreeT,EC6EC128DA26,0,,8,11,0,00000064,1007,MAG,D325C2B2A2F8,1,0,50,0,9,6,2,,003F,WTH300,AC233FA35461,0,,,,20220907193511,3449$'
68
+ var fri___ = '+RESP:GTFRI,271002,863457051607917,,13098,50,2,1,0.0,268,2269.3,-68.926107,-22.455379,20231204113757,0730,0003,2249,97D48,00,1,0.0,268,2269.3,-68.926107,-22.455379,20231204113806,0730,0003,2249,97D48,00,7602.5,00373:19:50,,,97,210300,,,,20231204113816,53FF$'
69
+ const raw = new Buffer(eri_)
58
70
  console.log(queclink.parse(raw))
59
71
  // queclink.parse(raw)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "queclink-parser",
3
- "version": "1.8.5",
3
+ "version": "1.9.1",
4
4
  "description": "Parse raw data from Queclink devices",
5
5
  "main": "src",
6
6
  "scripts": {
package/src/gv300w.js CHANGED
@@ -32,7 +32,14 @@ const parse = raw => {
32
32
  if (command[1] === 'GTFRI') {
33
33
  try {
34
34
  let number = parsedData[6] !== '' ? parseInt(parsedData[6], 10) : 1
35
- let index = 6 + 12 * number // odometer
35
+ let index = 6 + 12 * number
36
+ let satelliteInfo = false
37
+
38
+ // If get satellites is configured
39
+ if (utils.includeSatellites(parsedData[18])) {
40
+ index = 6 + 13 * number
41
+ satelliteInfo = true
42
+ }
36
43
 
37
44
  data = Object.assign(data, {
38
45
  alarm: utils.getAlarm(command[1], null),
@@ -135,6 +142,10 @@ const parse = raw => {
135
142
  mnc: parsedData[15] !== '' ? parseInt(parsedData[15], 10) : null,
136
143
  lac: parsedData[16] !== '' ? parseInt(parsedData[16], 16) : null,
137
144
  cid: parsedData[17] !== '' ? parseInt(parsedData[17], 16) : null,
145
+ satellites:
146
+ satelliteInfo && parsedData[index] !== ''
147
+ ? parseInt(parsedData[index], 10)
148
+ : null,
138
149
  odometer:
139
150
  parsedData[index + 1] !== ''
140
151
  ? parseFloat(parsedData[index + 1])
@@ -144,13 +155,83 @@ const parse = raw => {
144
155
  ? utils.getHoursForHourmeter(parsedData[index + 2])
145
156
  : null
146
157
  })
158
+
159
+ // More than 1 GNSS report in data
160
+ if (number > 1) {
161
+ let moreData = []
162
+ for (let i = 1; i < number; i++) {
163
+ let gnssIx = satelliteInfo ? 7 + 13 * i : 7 + 12 * i
164
+ moreData.push({
165
+ index: i,
166
+ loc: {
167
+ type: 'Point',
168
+ coordinates: [
169
+ parseFloat(parsedData[gnssIx + 4]),
170
+ parseFloat(parsedData[gnssIx + 5])
171
+ ]
172
+ },
173
+ speed:
174
+ parsedData[gnssIx + 1] !== ''
175
+ ? parseFloat(parsedData[gnssIx + 1])
176
+ : null,
177
+ gpsStatus: utils.checkGps(
178
+ parseFloat(parsedData[gnssIx + 4]),
179
+ parseFloat(parsedData[gnssIx + 5])
180
+ ),
181
+ hdop:
182
+ parsedData[gnssIx] !== '' ? parseFloat(parsedData[gnssIx]) : null,
183
+ azimuth:
184
+ parsedData[gnssIx + 2] !== ''
185
+ ? parseFloat(parsedData[gnssIx + 2])
186
+ : null,
187
+ altitude:
188
+ parsedData[gnssIx + 3] !== ''
189
+ ? parseFloat(parsedData[gnssIx + 3])
190
+ : null,
191
+ datetime:
192
+ parsedData[gnssIx + 6] !== ''
193
+ ? utils.parseDate(parsedData[gnssIx + 6])
194
+ : null,
195
+ mcc:
196
+ parsedData[gnssIx + 7] !== ''
197
+ ? parseInt(parsedData[gnssIx + 7], 10)
198
+ : null,
199
+ mnc:
200
+ parsedData[gnssIx + 8] !== ''
201
+ ? parseInt(parsedData[gnssIx + 8], 10)
202
+ : null,
203
+ lac:
204
+ parsedData[gnssIx + 9] !== ''
205
+ ? parseInt(parsedData[gnssIx + 9], 16)
206
+ : null,
207
+ cid:
208
+ parsedData[gnssIx + 10] !== ''
209
+ ? parseInt(parsedData[gnssIx + 10], 16)
210
+ : null,
211
+ satellites:
212
+ satelliteInfo && parsedData[gnssIx + 12] !== ''
213
+ ? parseInt(parsedData[gnssIx + 12], 10)
214
+ : null
215
+ })
216
+ }
217
+
218
+ data = Object.assign(data, { moreData: moreData })
219
+ }
147
220
  } catch (err) {
148
221
  return { type: 'UNKNOWN', raw: data.raw.toString() }
149
222
  }
150
223
  } else if (command[1] === 'GTERI') {
151
224
  // GPS with AC100 Devices Connected
152
225
  let number = parsedData[7] !== '' ? parseInt(parsedData[7], 10) : 1
153
- let index = 7 + 12 * number // odometer
226
+ let index = 7 + 12 * number // position append mask
227
+ let satelliteInfo = false
228
+
229
+ // If get satellites is configured
230
+ if (utils.includeSatellites(parsedData[19])) {
231
+ index = 6 + 13 * number
232
+ satelliteInfo = true
233
+ }
234
+
154
235
  data = Object.assign(data, {
155
236
  alarm: utils.getAlarm(command[1], null),
156
237
  loc: {
@@ -251,6 +332,10 @@ const parse = raw => {
251
332
  mnc: parsedData[16] !== '' ? parseInt(parsedData[16], 10) : null,
252
333
  lac: parsedData[17] !== '' ? parseInt(parsedData[17], 16) : null,
253
334
  cid: parsedData[18] !== '' ? parseInt(parsedData[18], 16) : null,
335
+ satellites:
336
+ satelliteInfo && parsedData[index] !== ''
337
+ ? parseFloat(parsedData[index])
338
+ : null,
254
339
  odometer:
255
340
  parsedData[index + 1] !== '' ? parseFloat(parsedData[index + 1]) : null,
256
341
  hourmeter:
@@ -415,6 +500,68 @@ const parse = raw => {
415
500
  data = Object.assign(data, {
416
501
  externalData: externalData
417
502
  })
503
+
504
+ // More than 1 GNSS report in data
505
+ if (number > 1) {
506
+ let moreData = []
507
+ for (let i = 1; i < number; i++) {
508
+ let gnssIx = satelliteInfo ? 8 + 13 * i : 8 + 12 * i
509
+ moreData.push({
510
+ index: i,
511
+ loc: {
512
+ type: 'Point',
513
+ coordinates: [
514
+ parseFloat(parsedData[gnssIx + 4]),
515
+ parseFloat(parsedData[gnssIx + 5])
516
+ ]
517
+ },
518
+ speed:
519
+ parsedData[gnssIx + 1] !== ''
520
+ ? parseFloat(parsedData[gnssIx + 1])
521
+ : null,
522
+ gpsStatus: utils.checkGps(
523
+ parseFloat(parsedData[gnssIx + 4]),
524
+ parseFloat(parsedData[gnssIx + 5])
525
+ ),
526
+ hdop:
527
+ parsedData[gnssIx] !== '' ? parseFloat(parsedData[gnssIx]) : null,
528
+ azimuth:
529
+ parsedData[gnssIx + 2] !== ''
530
+ ? parseFloat(parsedData[gnssIx + 2])
531
+ : null,
532
+ altitude:
533
+ parsedData[gnssIx + 3] !== ''
534
+ ? parseFloat(parsedData[gnssIx + 3])
535
+ : null,
536
+ datetime:
537
+ parsedData[gnssIx + 6] !== ''
538
+ ? utils.parseDate(parsedData[gnssIx + 6])
539
+ : null,
540
+ mcc:
541
+ parsedData[gnssIx + 7] !== ''
542
+ ? parseInt(parsedData[gnssIx + 7], 10)
543
+ : null,
544
+ mnc:
545
+ parsedData[gnssIx + 8] !== ''
546
+ ? parseInt(parsedData[gnssIx + 8], 10)
547
+ : null,
548
+ lac:
549
+ parsedData[gnssIx + 9] !== ''
550
+ ? parseInt(parsedData[gnssIx + 9], 16)
551
+ : null,
552
+ cid:
553
+ parsedData[gnssIx + 10] !== ''
554
+ ? parseInt(parsedData[gnssIx + 10], 16)
555
+ : null,
556
+ satellites:
557
+ satelliteInfo && parsedData[gnssIx + 12] !== ''
558
+ ? parseInt(parsedData[gnssIx + 12], 10)
559
+ : null
560
+ })
561
+ }
562
+
563
+ data = Object.assign(data, { moreData: moreData })
564
+ }
418
565
  } else if (command[1] === 'GTHBD') {
419
566
  // Heartbeat. It must response an ACK command
420
567
  data = Object.assign(data, {