queclink-parser 1.9.28 → 1.9.31

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/src/gv300w.js CHANGED
@@ -23,7 +23,7 @@ const parse = raw => {
23
23
  imei: parsedData[2],
24
24
  protocolVersion: utils.getProtocolVersion(parsedData[1]),
25
25
  temperature: null,
26
- history: history,
26
+ history,
27
27
  sentTime: utils.parseDate(parsedData[parsedData.length - 2]),
28
28
  serialId: parseInt(parsedData[parsedData.length - 1], 16)
29
29
  }
@@ -31,7 +31,7 @@ const parse = raw => {
31
31
  // Gps
32
32
  if (command[1] === 'GTFRI') {
33
33
  try {
34
- let number = parsedData[6] !== '' ? parseInt(parsedData[6], 10) : 1
34
+ const number = parsedData[6] !== '' ? parseInt(parsedData[6], 10) : 1
35
35
  let index = 6 + 12 * number
36
36
  let satelliteInfo = false
37
37
 
@@ -58,28 +58,28 @@ const parse = raw => {
58
58
  raw: parsedData[index + 6],
59
59
  sos: false,
60
60
  input: {
61
- '1':
61
+ 1:
62
62
  utils.nHexDigit(
63
63
  utils.hex2bin(
64
64
  utils.nHexDigit(parsedData[index + 6], 10).substring(6, 8)
65
65
  ),
66
66
  4
67
67
  )[3] === '1',
68
- '2':
68
+ 2:
69
69
  utils.nHexDigit(
70
70
  utils.hex2bin(
71
71
  utils.nHexDigit(parsedData[index + 6], 10).substring(6, 8)
72
72
  ),
73
73
  4
74
74
  )[2] === '1',
75
- '3':
75
+ 3:
76
76
  utils.nHexDigit(
77
77
  utils.hex2bin(
78
78
  utils.nHexDigit(parsedData[index + 6], 10).substring(6, 8)
79
79
  ),
80
80
  4
81
81
  )[1] === '1',
82
- '4':
82
+ 4:
83
83
  utils.nHexDigit(
84
84
  utils.hex2bin(
85
85
  utils.nHexDigit(parsedData[index + 6], 10).substring(6, 8)
@@ -88,21 +88,21 @@ const parse = raw => {
88
88
  )[0] === '1'
89
89
  },
90
90
  output: {
91
- '1':
91
+ 1:
92
92
  utils.nHexDigit(
93
93
  utils.hex2bin(
94
94
  utils.nHexDigit(parsedData[index + 6], 10).substring(8, 10)
95
95
  ),
96
96
  3
97
97
  )[2] === '1',
98
- '2':
98
+ 2:
99
99
  utils.nHexDigit(
100
100
  utils.hex2bin(
101
101
  utils.nHexDigit(parsedData[index + 6], 10).substring(8, 10)
102
102
  ),
103
103
  3
104
104
  )[1] === '1',
105
- '3':
105
+ 3:
106
106
  utils.nHexDigit(
107
107
  utils.hex2bin(
108
108
  utils.nHexDigit(parsedData[index + 6], 10).substring(8, 10)
@@ -114,8 +114,8 @@ const parse = raw => {
114
114
  state:
115
115
  utils.nHexDigit(parsedData[index + 6], 10).substring(4, 6) !== ''
116
116
  ? utils.states[ // eslint-disable-line
117
- utils.nHexDigit(parsedData[index + 6], 10).substring(4, 6)
118
- ]
117
+ utils.nHexDigit(parsedData[index + 6], 10).substring(4, 6)
118
+ ]
119
119
  : null
120
120
  },
121
121
  azimuth: parsedData[9] !== '' ? parseFloat(parsedData[9]) : null,
@@ -164,9 +164,9 @@ const parse = raw => {
164
164
 
165
165
  // More than 1 GNSS report in data
166
166
  if (number > 1) {
167
- let moreData = []
167
+ const moreData = []
168
168
  for (let i = 1; i < number; i++) {
169
- let gnssIx = satelliteInfo ? 7 + 13 * i : 7 + 12 * i
169
+ const gnssIx = satelliteInfo ? 7 + 13 * i : 7 + 12 * i
170
170
  moreData.push({
171
171
  index: i,
172
172
  loc: {
@@ -221,14 +221,14 @@ const parse = raw => {
221
221
  })
222
222
  }
223
223
 
224
- data = Object.assign(data, { moreData: moreData })
224
+ data = Object.assign(data, { moreData })
225
225
  }
226
226
  } catch (err) {
227
227
  return { type: 'UNKNOWN', raw: data.raw.toString() }
228
228
  }
229
229
  } else if (command[1] === 'GTERI') {
230
230
  // GPS with AC100 Devices Connected
231
- let number = parsedData[7] !== '' ? parseInt(parsedData[7], 10) : 1
231
+ const number = parsedData[7] !== '' ? parseInt(parsedData[7], 10) : 1
232
232
  let index = 7 + 12 * number // position append mask
233
233
  let satelliteInfo = false
234
234
 
@@ -255,28 +255,28 @@ const parse = raw => {
255
255
  raw: parsedData[index + 6],
256
256
  sos: false,
257
257
  input: {
258
- '1':
258
+ 1:
259
259
  utils.nHexDigit(
260
260
  utils.hex2bin(
261
261
  utils.nHexDigit(parsedData[index + 6], 10).substring(6, 8)
262
262
  ),
263
263
  4
264
264
  )[3] === '1',
265
- '2':
265
+ 2:
266
266
  utils.nHexDigit(
267
267
  utils.hex2bin(
268
268
  utils.nHexDigit(parsedData[index + 6], 10).substring(6, 8)
269
269
  ),
270
270
  4
271
271
  )[2] === '1',
272
- '3':
272
+ 3:
273
273
  utils.nHexDigit(
274
274
  utils.hex2bin(
275
275
  utils.nHexDigit(parsedData[index + 6], 10).substring(6, 8)
276
276
  ),
277
277
  4
278
278
  )[1] === '1',
279
- '4':
279
+ 4:
280
280
  utils.nHexDigit(
281
281
  utils.hex2bin(
282
282
  utils.nHexDigit(parsedData[index + 6], 10).substring(6, 8)
@@ -285,21 +285,21 @@ const parse = raw => {
285
285
  )[0] === '1'
286
286
  },
287
287
  output: {
288
- '1':
288
+ 1:
289
289
  utils.nHexDigit(
290
290
  utils.hex2bin(
291
291
  utils.nHexDigit(parsedData[index + 6], 10).substring(8, 10)
292
292
  ),
293
293
  3
294
294
  )[2] === '1',
295
- '2':
295
+ 2:
296
296
  utils.nHexDigit(
297
297
  utils.hex2bin(
298
298
  utils.nHexDigit(parsedData[index + 6], 10).substring(8, 10)
299
299
  ),
300
300
  3
301
301
  )[1] === '1',
302
- '3':
302
+ 3:
303
303
  utils.nHexDigit(
304
304
  utils.hex2bin(
305
305
  utils.nHexDigit(parsedData[index + 6], 10).substring(8, 10)
@@ -311,8 +311,8 @@ const parse = raw => {
311
311
  state:
312
312
  utils.nHexDigit(parsedData[index + 6], 10).substring(4, 6) !== ''
313
313
  ? utils.states[ // eslint-disable-line
314
- utils.nHexDigit(parsedData[index + 6], 10).substring(4, 6)
315
- ]
314
+ utils.nHexDigit(parsedData[index + 6], 10).substring(4, 6)
315
+ ]
316
316
  : null
317
317
  },
318
318
  azimuth: parsedData[10] !== '' ? parseFloat(parsedData[10]) : null,
@@ -368,16 +368,18 @@ const parse = raw => {
368
368
  const ac100DevicesConnected =
369
369
  AC100 && digitFuelSensor
370
370
  ? parseInt(parsedData[index + 9], 10)
371
- : AC100 && !digitFuelSensor ? parseInt(parsedData[index + 8], 10) : 0
371
+ : AC100 && !digitFuelSensor
372
+ ? parseInt(parsedData[index + 8], 10)
373
+ : 0
372
374
 
373
375
  let externalData = {
374
376
  eriMask: {
375
377
  raw: parsedData[4],
376
- digitFuelSensor: digitFuelSensor,
377
- AC100: AC100,
378
- reserved: reserved,
379
- fuelLevelPercentage: fuelLevelPercentage,
380
- fuelVolume: fuelVolume
378
+ digitFuelSensor,
379
+ AC100,
380
+ reserved,
381
+ fuelLevelPercentage,
382
+ fuelVolume
381
383
  },
382
384
  uartDeviceType: utils.uartDeviceTypes[parsedData[index + 7]]
383
385
  }
@@ -396,17 +398,17 @@ const parse = raw => {
396
398
  fuelVolume && fuelLevelPercentage && parsedData[index + 12] !== ''
397
399
  ? parseInt(parsedData[index + 12], 10)
398
400
  : fuelVolume &&
399
- !fuelLevelPercentage &&
400
- parsedData[index + 11] !== ''
401
+ !fuelLevelPercentage &&
402
+ parsedData[index + 11] !== ''
401
403
  ? parseInt(parsedData[index + 11], 10)
402
404
  : null
403
405
  },
404
406
  AC100Devices: null
405
407
  })
406
408
  } else if (!digitFuelSensor && AC100) {
407
- let ac100Devices = []
409
+ const ac100Devices = []
408
410
  let count = index + 10
409
- for (var i = 0; i < ac100DevicesConnected; i++) {
411
+ for (let i = 0; i < ac100DevicesConnected; i++) {
410
412
  ac100Devices.push({
411
413
  deviceNumber: parsedData[count],
412
414
  deviceType: parsedData[count + 1],
@@ -421,12 +423,14 @@ const parse = raw => {
421
423
  AC100Devices: ac100Devices
422
424
  })
423
425
  } else if (digitFuelSensor && AC100) {
424
- let ac100Devices = []
426
+ const ac100Devices = []
425
427
  let count =
426
428
  fuelVolume && fuelLevelPercentage
427
429
  ? 33
428
- : fuelVolume && !fuelLevelPercentage ? index + 13 : index + 12
429
- for (var j = 0; j < ac100DevicesConnected; j++) {
430
+ : fuelVolume && !fuelLevelPercentage
431
+ ? index + 13
432
+ : index + 12
433
+ for (let j = 0; j < ac100DevicesConnected; j++) {
430
434
  ac100Devices.push({
431
435
  deviceNumber: parsedData[count],
432
436
  deviceType: parsedData[count + 1],
@@ -448,8 +452,8 @@ const parse = raw => {
448
452
  fuelVolume && fuelLevelPercentage && parsedData[index + 13] !== ''
449
453
  ? parseInt(parsedData[index + 13], 10)
450
454
  : fuelVolume &&
451
- !fuelLevelPercentage &&
452
- parsedData[index + 12] !== ''
455
+ !fuelLevelPercentage &&
456
+ parsedData[index + 12] !== ''
453
457
  ? parseInt(parsedData[index + 12], 10)
454
458
  : null
455
459
  },
@@ -459,9 +463,9 @@ const parse = raw => {
459
463
  } else if (parsedData[index + 7] === '2') {
460
464
  // AC100 1 Wire Bus
461
465
  if (!digitFuelSensor && AC100) {
462
- let ac100Devices = []
466
+ const ac100Devices = []
463
467
  let count = index + 9
464
- for (var k = 0; k < ac100DevicesConnected; k++) {
468
+ for (let k = 0; k < ac100DevicesConnected; k++) {
465
469
  ac100Devices.push({
466
470
  deviceNumber: parsedData[count],
467
471
  deviceType: parsedData[count + 1],
@@ -486,9 +490,9 @@ const parse = raw => {
486
490
  AC100Devices: null
487
491
  })
488
492
  } else if (digitFuelSensor && AC100) {
489
- let ac100Devices = []
493
+ const ac100Devices = []
490
494
  let count = index + 10
491
- for (var l = 0; l < ac100DevicesConnected; l++) {
495
+ for (let l = 0; l < ac100DevicesConnected; l++) {
492
496
  ac100Devices.push({
493
497
  deviceNumber: parsedData[count],
494
498
  deviceType: parsedData[count + 1],
@@ -510,14 +514,14 @@ const parse = raw => {
510
514
  }
511
515
  }
512
516
  data = Object.assign(data, {
513
- externalData: externalData
517
+ externalData
514
518
  })
515
519
 
516
520
  // More than 1 GNSS report in data
517
521
  if (number > 1) {
518
- let moreData = []
522
+ const moreData = []
519
523
  for (let i = 1; i < number; i++) {
520
- let gnssIx = satelliteInfo ? 8 + 13 * i : 8 + 12 * i
524
+ const gnssIx = satelliteInfo ? 8 + 13 * i : 8 + 12 * i
521
525
  moreData.push({
522
526
  index: i,
523
527
  loc: {
@@ -572,7 +576,7 @@ const parse = raw => {
572
576
  })
573
577
  }
574
578
 
575
- data = Object.assign(data, { moreData: moreData })
579
+ data = Object.assign(data, { moreData })
576
580
  }
577
581
  } else if (command[1] === 'GTHBD') {
578
582
  // Heartbeat. It must response an ACK command
@@ -603,16 +607,16 @@ const parse = raw => {
603
607
  raw: parsedData[18] + parsedData[19],
604
608
  sos: false,
605
609
  input: {
606
- '4': utils.nHexDigit(utils.hex2bin(parsedData[20][1]), 4)[0] === '1',
607
- '3': utils.nHexDigit(utils.hex2bin(parsedData[20][1]), 4)[1] === '1',
608
- '2': utils.nHexDigit(utils.hex2bin(parsedData[20][1]), 4)[2] === '1',
609
- '1': utils.nHexDigit(utils.hex2bin(parsedData[20][1]), 4)[3] === '1'
610
+ 4: utils.nHexDigit(utils.hex2bin(parsedData[20][1]), 4)[0] === '1',
611
+ 3: utils.nHexDigit(utils.hex2bin(parsedData[20][1]), 4)[1] === '1',
612
+ 2: utils.nHexDigit(utils.hex2bin(parsedData[20][1]), 4)[2] === '1',
613
+ 1: utils.nHexDigit(utils.hex2bin(parsedData[20][1]), 4)[3] === '1'
610
614
  },
611
615
  output: {
612
- '4': utils.nHexDigit(utils.hex2bin(parsedData[19][1]), 4)[0] === '1',
613
- '3': utils.nHexDigit(utils.hex2bin(parsedData[19][1]), 4)[1] === '1',
614
- '2': utils.nHexDigit(utils.hex2bin(parsedData[19][1]), 4)[2] === '1',
615
- '1': utils.nHexDigit(utils.hex2bin(parsedData[19][1]), 4)[3] === '1'
616
+ 4: utils.nHexDigit(utils.hex2bin(parsedData[19][1]), 4)[0] === '1',
617
+ 3: utils.nHexDigit(utils.hex2bin(parsedData[19][1]), 4)[1] === '1',
618
+ 2: utils.nHexDigit(utils.hex2bin(parsedData[19][1]), 4)[2] === '1',
619
+ 1: utils.nHexDigit(utils.hex2bin(parsedData[19][1]), 4)[3] === '1'
616
620
  },
617
621
  charge: parsedData[8] === '1'
618
622
  },
@@ -721,8 +725,8 @@ const parse = raw => {
721
725
  })
722
726
  } else if (command[1] === 'GTTMP') {
723
727
  // Temperature Alarm
724
- let number = parsedData[7] !== '' ? parseInt(parsedData[7], 10) : 1
725
- let index = 8 + 12 * number // odometer
728
+ const number = parsedData[7] !== '' ? parseInt(parsedData[7], 10) : 1
729
+ const index = 8 + 12 * number // odometer
726
730
  data = Object.assign(data, {
727
731
  alarm: utils.getAlarm(command[1], parsedData[6], [
728
732
  parsedData[index + 9],
@@ -743,27 +747,27 @@ const parse = raw => {
743
747
  raw: `${parsedData[index + 4]}${parsedData[index + 5]}`,
744
748
  sos: false,
745
749
  input: {
746
- '4':
750
+ 4:
747
751
  utils.nHexDigit(utils.hex2bin(parsedData[index + 4][1]), 4)[0] ===
748
752
  '1',
749
- '3':
753
+ 3:
750
754
  utils.nHexDigit(utils.hex2bin(parsedData[index + 4][1]), 4)[1] ===
751
755
  '1',
752
- '2':
756
+ 2:
753
757
  utils.nHexDigit(utils.hex2bin(parsedData[index + 4][1]), 4)[2] ===
754
758
  '1',
755
- '1':
759
+ 1:
756
760
  utils.nHexDigit(utils.hex2bin(parsedData[index + 4][1]), 4)[3] ===
757
761
  '1'
758
762
  },
759
763
  output: {
760
- '3':
764
+ 3:
761
765
  utils.nHexDigit(utils.hex2bin(parsedData[index + 5][1]), 4)[1] ===
762
766
  '1',
763
- '2':
767
+ 2:
764
768
  utils.nHexDigit(utils.hex2bin(parsedData[index + 5][1]), 4)[2] ===
765
769
  '1',
766
- '1':
770
+ 1:
767
771
  utils.nHexDigit(utils.hex2bin(parsedData[index + 5][1]), 4)[3] ===
768
772
  '1'
769
773
  },
@@ -1236,15 +1240,15 @@ const parse = raw => {
1236
1240
  hourmeter: null
1237
1241
  })
1238
1242
  } else if (command[1] === 'GTCAN') {
1239
- let inicatorsBin =
1243
+ const inicatorsBin =
1240
1244
  parsedData[24] !== ''
1241
1245
  ? utils.nHexDigit(utils.hex2bin(parsedData[24]), 16)
1242
1246
  : null
1243
- let lights =
1247
+ const lights =
1244
1248
  parsedData[25] !== ''
1245
1249
  ? utils.nHexDigit(utils.hex2bin(parsedData[25]), 8)
1246
1250
  : null
1247
- let doors =
1251
+ const doors =
1248
1252
  parsedData[26] !== ''
1249
1253
  ? utils.nHexDigit(utils.hex2bin(parsedData[26]), 8)
1250
1254
  : null
@@ -1425,7 +1429,7 @@ const parse = raw => {
1425
1429
  uartDeviceType: 'Camaleon',
1426
1430
  fuelSensorData: null
1427
1431
  }
1428
- let AC100Devices = [
1432
+ const AC100Devices = [
1429
1433
  {
1430
1434
  deviceNumber: `${parsedData[2]}|1`,
1431
1435
  deviceType: '1',
@@ -1442,11 +1446,11 @@ const parse = raw => {
1442
1446
  })
1443
1447
  }
1444
1448
  externalData = Object.assign(externalData, {
1445
- AC100Devices: AC100Devices
1449
+ AC100Devices
1446
1450
  })
1447
1451
  data = Object.assign(data, {
1448
1452
  alarm: utils.getAlarm('GTERI', null),
1449
- externalData: externalData
1453
+ externalData
1450
1454
  })
1451
1455
  } else if (/^>ET/.test(parsedData[7])) {
1452
1456
  // Temp Alarms
@@ -1458,7 +1462,7 @@ const parse = raw => {
1458
1462
  parsedSerialData[4]
1459
1463
  ])
1460
1464
  data = Object.assign(data, {
1461
- alarm: alarm
1465
+ alarm
1462
1466
  })
1463
1467
  } else if (/^>ID/.test(parsedData[7])) {
1464
1468
  // Checks if its a iButton GTDAT -> DT
@@ -1467,7 +1471,7 @@ const parse = raw => {
1467
1471
  const driverID = parsedSerialData[2] ? parsedSerialData[2] : ''
1468
1472
  const alarm = utils.getAlarm('GTIDA', `${driverID},1`)
1469
1473
  data = Object.assign(data, {
1470
- alarm: alarm
1474
+ alarm
1471
1475
  })
1472
1476
  } else {
1473
1477
  // Normal GTDAT
@@ -1597,5 +1601,5 @@ const parse = raw => {
1597
1601
  }
1598
1602
 
1599
1603
  module.exports = {
1600
- parse: parse
1604
+ parse
1601
1605
  }