@ovok/native 1.10.11 → 1.10.12
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/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js +1 -0
- package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.js +107 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-variants.js +2 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-variants.js.map +1 -1
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js +3 -0
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/built-in-measurement-types.js +2 -0
- package/lib/commonjs/modules/bt-management/constants/built-in-measurement-types.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/device-variants.js +2 -1
- package/lib/commonjs/modules/bt-management/constants/device-variants.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js +1 -1
- package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/transtek-a6-device-variants.js +89 -0
- package/lib/commonjs/modules/bt-management/constants/transtek-a6-device-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-management/core/resolve-device-key.js +6 -0
- package/lib/commonjs/modules/bt-management/core/resolve-device-key.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/device-classes.js +4 -0
- package/lib/commonjs/modules/bt-management/services/device-classes.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/device-creator.js +5 -3
- package/lib/commonjs/modules/bt-management/services/device-creator.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +3 -2
- package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.device.js +50 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.measurements.js +78 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.measurements.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.protocol.js +134 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.protocol.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.sequencer.js +102 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.device.js +51 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.measurements.js +48 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.measurements.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.protocol.js +181 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.protocol.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.js +73 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/clock-sync.js +2 -0
- package/lib/commonjs/modules/bt-management/types/clock-sync.js.map +1 -1
- package/lib/commonjs/modules/bt-management/types/integrated-devices.js +1 -0
- package/lib/commonjs/modules/bt-management/types/integrated-devices.js.map +1 -1
- package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js +1 -0
- package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
- package/lib/module/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.js +105 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-variants.js +2 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-variants.js.map +1 -1
- package/lib/module/modules/bt-device/constants/supported-devices.js +3 -0
- package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/module/modules/bt-management/constants/built-in-measurement-types.js +2 -0
- package/lib/module/modules/bt-management/constants/built-in-measurement-types.js.map +1 -1
- package/lib/module/modules/bt-management/constants/device-variants.js +2 -1
- package/lib/module/modules/bt-management/constants/device-variants.js.map +1 -1
- package/lib/module/modules/bt-management/constants/integrated-devices-map.js +1 -1
- package/lib/module/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
- package/lib/module/modules/bt-management/constants/transtek-a6-device-variants.js +87 -0
- package/lib/module/modules/bt-management/constants/transtek-a6-device-variants.js.map +1 -0
- package/lib/module/modules/bt-management/core/resolve-device-key.js +6 -0
- package/lib/module/modules/bt-management/core/resolve-device-key.js.map +1 -1
- package/lib/module/modules/bt-management/services/device-classes.js +4 -0
- package/lib/module/modules/bt-management/services/device-classes.js.map +1 -1
- package/lib/module/modules/bt-management/services/device-creator.js +5 -3
- package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +3 -2
- package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.device.js +45 -0
- package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.device.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.measurements.js +73 -0
- package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.measurements.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.protocol.js +121 -0
- package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.protocol.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.sequencer.js +97 -0
- package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.device.js +46 -0
- package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.device.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.measurements.js +43 -0
- package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.measurements.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.protocol.js +174 -0
- package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.protocol.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.js +68 -0
- package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/types/clock-sync.js +2 -0
- package/lib/module/modules/bt-management/types/clock-sync.js.map +1 -1
- package/lib/module/modules/bt-management/types/device-measurement-map.js.map +1 -1
- package/lib/module/modules/bt-management/types/integrated-devices.js +1 -0
- package/lib/module/modules/bt-management/types/integrated-devices.js.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-sign-in.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-variants.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/constants/built-in-measurement-types.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/constants/device-variants.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/constants/transtek-a6-device-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/transtek-a6-device-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/core/resolve-device-key.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/device-classes.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/device-classes.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.device.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.measurements.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.measurements.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.protocol.d.ts +22 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.protocol.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.sequencer.d.ts +28 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.device.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.measurements.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.measurements.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.protocol.d.ts +18 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.protocol.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.d.ts +21 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/frame-reader.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/frame-reader.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/hooks/use-sign-in.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-variants.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/constants/built-in-measurement-types.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/constants/device-variants.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/constants/transtek-a6-device-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/constants/transtek-a6-device-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/core/resolve-device-key.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/device-classes.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/services/device-classes.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.device.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.measurements.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.measurements.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.protocol.d.ts +22 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.protocol.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.sequencer.d.ts +28 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.device.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.measurements.d.ts +6 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.measurements.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.protocol.d.ts +18 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.protocol.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.d.ts +21 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +2 -1
- package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/frame-reader.d.ts +2 -1
- package/lib/typescript/module/src/modules/bt-management/types/frame-reader.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TRANSTEK_A6_DEVICE_VARIANTS = void 0;
|
|
7
|
+
var _integratedDevices = require("../types/integrated-devices.js");
|
|
8
|
+
/** Transtek-a6 products from MedM Health Diary 3.12.11's catalogue, matched by their advertised names. */
|
|
9
|
+
const TRANSTEK_A6_DEVICE_VARIANTS = exports.TRANSTEK_A6_DEVICE_VARIANTS = [{
|
|
10
|
+
device: _integratedDevices.IntegratedDevices.RPM_SCALE,
|
|
11
|
+
nameMatch: /^GBF-2008-BF1$/i,
|
|
12
|
+
manufacturer: "Transtek",
|
|
13
|
+
model: "Transtek GBF-2008-BF1"
|
|
14
|
+
}, {
|
|
15
|
+
device: _integratedDevices.IntegratedDevices.RPM_SCALE,
|
|
16
|
+
nameMatch: /^GBF-2008-BF$/i,
|
|
17
|
+
manufacturer: "Transtek",
|
|
18
|
+
model: "Transtek GBF-2008-BF"
|
|
19
|
+
}, {
|
|
20
|
+
device: _integratedDevices.IntegratedDevices.RPM_SCALE,
|
|
21
|
+
nameMatch: /^BTS200$/i,
|
|
22
|
+
manufacturer: "Kinetik Wellbeing",
|
|
23
|
+
model: "Kinetik Wellbeing Body Analyser Scale"
|
|
24
|
+
}, {
|
|
25
|
+
device: _integratedDevices.IntegratedDevices.RPM_SCALE,
|
|
26
|
+
nameMatch: /^Zewa21300$/i,
|
|
27
|
+
manufacturer: "Zewa",
|
|
28
|
+
model: "Zewa Scale 21300 v2"
|
|
29
|
+
}, {
|
|
30
|
+
device: _integratedDevices.IntegratedDevices.RPM_SCALE,
|
|
31
|
+
nameMatch: /^transtek a6 ws$/i,
|
|
32
|
+
manufacturer: "Transtek",
|
|
33
|
+
model: "Transtek Weight Scale"
|
|
34
|
+
}, {
|
|
35
|
+
device: _integratedDevices.IntegratedDevices.RPM_SCALE,
|
|
36
|
+
nameMatch: /^10396$/i,
|
|
37
|
+
manufacturer: "Pic Solution",
|
|
38
|
+
model: "Pic BodyStation Easy"
|
|
39
|
+
}, {
|
|
40
|
+
device: _integratedDevices.IntegratedDevices.RPM_SCALE,
|
|
41
|
+
nameMatch: /^EZFAST-WS-2108$/i,
|
|
42
|
+
manufacturer: "EZFAST",
|
|
43
|
+
model: "EZFAST GBF-2108-B"
|
|
44
|
+
}, {
|
|
45
|
+
device: _integratedDevices.IntegratedDevices.RPM_SCALE,
|
|
46
|
+
nameMatch: /^LS212-B$/i,
|
|
47
|
+
manufacturer: "Transtek",
|
|
48
|
+
model: "Transtek LS212-B"
|
|
49
|
+
}, {
|
|
50
|
+
device: _integratedDevices.IntegratedDevices.RPM_SCALE,
|
|
51
|
+
manufacturer: "Rossmax",
|
|
52
|
+
model: "Rossmax WF262"
|
|
53
|
+
}, {
|
|
54
|
+
device: _integratedDevices.IntegratedDevices.RPM_SCALE,
|
|
55
|
+
nameMatch: /^Dovant BIANOVA 300$/i,
|
|
56
|
+
manufacturer: "Dovant Health",
|
|
57
|
+
model: "Dovant Health Scale BIANOVA 300"
|
|
58
|
+
}, {
|
|
59
|
+
device: _integratedDevices.IntegratedDevices.RPM_SCALE,
|
|
60
|
+
nameMatch: /^PW-100$/i,
|
|
61
|
+
manufacturer: "Prosper",
|
|
62
|
+
model: "Prosper PW-100"
|
|
63
|
+
}, {
|
|
64
|
+
device: _integratedDevices.IntegratedDevices.RPM_SCALE,
|
|
65
|
+
nameMatch: /^Dynamics SMART BLACK$/i,
|
|
66
|
+
manufacturer: "Dynamics",
|
|
67
|
+
model: "Dynamics SMART BLACK"
|
|
68
|
+
}, {
|
|
69
|
+
device: _integratedDevices.IntegratedDevices.RPM_SCALE,
|
|
70
|
+
nameMatch: /^Dynamics SMART WHITE$/i,
|
|
71
|
+
manufacturer: "Dynamics",
|
|
72
|
+
model: "Dynamics SMART WHITE"
|
|
73
|
+
}, {
|
|
74
|
+
device: _integratedDevices.IntegratedDevices.RPM_SCALE,
|
|
75
|
+
nameMatch: /^Dynamics FIT BLACK$/i,
|
|
76
|
+
manufacturer: "Dynamics",
|
|
77
|
+
model: "Dynamics FIT BLACK"
|
|
78
|
+
}, {
|
|
79
|
+
device: _integratedDevices.IntegratedDevices.RPM_SCALE,
|
|
80
|
+
nameMatch: /^Dynamics FIT WHITE$/i,
|
|
81
|
+
manufacturer: "Dynamics",
|
|
82
|
+
model: "Dynamics FIT WHITE"
|
|
83
|
+
}, {
|
|
84
|
+
device: _integratedDevices.IntegratedDevices.RPM_SCALE,
|
|
85
|
+
nameMatch: /^SFX61$/i,
|
|
86
|
+
manufacturer: "Transtek",
|
|
87
|
+
model: "Transtek SFX61-AA01"
|
|
88
|
+
}];
|
|
89
|
+
//# sourceMappingURL=transtek-a6-device-variants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_integratedDevices","require","TRANSTEK_A6_DEVICE_VARIANTS","exports","device","IntegratedDevices","RPM_SCALE","nameMatch","manufacturer","model"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/constants/transtek-a6-device-variants.ts"],"mappings":";;;;;;AAIA,IAAAA,kBAAA,GAAAC,OAAA;AAGA;AACA,MAAMC,2BAAqD,GAAAC,OAAA,CAAAD,2BAAA,GAAG,CAC5D;EACEE,MAAM,EAAEC,oCAAiB,CAACC,SAAS;EACnCC,SAAS,EAAE,iBAAiB;EAC5BC,YAAY,EAAE,UAAU;EACxBC,KAAK,EAAE;AACT,CAAC,EACD;EACEL,MAAM,EAAEC,oCAAiB,CAACC,SAAS;EACnCC,SAAS,EAAE,gBAAgB;EAC3BC,YAAY,EAAE,UAAU;EACxBC,KAAK,EAAE;AACT,CAAC,EACD;EACEL,MAAM,EAAEC,oCAAiB,CAACC,SAAS;EACnCC,SAAS,EAAE,WAAW;EACtBC,YAAY,EAAE,mBAAmB;EACjCC,KAAK,EAAE;AACT,CAAC,EACD;EACEL,MAAM,EAAEC,oCAAiB,CAACC,SAAS;EACnCC,SAAS,EAAE,cAAc;EACzBC,YAAY,EAAE,MAAM;EACpBC,KAAK,EAAE;AACT,CAAC,EACD;EACEL,MAAM,EAAEC,oCAAiB,CAACC,SAAS;EACnCC,SAAS,EAAE,mBAAmB;EAC9BC,YAAY,EAAE,UAAU;EACxBC,KAAK,EAAE;AACT,CAAC,EACD;EACEL,MAAM,EAAEC,oCAAiB,CAACC,SAAS;EACnCC,SAAS,EAAE,UAAU;EACrBC,YAAY,EAAE,cAAc;EAC5BC,KAAK,EAAE;AACT,CAAC,EACD;EACEL,MAAM,EAAEC,oCAAiB,CAACC,SAAS;EACnCC,SAAS,EAAE,mBAAmB;EAC9BC,YAAY,EAAE,QAAQ;EACtBC,KAAK,EAAE;AACT,CAAC,EACD;EACEL,MAAM,EAAEC,oCAAiB,CAACC,SAAS;EACnCC,SAAS,EAAE,YAAY;EACvBC,YAAY,EAAE,UAAU;EACxBC,KAAK,EAAE;AACT,CAAC,EACD;EACEL,MAAM,EAAEC,oCAAiB,CAACC,SAAS;EACnCE,YAAY,EAAE,SAAS;EACvBC,KAAK,EAAE;AACT,CAAC,EACD;EACEL,MAAM,EAAEC,oCAAiB,CAACC,SAAS;EACnCC,SAAS,EAAE,uBAAuB;EAClCC,YAAY,EAAE,eAAe;EAC7BC,KAAK,EAAE;AACT,CAAC,EACD;EACEL,MAAM,EAAEC,oCAAiB,CAACC,SAAS;EACnCC,SAAS,EAAE,WAAW;EACtBC,YAAY,EAAE,SAAS;EACvBC,KAAK,EAAE;AACT,CAAC,EACD;EACEL,MAAM,EAAEC,oCAAiB,CAACC,SAAS;EACnCC,SAAS,EAAE,yBAAyB;EACpCC,YAAY,EAAE,UAAU;EACxBC,KAAK,EAAE;AACT,CAAC,EACD;EACEL,MAAM,EAAEC,oCAAiB,CAACC,SAAS;EACnCC,SAAS,EAAE,yBAAyB;EACpCC,YAAY,EAAE,UAAU;EACxBC,KAAK,EAAE;AACT,CAAC,EACD;EACEL,MAAM,EAAEC,oCAAiB,CAACC,SAAS;EACnCC,SAAS,EAAE,uBAAuB;EAClCC,YAAY,EAAE,UAAU;EACxBC,KAAK,EAAE;AACT,CAAC,EACD;EACEL,MAAM,EAAEC,oCAAiB,CAACC,SAAS;EACnCC,SAAS,EAAE,uBAAuB;EAClCC,YAAY,EAAE,UAAU;EACxBC,KAAK,EAAE;AACT,CAAC,EACD;EACEL,MAAM,EAAEC,oCAAiB,CAACC,SAAS;EACnCC,SAAS,EAAE,UAAU;EACrBC,YAAY,EAAE,UAAU;EACxBC,KAAK,EAAE;AACT,CAAC,CACF","ignoreList":[]}
|
|
@@ -20,6 +20,12 @@ const resolveDeviceKey = (acceptedDevices, advertisedName = "", serviceUUIDs = [
|
|
|
20
20
|
return deviceType;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
+
const serviceMatchedBuiltIn = [["0000a602-0000-1000-8000-00805f9b34fb", _integratedDevices.IntegratedDevices.RPM_SCALE], ["0000a500-0000-1000-8000-00805f9b34fb", _integratedDevices.IntegratedDevices.MAMBO_A5]];
|
|
24
|
+
for (const [uuid, deviceType] of serviceMatchedBuiltIn) {
|
|
25
|
+
if (normalizedServices.has(uuid) && acceptedDevices.includes(deviceType)) {
|
|
26
|
+
return deviceType;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
23
29
|
const customDevices = acceptedDevices.filter(_isCustomDeviceDefinition.isCustomDeviceDefinition);
|
|
24
30
|
for (const custom of customDevices) {
|
|
25
31
|
if (custom.matchByService || !advertisedName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_integratedDevicesMap","require","_s9Advertisement","_integratedDevices","_isCustomDeviceDefinition","resolveDeviceKey","acceptedDevices","advertisedName","serviceUUIDs","manufacturerData","normalizedServices","Set","map","uuid","toLowerCase","includes","IntegratedDevices","TRASENSE_S9","isTrasenseS9Advertisement","undefined","regex","deviceType","integratedDevicesMap","lastIndex","test","customDevices","filter","isCustomDeviceDefinition","custom","matchByService","nameMatch","id","mainServices","some","service","
|
|
1
|
+
{"version":3,"names":["_integratedDevicesMap","require","_s9Advertisement","_integratedDevices","_isCustomDeviceDefinition","resolveDeviceKey","acceptedDevices","advertisedName","serviceUUIDs","manufacturerData","normalizedServices","Set","map","uuid","toLowerCase","includes","IntegratedDevices","TRASENSE_S9","isTrasenseS9Advertisement","undefined","regex","deviceType","integratedDevicesMap","lastIndex","test","serviceMatchedBuiltIn","RPM_SCALE","MAMBO_A5","has","customDevices","filter","isCustomDeviceDefinition","custom","matchByService","nameMatch","id","mainServices","some","service","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/core/resolve-device-key.ts"],"mappings":";;;;;;AAAA,IAAAA,qBAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAGA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,yBAAA,GAAAH,OAAA;AAEA;AACO,MAAMI,gBAAgB,GAAGA,CAC9BC,eAA0C,EAC1CC,cAAc,GAAG,EAAE,EACnBC,YAA+B,GAAG,EAAE,EACpCC,gBAAyB,KACC;EAC1B,MAAMC,kBAAkB,GAAG,IAAIC,GAAG,CAChCH,YAAY,CAACI,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACC,WAAW,CAAC,CAAC,CAC/C,CAAC;EAED,IACER,eAAe,CAACS,QAAQ,CAACC,oCAAiB,CAACC,WAAW,CAAC,IACvDV,cAAc,KAAK,IAAI,EACvB;IACA,OAAO,IAAAW,0CAAyB,EAACX,cAAc,EAAEE,gBAAgB,CAAC,GAC9DO,oCAAiB,CAACC,WAAW,GAC7BE,SAAS;EACf;EAEA,KAAK,MAAM,CAACC,KAAK,EAAEC,UAAU,CAAC,IAAIC,0CAAoB,EAAE;IACtDF,KAAK,CAACG,SAAS,GAAG,CAAC;IAEnB,IAAIH,KAAK,CAACI,IAAI,CAACjB,cAAc,CAAC,IAAID,eAAe,CAACS,QAAQ,CAACM,UAAU,CAAC,EAAE;MACtE,OAAOA,UAAU;IACnB;EACF;EAEA,MAAMI,qBAAqB,GAAG,CAC5B,CAAC,sCAAsC,EAAET,oCAAiB,CAACU,SAAS,CAAC,EACrE,CAAC,sCAAsC,EAAEV,oCAAiB,CAACW,QAAQ,CAAC,CAC5D;EAEV,KAAK,MAAM,CAACd,IAAI,EAAEQ,UAAU,CAAC,IAAII,qBAAqB,EAAE;IACtD,IAAIf,kBAAkB,CAACkB,GAAG,CAACf,IAAI,CAAC,IAAIP,eAAe,CAACS,QAAQ,CAACM,UAAU,CAAC,EAAE;MACxE,OAAOA,UAAU;IACnB;EACF;EAEA,MAAMQ,aAAa,GAAGvB,eAAe,CAACwB,MAAM,CAACC,kDAAwB,CAAC;EAEtE,KAAK,MAAMC,MAAM,IAAIH,aAAa,EAAE;IAClC,IAAIG,MAAM,CAACC,cAAc,IAAI,CAAC1B,cAAc,EAAE;MAC5C;IACF;IAEAyB,MAAM,CAACE,SAAS,CAACX,SAAS,GAAG,CAAC;IAE9B,IAAIS,MAAM,CAACE,SAAS,CAACV,IAAI,CAACjB,cAAc,CAAC,EAAE;MACzCyB,MAAM,CAACE,SAAS,CAACX,SAAS,GAAG,CAAC;MAE9B,OAAOS,MAAM,CAACG,EAAE;IAClB;EACF;EAEA,KAAK,MAAMH,MAAM,IAAIH,aAAa,EAAE;IAClC,IACEG,MAAM,CAACC,cAAc,IACrBD,MAAM,CAACI,YAAY,CAACC,IAAI,CAAEC,OAAO,IAC/B5B,kBAAkB,CAACkB,GAAG,CAACU,OAAO,CAACzB,IAAI,CAACC,WAAW,CAAC,CAAC,CACnD,CAAC,EACD;MACA,OAAOkB,MAAM,CAACG,EAAE;IAClB;EACF;EAEA,OAAOhB,SAAS;AAClB,CAAC;AAACoB,OAAA,CAAAlC,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -27,6 +27,8 @@ var _jumperDevice = require("./devices/jumper/jumper.device.js");
|
|
|
27
27
|
var _oxyfitDevice = require("./devices/spo/oxyfit.device.js");
|
|
28
28
|
var _spo2Device = require("./devices/spo/spo2.device.js");
|
|
29
29
|
var _taidocDevice = require("./devices/taidoc/taidoc.device.js");
|
|
30
|
+
var _a6ScaleDevice = require("./devices/transtek/a6-scale.device.js");
|
|
31
|
+
var _mamboA5Device = require("./devices/transtek/mambo-a5.device.js");
|
|
30
32
|
var _transtekCommandDevice = require("./devices/transtek/transtek-command.device.js");
|
|
31
33
|
var _s9Device = require("./devices/trasense/s9.device.js");
|
|
32
34
|
var _mysenseDevice = require("./devices/uebe/mysense.device.js");
|
|
@@ -60,6 +62,8 @@ const BUILT_IN_DEVICE_CLASSES = exports.BUILT_IN_DEVICE_CLASSES = {
|
|
|
60
62
|
[_integratedDevices.IntegratedDevices.S5]: _f4Device.F4Device,
|
|
61
63
|
[_integratedDevices.IntegratedDevices.LEPU_F4_SCALE]: _f4Device.F4Device,
|
|
62
64
|
[_integratedDevices.IntegratedDevices.LEPU_F5_SCALE]: _f5ScaleDevice.F5ScaleDevice,
|
|
65
|
+
[_integratedDevices.IntegratedDevices.RPM_SCALE]: _a6ScaleDevice.TranstekA6ScaleDevice,
|
|
66
|
+
[_integratedDevices.IntegratedDevices.MAMBO_A5]: _mamboA5Device.MamboA5Device,
|
|
63
67
|
[_integratedDevices.IntegratedDevices.PC60WF]: _spo2Device.SPO2Device,
|
|
64
68
|
[_integratedDevices.IntegratedDevices.SPO2]: _oxyfitDevice.OxyfitDevice,
|
|
65
69
|
[_integratedDevices.IntegratedDevices.MYSENSE]: _mysenseDevice.MySenseDevice,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_integratedDevices","require","_a606Device","_andMedicalDevice","_aoj70bDevice","_aojBpDevice","_aojDevice","_bc01Device","_bloodGlucoseDevice","_bp2Device","_bpw1Device","_checkmeEcgDevice","_checkmePodDevice","_checkmeDevice","_cofoeDevice","_f4Device","_f5ScaleDevice","_famidocDevice","_genialT31Device","_joytechDevice","_jumperDevice","_oxyfitDevice","_spo2Device","_taidocDevice","_transtekCommandDevice","_s9Device","_mysenseDevice","_verovalActivityDevice","_verovalDuoControlDevice","_verovalEcgDevice","_ap20Device","_babySleepClipDevice","_biolandBgmDevice","_lpm311Device","_oxyS3Device","_pc68bDevice","_pc80bDevice","_pf10aw1Device","_poctorM3102Device","_sp20Device","_viatomR20Device","_viatomBpm188Device","_viatomPc100Device","_viatomPc300Device","_viatomPm10Device","_viatomWbp02Device","_yonkerDevice","BUILT_IN_DEVICE_CLASSES","exports","IntegratedDevices","BP2","BP2Device","F4","F4Device","S5","LEPU_F4_SCALE","LEPU_F5_SCALE","F5ScaleDevice","PC60WF","SPO2Device","SPO2","OxyfitDevice","MYSENSE","MySenseDevice","BC01","BC01Device","AOJ20A","Aoj20aDevice","TAIDOC_GLUCOSE","BloodGlucoseDevice","GLUCOCHECK","BGM","VEROVAL_DUO_CONTROL","VerovalDuoControlDevice","VEROVAL_ECG","VerovalEcgDevice","VEROVAL_ACTIVITY","VerovalActivityDevice","GENIAL_T31","GenialT31Device","ZH_SG_A606","A606Device","BPW1","Bpw1Device","CHECKME","CheckmeProDevice","CHECKME_POD","CheckmePodDevice","CHECKME_POD_WPS","AP20","Ap20Device","AP20_WPS","PC68B","Pc68bDevice","PC100","Pc100Device","BPM188","Bpm188Device","PC300","Pc300Device","POCTOR_M3102","PoctorM3102Device","BIOLAND_BGM","BiolandBgmDevice","PULSEBIT_EX","PulsebitDevice","CHECKME_EX","CHECKME_LE","CheckmeLeDevice","PC80B","Pc80bDevice","WBP_02","Wbp02Device","PM10","Pm10Device","LPM311","Lpm311Device","VIATOM_R20","ViatomR20Device","VIATOM_R200","SP_20","Sp20Device","SP_20_BLE","SP_20_WPS","BBSM_S3","OxyS3Device","VIATOM_BBSM_BS1","BabySleepClipDevice","PF10AW_ME","Pf10Aw1Device","SA10AW_PU","PF10BW_VE","TRASENSE_S9","TrasenseS9Device","TRANSTEK_BPM","TranstekCommandDevice","TRANSTEK_SCALE","TRANSTEK_SCALE_1525","TRANSTEK_TRACKER","FAMIDOC_BPM","FamidocDevice","FAMIDOC_IR_THERMOMETER","FAMIDOC_CONTACT_THERMOMETER","AOJ_BPM","AojBpDevice","AOJ_BPM_FFF0","AOJ_70B","Aoj70bDevice","JUMPER_OXIMETER","JumperDevice","JUMPER_BPM","JUMPER_THERMOMETER","JOYTECH_BPM","JoytechDevice","JOYTECH_THERMOMETER","AND_BPM","AndMedicalDevice","AND_BPM_CTS","AND_SCALE","YONKER_OXIMETER","YonkerDevice","YONKER_BPM","YONKER_THERMOMETER","YONKER_SCALE","YONKER_80B","COFOE_BPM","CofoeDevice","COFOE_BPM_HISTORY","COFOE_GLUCOMETER","COFOE_GLUCOMETER_CGH25","COFOE_THERMOMETER","TAIDOC_MULTI","TaidocDevice","TAIDOC_BPM","TAIDOC_THERMOMETER","TAIDOC_OXIMETER","TAIDOC_SCALE"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/device-classes.ts"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,mBAAA,GAAAP,OAAA;AACA,IAAAQ,UAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,iBAAA,GAAAV,OAAA;AAIA,IAAAW,iBAAA,GAAAX,OAAA;AACA,IAAAY,cAAA,GAAAZ,OAAA;AACA,IAAAa,YAAA,GAAAb,OAAA;AACA,IAAAc,SAAA,GAAAd,OAAA;AACA,IAAAe,cAAA,GAAAf,OAAA;AACA,IAAAgB,cAAA,GAAAhB,OAAA;AACA,IAAAiB,gBAAA,GAAAjB,OAAA;AACA,IAAAkB,cAAA,GAAAlB,OAAA;AACA,IAAAmB,aAAA,GAAAnB,OAAA;AACA,IAAAoB,aAAA,GAAApB,OAAA;AACA,IAAAqB,WAAA,GAAArB,OAAA;AACA,IAAAsB,aAAA,GAAAtB,OAAA;AACA,IAAAuB,
|
|
1
|
+
{"version":3,"names":["_integratedDevices","require","_a606Device","_andMedicalDevice","_aoj70bDevice","_aojBpDevice","_aojDevice","_bc01Device","_bloodGlucoseDevice","_bp2Device","_bpw1Device","_checkmeEcgDevice","_checkmePodDevice","_checkmeDevice","_cofoeDevice","_f4Device","_f5ScaleDevice","_famidocDevice","_genialT31Device","_joytechDevice","_jumperDevice","_oxyfitDevice","_spo2Device","_taidocDevice","_a6ScaleDevice","_mamboA5Device","_transtekCommandDevice","_s9Device","_mysenseDevice","_verovalActivityDevice","_verovalDuoControlDevice","_verovalEcgDevice","_ap20Device","_babySleepClipDevice","_biolandBgmDevice","_lpm311Device","_oxyS3Device","_pc68bDevice","_pc80bDevice","_pf10aw1Device","_poctorM3102Device","_sp20Device","_viatomR20Device","_viatomBpm188Device","_viatomPc100Device","_viatomPc300Device","_viatomPm10Device","_viatomWbp02Device","_yonkerDevice","BUILT_IN_DEVICE_CLASSES","exports","IntegratedDevices","BP2","BP2Device","F4","F4Device","S5","LEPU_F4_SCALE","LEPU_F5_SCALE","F5ScaleDevice","RPM_SCALE","TranstekA6ScaleDevice","MAMBO_A5","MamboA5Device","PC60WF","SPO2Device","SPO2","OxyfitDevice","MYSENSE","MySenseDevice","BC01","BC01Device","AOJ20A","Aoj20aDevice","TAIDOC_GLUCOSE","BloodGlucoseDevice","GLUCOCHECK","BGM","VEROVAL_DUO_CONTROL","VerovalDuoControlDevice","VEROVAL_ECG","VerovalEcgDevice","VEROVAL_ACTIVITY","VerovalActivityDevice","GENIAL_T31","GenialT31Device","ZH_SG_A606","A606Device","BPW1","Bpw1Device","CHECKME","CheckmeProDevice","CHECKME_POD","CheckmePodDevice","CHECKME_POD_WPS","AP20","Ap20Device","AP20_WPS","PC68B","Pc68bDevice","PC100","Pc100Device","BPM188","Bpm188Device","PC300","Pc300Device","POCTOR_M3102","PoctorM3102Device","BIOLAND_BGM","BiolandBgmDevice","PULSEBIT_EX","PulsebitDevice","CHECKME_EX","CHECKME_LE","CheckmeLeDevice","PC80B","Pc80bDevice","WBP_02","Wbp02Device","PM10","Pm10Device","LPM311","Lpm311Device","VIATOM_R20","ViatomR20Device","VIATOM_R200","SP_20","Sp20Device","SP_20_BLE","SP_20_WPS","BBSM_S3","OxyS3Device","VIATOM_BBSM_BS1","BabySleepClipDevice","PF10AW_ME","Pf10Aw1Device","SA10AW_PU","PF10BW_VE","TRASENSE_S9","TrasenseS9Device","TRANSTEK_BPM","TranstekCommandDevice","TRANSTEK_SCALE","TRANSTEK_SCALE_1525","TRANSTEK_TRACKER","FAMIDOC_BPM","FamidocDevice","FAMIDOC_IR_THERMOMETER","FAMIDOC_CONTACT_THERMOMETER","AOJ_BPM","AojBpDevice","AOJ_BPM_FFF0","AOJ_70B","Aoj70bDevice","JUMPER_OXIMETER","JumperDevice","JUMPER_BPM","JUMPER_THERMOMETER","JOYTECH_BPM","JoytechDevice","JOYTECH_THERMOMETER","AND_BPM","AndMedicalDevice","AND_BPM_CTS","AND_SCALE","YONKER_OXIMETER","YonkerDevice","YONKER_BPM","YONKER_THERMOMETER","YONKER_SCALE","YONKER_80B","COFOE_BPM","CofoeDevice","COFOE_BPM_HISTORY","COFOE_GLUCOMETER","COFOE_GLUCOMETER_CGH25","COFOE_THERMOMETER","TAIDOC_MULTI","TaidocDevice","TAIDOC_BPM","TAIDOC_THERMOMETER","TAIDOC_OXIMETER","TAIDOC_SCALE"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/device-classes.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -48,13 +48,15 @@ class DeviceCreator {
|
|
|
48
48
|
return this.matchDeviceName(foundName, normalizedServices, manufacturerData);
|
|
49
49
|
}
|
|
50
50
|
const cacheKey = foundName === "S9" ? JSON.stringify([foundName, (0, _s9Advertisement.isTrasenseS9Advertisement)(foundName, manufacturerData)]) : foundName;
|
|
51
|
-
if (this.deviceNameCache.has(cacheKey)) {
|
|
51
|
+
if (normalizedServices.size === 0 && this.deviceNameCache.has(cacheKey)) {
|
|
52
52
|
return this.deviceNameCache.get(cacheKey) ?? undefined;
|
|
53
53
|
}
|
|
54
54
|
const matched = this.matchDeviceName(foundName, normalizedServices, manufacturerData);
|
|
55
55
|
|
|
56
56
|
// Cache the result (store null for non-matches to avoid repeated tests)
|
|
57
|
-
|
|
57
|
+
if (normalizedServices.size === 0) {
|
|
58
|
+
this.cacheDeviceName(cacheKey, matched ?? null);
|
|
59
|
+
}
|
|
58
60
|
return matched;
|
|
59
61
|
};
|
|
60
62
|
createDevice(params) {
|
|
@@ -66,7 +68,7 @@ class DeviceCreator {
|
|
|
66
68
|
}
|
|
67
69
|
|
|
68
70
|
/** On iOS scan callbacks may have null `name`; `localName` carries the advertised name. */
|
|
69
|
-
if (!params.device.name?.trim() && !params.device.localName?.trim() && !this.customDevices.get(params.deviceName)?.matchByService) {
|
|
71
|
+
if (!params.device.name?.trim() && !params.device.localName?.trim() && !this.customDevices.get(params.deviceName)?.matchByService && (0, _resolveDeviceKey.resolveDeviceKey)(this.acceptedDeviceNames, "", params.device.serviceUUIDs ?? []) !== params.deviceName) {
|
|
70
72
|
throw new Error("Device name is required");
|
|
71
73
|
}
|
|
72
74
|
if (!params.device.id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_resolveDeviceKey","require","_isCustomDeviceDefinition","_deviceClasses","_customDevice","_s9Advertisement","collectCustomDevices","acceptedDevices","customDevices","Map","matchers","Set","forEach","entry","index","isCustomDeviceDefinition","Error","has","id","matchByService","nameMatch","source","set","add","DeviceCreator","deviceNameCache","CACHE_MAX_SIZE","constructor","acceptedDeviceNames","getDeviceName","foundName","serviceUUIDs","manufacturerData","normalizedServices","map","uuid","toLowerCase","size","undefined","matchDeviceName","cacheKey","JSON","stringify","isTrasenseS9Advertisement","get","matched","cacheDeviceName","createDevice","params","String","deviceName","trim","device","name","localName","custom","CustomDevice","deviceClass","DEVICE_CLASSES","Object","keys","join","destroy","clear","
|
|
1
|
+
{"version":3,"names":["_resolveDeviceKey","require","_isCustomDeviceDefinition","_deviceClasses","_customDevice","_s9Advertisement","collectCustomDevices","acceptedDevices","customDevices","Map","matchers","Set","forEach","entry","index","isCustomDeviceDefinition","Error","has","id","matchByService","nameMatch","source","set","add","DeviceCreator","deviceNameCache","CACHE_MAX_SIZE","constructor","acceptedDeviceNames","getDeviceName","foundName","serviceUUIDs","manufacturerData","normalizedServices","map","uuid","toLowerCase","size","undefined","matchDeviceName","cacheKey","JSON","stringify","isTrasenseS9Advertisement","get","matched","cacheDeviceName","createDevice","params","String","deviceName","trim","device","name","localName","resolveDeviceKey","custom","CustomDevice","deviceClass","DEVICE_CLASSES","Object","keys","join","destroy","clear","deviceType","firstKey","next","value","delete","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/device-creator.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -38,6 +38,7 @@ class BTDataProcessor {
|
|
|
38
38
|
currentUuid = "";
|
|
39
39
|
destroy = () => {
|
|
40
40
|
this.buffers.clear();
|
|
41
|
+
this.frameReader?.reset?.();
|
|
41
42
|
this.currentUuid = "";
|
|
42
43
|
this.measurementState.reset();
|
|
43
44
|
clearTimeout(this.stuckDataTimeout);
|
|
@@ -77,7 +78,7 @@ class BTDataProcessor {
|
|
|
77
78
|
*/
|
|
78
79
|
readFramesFromBuffer = (reader, uuid, buffer) => {
|
|
79
80
|
while (buffer.length > 0) {
|
|
80
|
-
const result = reader.readFrame(buffer);
|
|
81
|
+
const result = reader.readFrame(buffer, uuid);
|
|
81
82
|
const hasProgressed = result.consumedBytes > 0;
|
|
82
83
|
buffer.splice(0, result.consumedBytes);
|
|
83
84
|
if (result.status === _frameReadStatus.FrameReadStatus.COMPLETE) {
|
|
@@ -88,7 +89,7 @@ class BTDataProcessor {
|
|
|
88
89
|
if (result.status === _frameReadStatus.FrameReadStatus.CORRUPT) {
|
|
89
90
|
this.reportCorruptFrame();
|
|
90
91
|
}
|
|
91
|
-
if (
|
|
92
|
+
if (!hasProgressed) {
|
|
92
93
|
break;
|
|
93
94
|
}
|
|
94
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_sentryLogger","require","_caseType","_frameReadStatus","_frameParser","_measurementStateMachine","BTDataProcessor","buffers","Map","constructor","device","mainServices","stuckDataTimeoutDuration","callbacks","frameReader","frameParser","FrameParser","measurementState","MeasurementStateMachine","onStatusChanged","onStreamStart","onMeasurementEnd","onResult","currentUuid","destroy","clear","reset","clearTimeout","stuckDataTimeout","undefined","commandTimeout","processData","uuid","hexValue","String","toLowerCase","buffer","get","push","set","startStuckTimeout","readFramesFromBuffer","readWholeBuffer","armStuckTimeout","armCommandTimeout","startCommandTimeout","reader","length","result","readFrame","hasProgressed","consumedBytes","splice","status","FrameReadStatus","COMPLETE","handleFrame","frame","answerFrame","CORRUPT","reportCorruptFrame","
|
|
1
|
+
{"version":3,"names":["_sentryLogger","require","_caseType","_frameReadStatus","_frameParser","_measurementStateMachine","BTDataProcessor","buffers","Map","constructor","device","mainServices","stuckDataTimeoutDuration","callbacks","frameReader","frameParser","FrameParser","measurementState","MeasurementStateMachine","onStatusChanged","onStreamStart","onMeasurementEnd","onResult","currentUuid","destroy","clear","reset","clearTimeout","stuckDataTimeout","undefined","commandTimeout","processData","uuid","hexValue","String","toLowerCase","buffer","get","push","set","startStuckTimeout","readFramesFromBuffer","readWholeBuffer","armStuckTimeout","armCommandTimeout","startCommandTimeout","reader","length","result","readFrame","hasProgressed","consumedBytes","splice","status","FrameReadStatus","COMPLETE","handleFrame","frame","answerFrame","CORRUPT","reportCorruptFrame","validatePackage","progress","commandProgress","commands","nextCommand","sendCommands","data","parse","sentryLogger","frameLength","dependentData","parsingCase","caseType","CaseType","DEPENDENT","handleDependentResult","isMeasuring","measuring","advance","onError","Error","cause","message","setTimeout","cancelConnection","duration","commandTimeoutMs","onCommandTimeout","terminal","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-data-processor.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TranstekA6ScaleDevice = void 0;
|
|
7
|
+
var _core = require("@ovok/core");
|
|
8
|
+
var _btManagedDevice = require("../bt-managed-device.js");
|
|
9
|
+
var _a6ScaleProtocol = require("./a6-scale.protocol.js");
|
|
10
|
+
var _a6ScaleSequencer = require("./a6-scale.sequencer.js");
|
|
11
|
+
const acceptNothing = {
|
|
12
|
+
caseValuePosition: [],
|
|
13
|
+
cases: []
|
|
14
|
+
};
|
|
15
|
+
const mainServices = [{
|
|
16
|
+
uuid: _a6ScaleProtocol.A6_SCALE_SERVICE,
|
|
17
|
+
monitorUuids: [{
|
|
18
|
+
uuid: _a6ScaleProtocol.A6_SCALE_NOTIFY,
|
|
19
|
+
parsingModel: acceptNothing
|
|
20
|
+
}],
|
|
21
|
+
writeUuid: {
|
|
22
|
+
uuid: _a6ScaleProtocol.A6_SCALE_WRITE,
|
|
23
|
+
mainCommandUuid: "0007"
|
|
24
|
+
}
|
|
25
|
+
}];
|
|
26
|
+
|
|
27
|
+
/** Transtek GBS-2012-B body scale using the A6 command protocol. */
|
|
28
|
+
class TranstekA6ScaleDevice extends _btManagedDevice.BTManagedDevice {
|
|
29
|
+
mainServices = mainServices;
|
|
30
|
+
stuckDataTimeout = 60_000;
|
|
31
|
+
onStreamStart = undefined;
|
|
32
|
+
getSupportedMeasurementTypeKeys() {
|
|
33
|
+
return [_core.MeasurementTypeKey.bodyWeight];
|
|
34
|
+
}
|
|
35
|
+
constructor(device, params) {
|
|
36
|
+
super(device, params);
|
|
37
|
+
this.frameReader = new _a6ScaleProtocol.A6ScaleFrameReader();
|
|
38
|
+
this.createCommandSequencer = () => new _a6ScaleSequencer.A6ScaleSequencer({
|
|
39
|
+
deviceId: device.id,
|
|
40
|
+
manufacturerData: device.manufacturerData,
|
|
41
|
+
clockSync: params.clockSync,
|
|
42
|
+
onResult: result => this.onResult?.(result)
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
handleSuccessResult() {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.TranstekA6ScaleDevice = TranstekA6ScaleDevice;
|
|
50
|
+
//# sourceMappingURL=a6-scale.device.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_core","require","_btManagedDevice","_a6ScaleProtocol","_a6ScaleSequencer","acceptNothing","caseValuePosition","cases","mainServices","uuid","A6_SCALE_SERVICE","monitorUuids","A6_SCALE_NOTIFY","parsingModel","writeUuid","A6_SCALE_WRITE","mainCommandUuid","TranstekA6ScaleDevice","BTManagedDevice","stuckDataTimeout","onStreamStart","undefined","getSupportedMeasurementTypeKeys","MeasurementTypeKey","bodyWeight","constructor","device","params","frameReader","A6ScaleFrameReader","createCommandSequencer","A6ScaleSequencer","deviceId","id","manufacturerData","clockSync","onResult","result","handleSuccessResult","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/transtek/a6-scale.device.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAQA,IAAAC,gBAAA,GAAAD,OAAA;AAEA,IAAAE,gBAAA,GAAAF,OAAA;AAMA,IAAAG,iBAAA,GAAAH,OAAA;AAEA,MAAMI,aAAa,GAAG;EAAEC,iBAAiB,EAAE,EAAE;EAAEC,KAAK,EAAE;AAAG,CAAC;AAE1D,MAAMC,YAAwB,GAAG,CAC/B;EACEC,IAAI,EAAEC,iCAAgB;EACtBC,YAAY,EAAE,CAAC;IAAEF,IAAI,EAAEG,gCAAe;IAAEC,YAAY,EAAER;EAAc,CAAC,CAAC;EACtES,SAAS,EAAE;IAAEL,IAAI,EAAEM,+BAAc;IAAEC,eAAe,EAAE;EAAO;AAC7D,CAAC,CACF;;AAED;AACO,MAAMC,qBAAqB,SAASC,gCAAe,CAA8B;EAC5EV,YAAY,GAAGA,YAAY;EAC3BW,gBAAgB,GAAG,MAAM;EACzBC,aAAa,GAAGC,SAAS;EAEhBC,+BAA+BA,CAAA,EAAyB;IACzE,OAAO,CAACC,wBAAkB,CAACC,UAAU,CAAC;EACxC;EAEOC,WAAWA,CAChBC,MAAc,EACdC,MAAuD,EACvD;IACA,KAAK,CAACD,MAAM,EAAEC,MAAM,CAAC;IACrB,IAAI,CAACC,WAAW,GAAG,IAAIC,mCAAkB,CAAC,CAAC;IAC3C,IAAI,CAACC,sBAAsB,GAAG,MAC5B,IAAIC,kCAAgB,CAAC;MACnBC,QAAQ,EAAEN,MAAM,CAACO,EAAE;MACnBC,gBAAgB,EAAER,MAAM,CAACQ,gBAAgB;MACzCC,SAAS,EAAER,MAAM,CAACQ,SAAS;MAC3BC,QAAQ,EAAGC,MAAM,IACf,IAAI,CAACD,QAAQ,GACXC,MAGF;IACJ,CAAC,CAAC;EACN;EAEUC,mBAAmBA,CAAA,EAAS;IACpC;EACF;AACF;AAACC,OAAA,CAAAtB,qBAAA,GAAAA,qBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.parseA6Weight = void 0;
|
|
7
|
+
var _a6ScaleProtocol = require("./a6-scale.protocol.js");
|
|
8
|
+
const hexBytes = bytes => bytes.map(value => (value & 0xff).toString(16).padStart(2, "0"));
|
|
9
|
+
const parseA6Weight = body => {
|
|
10
|
+
if (body.length < 8) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
const encoded = hexBytes(body);
|
|
14
|
+
const flags = (0, _a6ScaleProtocol.readA6Uint)(encoded, 2, 4);
|
|
15
|
+
const unit = flags & 0x03;
|
|
16
|
+
const bodyWeight = (0, _a6ScaleProtocol.readA6Uint)(encoded, 6, 2) / 100;
|
|
17
|
+
let offset = 8;
|
|
18
|
+
let utcSeconds;
|
|
19
|
+
let recordedAt;
|
|
20
|
+
if ((flags & 0x04) !== 0) {
|
|
21
|
+
offset += 1;
|
|
22
|
+
}
|
|
23
|
+
if ((flags & 0x08) !== 0) {
|
|
24
|
+
if (body.length < offset + 4) {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
utcSeconds = (0, _a6ScaleProtocol.readA6Uint)(encoded, offset, 4);
|
|
28
|
+
offset += 4;
|
|
29
|
+
}
|
|
30
|
+
if ((flags & 0x10) !== 0) {
|
|
31
|
+
offset += 1;
|
|
32
|
+
}
|
|
33
|
+
if ((flags & 0x20) !== 0) {
|
|
34
|
+
if (body.length < offset + 7) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
const year = 2000 + (0, _a6ScaleProtocol.readA6Uint)(encoded, offset, 2);
|
|
38
|
+
const month = body[offset + 2] ?? 0;
|
|
39
|
+
const day = body[offset + 3] ?? 0;
|
|
40
|
+
const hour = body[offset + 4] ?? 0;
|
|
41
|
+
const minute = body[offset + 5] ?? 0;
|
|
42
|
+
const second = body[offset + 6] ?? 0;
|
|
43
|
+
const date = new Date(0);
|
|
44
|
+
date.setFullYear(year, month - 1, day);
|
|
45
|
+
date.setHours(hour, minute, second, 0);
|
|
46
|
+
offset += 7;
|
|
47
|
+
if (date.getFullYear() === year && date.getMonth() === month - 1 && date.getDate() === day && date.getHours() === hour && date.getMinutes() === minute && date.getSeconds() === second) {
|
|
48
|
+
recordedAt = date;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if ((flags & 0x4000) !== 0) {
|
|
52
|
+
offset += 2;
|
|
53
|
+
}
|
|
54
|
+
if ((flags & 0x10000) !== 0) {
|
|
55
|
+
offset += 1;
|
|
56
|
+
}
|
|
57
|
+
if ((flags & 0x20000) !== 0) {
|
|
58
|
+
offset += 2;
|
|
59
|
+
}
|
|
60
|
+
const knownFlags = 0x3c03f;
|
|
61
|
+
if (body.length < offset || (flags & ~knownFlags) !== 0 || unit !== 0 || bodyWeight <= 0 || bodyWeight > 500) {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
if (!recordedAt && utcSeconds !== undefined && utcSeconds > 0) {
|
|
65
|
+
const date = new Date(utcSeconds * 1000);
|
|
66
|
+
if (!Number.isNaN(date.getTime())) {
|
|
67
|
+
recordedAt = date;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
bodyWeight,
|
|
72
|
+
...(recordedAt ? {
|
|
73
|
+
recordedAt
|
|
74
|
+
} : {})
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
exports.parseA6Weight = parseA6Weight;
|
|
78
|
+
//# sourceMappingURL=a6-scale.measurements.js.map
|
package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.measurements.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_a6ScaleProtocol","require","hexBytes","bytes","map","value","toString","padStart","parseA6Weight","body","length","undefined","encoded","flags","readA6Uint","unit","bodyWeight","offset","utcSeconds","recordedAt","year","month","day","hour","minute","second","date","Date","setFullYear","setHours","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","knownFlags","Number","isNaN","getTime","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/transtek/a6-scale.measurements.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.readA6Uint = exports.encryptA6Body = exports.encodeA6Command = exports.decryptA6Body = exports.decodeA6Command = exports.a6EncryptionKey = exports.a6CommandBody = exports.A6_SCALE_WRITE = exports.A6_SCALE_WEIGHT = exports.A6_SCALE_SERVICE = exports.A6_SCALE_NOTIFY = exports.A6_SCALE_ACK = exports.A6ScaleFrameReader = void 0;
|
|
7
|
+
var _cryptoJs = _interopRequireDefault(require("crypto-js"));
|
|
8
|
+
var _frameReadStatus = require("../../../types/frame-read-status.js");
|
|
9
|
+
var _base64ToHex = require("../../../utils/base-64-to-hex.js");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
/* eslint-disable import/group-exports */
|
|
12
|
+
|
|
13
|
+
const A6_SCALE_SERVICE = exports.A6_SCALE_SERVICE = "0000a602-0000-1000-8000-00805f9b34fb";
|
|
14
|
+
const A6_SCALE_NOTIFY = exports.A6_SCALE_NOTIFY = "0000a621-0000-1000-8000-00805f9b34fb";
|
|
15
|
+
const A6_SCALE_WRITE = exports.A6_SCALE_WRITE = "0000a624-0000-1000-8000-00805f9b34fb";
|
|
16
|
+
const A6_SCALE_ACK = exports.A6_SCALE_ACK = "0000a622-0000-1000-8000-00805f9b34fb";
|
|
17
|
+
const A6_SCALE_WEIGHT = exports.A6_SCALE_WEIGHT = 0x4802;
|
|
18
|
+
const byte = value => Number.parseInt(value ?? "00", 16) || 0;
|
|
19
|
+
const readA6Uint = (bytes, offset, length) => bytes.slice(offset, offset + length).reduce((value, current) => value * 256 + byte(current), 0);
|
|
20
|
+
exports.readA6Uint = readA6Uint;
|
|
21
|
+
const bytesToHex = bytes => bytes.map(value => (value & 0xff).toString(16).padStart(2, "0")).join("");
|
|
22
|
+
const hexToBytes = hex => hex.match(/.{2}/g)?.map(value => Number.parseInt(value, 16)) ?? [];
|
|
23
|
+
const a6EncryptionKey = (deviceId, manufacturerData) => {
|
|
24
|
+
const mac = deviceId.replace(/[:-]/g, "").toLowerCase();
|
|
25
|
+
const manufacturer = manufacturerData ? (0, _base64ToHex.base64ToHex)(manufacturerData).join("").toLowerCase() : "";
|
|
26
|
+
if (!/^[\da-f]{12}$/.test(mac) || !manufacturer.startsWith("ae12")) {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
const prefix = Array.from("TranstekA6", character => character.charCodeAt(0).toString(16).padStart(2, "0")).join("");
|
|
30
|
+
return `${prefix}${mac}`;
|
|
31
|
+
};
|
|
32
|
+
exports.a6EncryptionKey = a6EncryptionKey;
|
|
33
|
+
const encryptA6Body = (body, key) => {
|
|
34
|
+
if (!key) {
|
|
35
|
+
return [...body];
|
|
36
|
+
}
|
|
37
|
+
if (body.length > 16) {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
const padded = [...body, ...Array(16 - body.length).fill(0)];
|
|
41
|
+
const encrypted = _cryptoJs.default.AES.encrypt(_cryptoJs.default.enc.Hex.parse(bytesToHex(padded)), _cryptoJs.default.enc.Hex.parse(key), {
|
|
42
|
+
mode: _cryptoJs.default.mode.ECB,
|
|
43
|
+
padding: _cryptoJs.default.pad.NoPadding
|
|
44
|
+
});
|
|
45
|
+
return hexToBytes(_cryptoJs.default.enc.Hex.stringify(encrypted.ciphertext));
|
|
46
|
+
};
|
|
47
|
+
exports.encryptA6Body = encryptA6Body;
|
|
48
|
+
const decryptA6Body = (body, key) => {
|
|
49
|
+
if (!key) {
|
|
50
|
+
return body.map(byte);
|
|
51
|
+
}
|
|
52
|
+
if (body.length !== 16) {
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
const ciphertext = _cryptoJs.default.lib.CipherParams.create({
|
|
56
|
+
ciphertext: _cryptoJs.default.enc.Hex.parse(body.join(""))
|
|
57
|
+
});
|
|
58
|
+
const decrypted = _cryptoJs.default.AES.decrypt(ciphertext, _cryptoJs.default.enc.Hex.parse(key), {
|
|
59
|
+
mode: _cryptoJs.default.mode.ECB,
|
|
60
|
+
padding: _cryptoJs.default.pad.NoPadding
|
|
61
|
+
});
|
|
62
|
+
return hexToBytes(_cryptoJs.default.enc.Hex.stringify(decrypted));
|
|
63
|
+
};
|
|
64
|
+
exports.decryptA6Body = decryptA6Body;
|
|
65
|
+
const encodeA6Command = (command, body, key) => {
|
|
66
|
+
const encodedBody = encryptA6Body(body, key);
|
|
67
|
+
if (!encodedBody) {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
const content = [command >> 8, command & 0xff, ...encodedBody];
|
|
71
|
+
if (content.length > 18) {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
return ["10", content.length.toString(16).padStart(2, "0"), ...content.map(value => (value & 0xff).toString(16).padStart(2, "0"))];
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
/** Extracts each length-prefixed A6 notification frame; command fragments are joined by its sequencer. */
|
|
78
|
+
exports.encodeA6Command = encodeA6Command;
|
|
79
|
+
class A6ScaleFrameReader {
|
|
80
|
+
readFrame(buffer) {
|
|
81
|
+
if (buffer.length < 2) {
|
|
82
|
+
return {
|
|
83
|
+
status: _frameReadStatus.FrameReadStatus.INCOMPLETE,
|
|
84
|
+
consumedBytes: 0
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
const control = byte(buffer[0]);
|
|
88
|
+
const frameCount = control >> 4;
|
|
89
|
+
const frameIndex = control & 0x0f;
|
|
90
|
+
const contentLength = byte(buffer[1]);
|
|
91
|
+
if (frameCount === 0 && contentLength === 1 && buffer.length < 3) {
|
|
92
|
+
return {
|
|
93
|
+
status: _frameReadStatus.FrameReadStatus.INCOMPLETE,
|
|
94
|
+
consumedBytes: 0
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
if (frameCount === 0 && (contentLength !== 1 || buffer.length < 3 || byte(buffer[2]) !== 1) || frameCount !== 0 && (frameIndex >= frameCount || contentLength === 0 || contentLength > 18)) {
|
|
98
|
+
return {
|
|
99
|
+
status: _frameReadStatus.FrameReadStatus.CORRUPT,
|
|
100
|
+
consumedBytes: 1
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
if (buffer.length < contentLength + 2) {
|
|
104
|
+
return {
|
|
105
|
+
status: _frameReadStatus.FrameReadStatus.INCOMPLETE,
|
|
106
|
+
consumedBytes: 0
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
status: _frameReadStatus.FrameReadStatus.COMPLETE,
|
|
111
|
+
consumedBytes: contentLength + 2,
|
|
112
|
+
frame: buffer.slice(0, contentLength + 2)
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.A6ScaleFrameReader = A6ScaleFrameReader;
|
|
117
|
+
const decodeA6Command = (content, key) => {
|
|
118
|
+
if (content.length < 2) {
|
|
119
|
+
return undefined;
|
|
120
|
+
}
|
|
121
|
+
const command = readA6Uint(content, 0, 2);
|
|
122
|
+
const body = decryptA6Body(content.slice(2), key);
|
|
123
|
+
return body ? {
|
|
124
|
+
command,
|
|
125
|
+
body
|
|
126
|
+
} : undefined;
|
|
127
|
+
};
|
|
128
|
+
exports.decodeA6Command = decodeA6Command;
|
|
129
|
+
const a6CommandBody = frame => {
|
|
130
|
+
const contentLength = byte(frame[1]);
|
|
131
|
+
return frame.slice(2, 2 + contentLength);
|
|
132
|
+
};
|
|
133
|
+
exports.a6CommandBody = a6CommandBody;
|
|
134
|
+
//# sourceMappingURL=a6-scale.protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_cryptoJs","_interopRequireDefault","require","_frameReadStatus","_base64ToHex","e","__esModule","default","A6_SCALE_SERVICE","exports","A6_SCALE_NOTIFY","A6_SCALE_WRITE","A6_SCALE_ACK","A6_SCALE_WEIGHT","byte","value","Number","parseInt","readA6Uint","bytes","offset","length","slice","reduce","current","bytesToHex","map","toString","padStart","join","hexToBytes","hex","match","a6EncryptionKey","deviceId","manufacturerData","mac","replace","toLowerCase","manufacturer","base64ToHex","test","startsWith","undefined","prefix","Array","from","character","charCodeAt","encryptA6Body","body","key","padded","fill","encrypted","CryptoJS","AES","encrypt","enc","Hex","parse","mode","ECB","padding","pad","NoPadding","stringify","ciphertext","decryptA6Body","lib","CipherParams","create","decrypted","decrypt","encodeA6Command","command","encodedBody","content","A6ScaleFrameReader","readFrame","buffer","status","FrameReadStatus","INCOMPLETE","consumedBytes","control","frameCount","frameIndex","contentLength","CORRUPT","COMPLETE","frame","decodeA6Command","a6CommandBody"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/transtek/a6-scale.protocol.ts"],"mappings":"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","ignoreList":[]}
|