queclink-parser 1.8.3 → 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 +37 -0
- package/example.js +67 -51
- package/package.json +1 -1
- package/src/gv300w.js +149 -2
- package/src/gv310lau.js +264 -93
- package/src/gv58lau.js +3346 -0
- package/src/index.js +3 -0
- package/src/messages/es.json +26 -26
- package/src/utils.js +164 -48
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,40 @@
|
|
|
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
|
+
|
|
30
|
+
#### 1.8.5 (2024-01-11)
|
|
31
|
+
|
|
32
|
+
#### 1.8.4 (2024-01-11)
|
|
33
|
+
|
|
34
|
+
##### Bug Fixes
|
|
35
|
+
|
|
36
|
+
* **replace:** new 'replace' deleted in utils. ([37598dfc](https://github.com/jaayesta/queclink-parser/commit/37598dfc8017fbbf8d0ea2ed40228c3f31408f7e))
|
|
37
|
+
|
|
1
38
|
#### 1.8.3 (2024-01-08)
|
|
2
39
|
|
|
3
40
|
#### 1.8.2 (2024-01-08)
|
package/example.js
CHANGED
|
@@ -1,55 +1,71 @@
|
|
|
1
1
|
const queclink = require('.');
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
|
|
17
|
-
var
|
|
18
|
-
var
|
|
19
|
-
var
|
|
20
|
-
var
|
|
21
|
-
var
|
|
22
|
-
var
|
|
23
|
-
var
|
|
24
|
-
var
|
|
25
|
-
var
|
|
26
|
-
var
|
|
27
|
-
var
|
|
28
|
-
var
|
|
29
|
-
var
|
|
30
|
-
var
|
|
31
|
-
var
|
|
32
|
-
var
|
|
33
|
-
var
|
|
34
|
-
var
|
|
35
|
-
var
|
|
36
|
-
var
|
|
37
|
-
var
|
|
38
|
-
var
|
|
39
|
-
var
|
|
40
|
-
var
|
|
41
|
-
var
|
|
42
|
-
var
|
|
43
|
-
var
|
|
44
|
-
var
|
|
45
|
-
var
|
|
46
|
-
var
|
|
47
|
-
var
|
|
48
|
-
var
|
|
49
|
-
var
|
|
50
|
-
var
|
|
51
|
-
var
|
|
52
|
-
var
|
|
53
|
-
|
|
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_)
|
|
54
70
|
console.log(queclink.parse(raw))
|
|
55
71
|
// queclink.parse(raw)
|
package/package.json
CHANGED
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
|
|
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 //
|
|
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, {
|