@ovok/native 1.6.14 → 1.6.15
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-management/services/devices/veroval/veroval.duo-control-device.js +9 -8
- package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.duo-control-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.js +4 -1
- package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/veroval/veroval.duo-control-device.js +9 -8
- package/lib/module/modules/bt-management/services/devices/veroval/veroval.duo-control-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.js +4 -1
- package/lib/module/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.js.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.d.ts +2 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.d.ts.map +1 -1
- package/package.json +1 -1
package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.duo-control-device.js
CHANGED
|
@@ -35,13 +35,11 @@ const MAX_REPLY_BYTES = 8_192;
|
|
|
35
35
|
/** The device sleeps between measurements, so it is given a while to answer. */
|
|
36
36
|
const STUCK_TIMEOUT_MS = 120_000;
|
|
37
37
|
const RECORD_TIMESTAMP_BYTES = 10;
|
|
38
|
-
const RECORD_MEMORY_SLOT_OFFSET = RECORD_TIMESTAMP_BYTES;
|
|
39
38
|
const asciiFromFrame = (frame, from, count) => frame.slice(from, from + count).map(byte => String.fromCharCode(Number.parseInt(byte, 16))).join("");
|
|
40
39
|
const parseVerovalDuoControlRecordMetadata = (frame, recordOffset) => {
|
|
41
40
|
const timestamp = asciiFromFrame(frame, recordOffset, RECORD_TIMESTAMP_BYTES);
|
|
42
41
|
const [year, month, day, hour, minute] = [Number(timestamp.slice(0, 2)), Number(timestamp.slice(2, 4)), Number(timestamp.slice(4, 6)), Number(timestamp.slice(6, 8)), Number(timestamp.slice(8, 10))];
|
|
43
|
-
|
|
44
|
-
if (!/^\d{10}$/.test(timestamp) || ![year, month, day, hour, minute].every(Number.isFinite) || memorySlot !== "1" && memorySlot !== "2") {
|
|
42
|
+
if (!/^\d{10}$/.test(timestamp) || ![year, month, day, hour, minute].every(Number.isFinite)) {
|
|
45
43
|
return undefined;
|
|
46
44
|
}
|
|
47
45
|
const recordedAt = new Date(2000 + year, month - 1, day, hour, minute);
|
|
@@ -49,7 +47,6 @@ const parseVerovalDuoControlRecordMetadata = (frame, recordOffset) => {
|
|
|
49
47
|
return undefined;
|
|
50
48
|
}
|
|
51
49
|
return {
|
|
52
|
-
memorySlot: Number(memorySlot),
|
|
53
50
|
recordedAt
|
|
54
51
|
};
|
|
55
52
|
};
|
|
@@ -65,9 +62,8 @@ const asciiField = (name, from, unit) => ({
|
|
|
65
62
|
* The record layout, read from HARTMANN's own application.
|
|
66
63
|
*
|
|
67
64
|
* Offsets are relative to a record, and every field is decimal digits written as text. The
|
|
68
|
-
* timestamp at the front of each record is
|
|
69
|
-
*
|
|
70
|
-
* meaningful.
|
|
65
|
+
* The timestamp at the front of each record is decoded by the device class. Byte 10 is a
|
|
66
|
+
* measurement flag; the memory slot comes from the command that selected the record set.
|
|
71
67
|
*/
|
|
72
68
|
const duoControlDefinition = (0, _defineCustomDevice.defineCustomDevice)({
|
|
73
69
|
id: "veroval-duo-control",
|
|
@@ -112,6 +108,7 @@ const duoControlDefinition = (0, _defineCustomDevice.defineCustomDevice)({
|
|
|
112
108
|
* asked, so what arrives was taken before the connection and may be days old.
|
|
113
109
|
*/
|
|
114
110
|
class VerovalDuoControlDevice extends _customDevice.CustomDevice {
|
|
111
|
+
memorySlot = 1;
|
|
115
112
|
constructor(device, params) {
|
|
116
113
|
super(device, params, duoControlDefinition);
|
|
117
114
|
this.frameReader = new _sentinelFrameReader.SentinelFrameReader({
|
|
@@ -125,6 +122,9 @@ class VerovalDuoControlDevice extends _customDevice.CustomDevice {
|
|
|
125
122
|
serviceUuid: SERVICE,
|
|
126
123
|
characteristicUuid: WRITE
|
|
127
124
|
},
|
|
125
|
+
onMemorySlot: memorySlot => {
|
|
126
|
+
this.memorySlot = memorySlot;
|
|
127
|
+
},
|
|
128
128
|
onRefused: reason => this.onError?.(new Error(`Veroval duo control: ${reason}.`))
|
|
129
129
|
});
|
|
130
130
|
}
|
|
@@ -132,7 +132,8 @@ class VerovalDuoControlDevice extends _customDevice.CustomDevice {
|
|
|
132
132
|
const metadata = frame && recordOffset !== undefined ? parseVerovalDuoControlRecordMetadata(frame, recordOffset) : undefined;
|
|
133
133
|
return metadata ? {
|
|
134
134
|
...reading,
|
|
135
|
-
...metadata
|
|
135
|
+
...metadata,
|
|
136
|
+
memorySlot: this.memorySlot
|
|
136
137
|
} : reading;
|
|
137
138
|
};
|
|
138
139
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_defineCustomDevice","_customDevice","_sentinelFrameReader","_verovalDuoControlSequencer","SERVICE","NOTIFY","WRITE","STX","ETX","ACK","NAK","RECORD_BYTES","TAG_BYTES","DATA_REPLY","COUNT_REPLY","MAX_REPLY_BYTES","STUCK_TIMEOUT_MS","RECORD_TIMESTAMP_BYTES","
|
|
1
|
+
{"version":3,"names":["_core","require","_defineCustomDevice","_customDevice","_sentinelFrameReader","_verovalDuoControlSequencer","SERVICE","NOTIFY","WRITE","STX","ETX","ACK","NAK","RECORD_BYTES","TAG_BYTES","DATA_REPLY","COUNT_REPLY","MAX_REPLY_BYTES","STUCK_TIMEOUT_MS","RECORD_TIMESTAMP_BYTES","asciiFromFrame","frame","from","count","slice","map","byte","String","fromCharCode","Number","parseInt","join","parseVerovalDuoControlRecordMetadata","recordOffset","timestamp","year","month","day","hour","minute","test","every","isFinite","undefined","recordedAt","Date","getFullYear","getMonth","getDate","getHours","getMinutes","exports","asciiField","name","unit","byteIndexes","encoding","duoControlDefinition","defineCustomDevice","id","nameMatch","stuckDataTimeoutMs","services","uuid","monitor","minLengthBytes","caseSelectorBytes","cases","selector","kind","measurementTypeKey","MeasurementTypeKey","bloodPressure","description","repeatedRecords","recordBytes","fields","VerovalDuoControlDevice","CustomDevice","memorySlot","constructor","device","params","frameReader","SentinelFrameReader","start","terminator","maxFrameBytes","standaloneBytes","createCommandSequencer","VerovalDuoControlSequencer","write","serviceUuid","characteristicUuid","onMemorySlot","onRefused","reason","onError","Error","decorateReading","reading","metadata"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/veroval/veroval.duo-control-device.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.js
CHANGED
|
@@ -109,7 +109,10 @@ class VerovalDuoControlSequencer {
|
|
|
109
109
|
this.params.onRefused(reason);
|
|
110
110
|
return undefined;
|
|
111
111
|
};
|
|
112
|
-
commandFor = step =>
|
|
112
|
+
commandFor = step => {
|
|
113
|
+
this.params.onMemorySlot?.(step < 2 ? 1 : 2);
|
|
114
|
+
return asciiCommand(this.params.write, STEPS[step] ?? "");
|
|
115
|
+
};
|
|
113
116
|
}
|
|
114
117
|
exports.VerovalDuoControlSequencer = VerovalDuoControlSequencer;
|
|
115
118
|
const asciiCommandFromHex = (write, hex) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_hexToByte","require","ACK","NAK","ENQ","STEPS","TAG_FROM","TAG_BYTES","COUNT_BYTES","ASCII_ZERO","ASCII_NINE","asciiOf","frame","from","count","slice","map","byte","String","fromCharCode","hexToByte","join","asciiNumberOf","codes","length","some","code","undefined","Number","asciiCommand","write","text","character","charCodeAt","toString","padStart","withoutResponse","VerovalDuoControlSequencer","step","isDone","constructor","params","initialCommands","commandFor","nextCommand","answerControlByte","tag","answerCount","advance","asciiCommandFromHex","stop","skipMemory","reason","onRefused","exports","hex"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.ts"],"mappings":";;;;;;AAEA,IAAAA,UAAA,GAAAC,OAAA;AAEA;AACA,MAAMC,GAAG,GAAG,IAAI;AAChB,MAAMC,GAAG,GAAG,IAAI;AAChB,MAAMC,GAAG,GAAG,IAAI;;AAEhB;AACA,MAAMC,KAAK,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAU;;AAE7D;AACA,MAAMC,QAAQ,GAAG,CAAC;AAClB,MAAMC,SAAS,GAAG,CAAC;AACnB,MAAMC,WAAW,GAAG,CAAC;AACrB,MAAMC,UAAU,GAAG,IAAI;AACvB,MAAMC,UAAU,GAAG,IAAI;AAEvB,MAAMC,OAAO,GAAGA,CAACC,KAAwB,EAAEC,IAAY,EAAEC,KAAa,KACpEF,KAAK,CACFG,KAAK,CAACF,IAAI,EAAEA,IAAI,GAAGC,KAAK,CAAC,CACzBE,GAAG,CAAEC,IAAI,IAAKC,MAAM,CAACC,YAAY,CAAC,IAAAC,oBAAS,EAACH,IAAI,CAAC,CAAC,CAAC,CACnDI,IAAI,CAAC,EAAE,CAAC;AAEb,MAAMC,aAAa,GAAGA,CACpBV,KAAwB,EACxBC,IAAY,EACZC,KAAa,KACU;EACvB,MAAMS,KAAK,GAAGX,KAAK,CAACG,KAAK,CAACF,IAAI,EAAEA,IAAI,GAAGC,KAAK,CAAC,CAACE,GAAG,CAAEC,IAAI,IAAK,IAAAG,oBAAS,EAACH,IAAI,CAAC,CAAC;EAE5E,IACEM,KAAK,CAACC,MAAM,KAAKV,KAAK,IACtBS,KAAK,CAACE,IAAI,CAAEC,IAAI,IAAKA,IAAI,GAAGjB,UAAU,IAAIiB,IAAI,GAAGhB,UAAU,CAAC,EAC5D;IACA,OAAOiB,SAAS;EAClB;EAEA,OAAOC,MAAM,CAACL,KAAK,CAACP,GAAG,CAAEU,IAAI,IAAKA,IAAI,GAAGjB,UAAU,CAAC,CAACY,IAAI,CAAC,EAAE,CAAC,CAAC;AAChE,CAAC;
|
|
1
|
+
{"version":3,"names":["_hexToByte","require","ACK","NAK","ENQ","STEPS","TAG_FROM","TAG_BYTES","COUNT_BYTES","ASCII_ZERO","ASCII_NINE","asciiOf","frame","from","count","slice","map","byte","String","fromCharCode","hexToByte","join","asciiNumberOf","codes","length","some","code","undefined","Number","asciiCommand","write","text","character","charCodeAt","toString","padStart","withoutResponse","VerovalDuoControlSequencer","step","isDone","constructor","params","initialCommands","commandFor","nextCommand","answerControlByte","tag","answerCount","advance","asciiCommandFromHex","stop","skipMemory","reason","onRefused","onMemorySlot","exports","hex"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/modules/bt-management/services/devices/veroval/veroval.duo-control-device.js
CHANGED
|
@@ -31,13 +31,11 @@ const MAX_REPLY_BYTES = 8_192;
|
|
|
31
31
|
/** The device sleeps between measurements, so it is given a while to answer. */
|
|
32
32
|
const STUCK_TIMEOUT_MS = 120_000;
|
|
33
33
|
const RECORD_TIMESTAMP_BYTES = 10;
|
|
34
|
-
const RECORD_MEMORY_SLOT_OFFSET = RECORD_TIMESTAMP_BYTES;
|
|
35
34
|
const asciiFromFrame = (frame, from, count) => frame.slice(from, from + count).map(byte => String.fromCharCode(Number.parseInt(byte, 16))).join("");
|
|
36
35
|
const parseVerovalDuoControlRecordMetadata = (frame, recordOffset) => {
|
|
37
36
|
const timestamp = asciiFromFrame(frame, recordOffset, RECORD_TIMESTAMP_BYTES);
|
|
38
37
|
const [year, month, day, hour, minute] = [Number(timestamp.slice(0, 2)), Number(timestamp.slice(2, 4)), Number(timestamp.slice(4, 6)), Number(timestamp.slice(6, 8)), Number(timestamp.slice(8, 10))];
|
|
39
|
-
|
|
40
|
-
if (!/^\d{10}$/.test(timestamp) || ![year, month, day, hour, minute].every(Number.isFinite) || memorySlot !== "1" && memorySlot !== "2") {
|
|
38
|
+
if (!/^\d{10}$/.test(timestamp) || ![year, month, day, hour, minute].every(Number.isFinite)) {
|
|
41
39
|
return undefined;
|
|
42
40
|
}
|
|
43
41
|
const recordedAt = new Date(2000 + year, month - 1, day, hour, minute);
|
|
@@ -45,7 +43,6 @@ const parseVerovalDuoControlRecordMetadata = (frame, recordOffset) => {
|
|
|
45
43
|
return undefined;
|
|
46
44
|
}
|
|
47
45
|
return {
|
|
48
|
-
memorySlot: Number(memorySlot),
|
|
49
46
|
recordedAt
|
|
50
47
|
};
|
|
51
48
|
};
|
|
@@ -60,9 +57,8 @@ const asciiField = (name, from, unit) => ({
|
|
|
60
57
|
* The record layout, read from HARTMANN's own application.
|
|
61
58
|
*
|
|
62
59
|
* Offsets are relative to a record, and every field is decimal digits written as text. The
|
|
63
|
-
* timestamp at the front of each record is
|
|
64
|
-
*
|
|
65
|
-
* meaningful.
|
|
60
|
+
* The timestamp at the front of each record is decoded by the device class. Byte 10 is a
|
|
61
|
+
* measurement flag; the memory slot comes from the command that selected the record set.
|
|
66
62
|
*/
|
|
67
63
|
const duoControlDefinition = defineCustomDevice({
|
|
68
64
|
id: "veroval-duo-control",
|
|
@@ -107,6 +103,7 @@ const duoControlDefinition = defineCustomDevice({
|
|
|
107
103
|
* asked, so what arrives was taken before the connection and may be days old.
|
|
108
104
|
*/
|
|
109
105
|
class VerovalDuoControlDevice extends CustomDevice {
|
|
106
|
+
memorySlot = 1;
|
|
110
107
|
constructor(device, params) {
|
|
111
108
|
super(device, params, duoControlDefinition);
|
|
112
109
|
this.frameReader = new SentinelFrameReader({
|
|
@@ -120,6 +117,9 @@ class VerovalDuoControlDevice extends CustomDevice {
|
|
|
120
117
|
serviceUuid: SERVICE,
|
|
121
118
|
characteristicUuid: WRITE
|
|
122
119
|
},
|
|
120
|
+
onMemorySlot: memorySlot => {
|
|
121
|
+
this.memorySlot = memorySlot;
|
|
122
|
+
},
|
|
123
123
|
onRefused: reason => this.onError?.(new Error(`Veroval duo control: ${reason}.`))
|
|
124
124
|
});
|
|
125
125
|
}
|
|
@@ -127,7 +127,8 @@ class VerovalDuoControlDevice extends CustomDevice {
|
|
|
127
127
|
const metadata = frame && recordOffset !== undefined ? parseVerovalDuoControlRecordMetadata(frame, recordOffset) : undefined;
|
|
128
128
|
return metadata ? {
|
|
129
129
|
...reading,
|
|
130
|
-
...metadata
|
|
130
|
+
...metadata,
|
|
131
|
+
memorySlot: this.memorySlot
|
|
131
132
|
} : reading;
|
|
132
133
|
};
|
|
133
134
|
}
|
package/lib/module/modules/bt-management/services/devices/veroval/veroval.duo-control-device.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","defineCustomDevice","CustomDevice","SentinelFrameReader","VerovalDuoControlSequencer","SERVICE","NOTIFY","WRITE","STX","ETX","ACK","NAK","RECORD_BYTES","TAG_BYTES","DATA_REPLY","COUNT_REPLY","MAX_REPLY_BYTES","STUCK_TIMEOUT_MS","RECORD_TIMESTAMP_BYTES","
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","defineCustomDevice","CustomDevice","SentinelFrameReader","VerovalDuoControlSequencer","SERVICE","NOTIFY","WRITE","STX","ETX","ACK","NAK","RECORD_BYTES","TAG_BYTES","DATA_REPLY","COUNT_REPLY","MAX_REPLY_BYTES","STUCK_TIMEOUT_MS","RECORD_TIMESTAMP_BYTES","asciiFromFrame","frame","from","count","slice","map","byte","String","fromCharCode","Number","parseInt","join","parseVerovalDuoControlRecordMetadata","recordOffset","timestamp","year","month","day","hour","minute","test","every","isFinite","undefined","recordedAt","Date","getFullYear","getMonth","getDate","getHours","getMinutes","asciiField","name","unit","byteIndexes","encoding","duoControlDefinition","id","nameMatch","stuckDataTimeoutMs","services","uuid","monitor","minLengthBytes","caseSelectorBytes","cases","selector","kind","measurementTypeKey","bloodPressure","description","repeatedRecords","recordBytes","fields","VerovalDuoControlDevice","memorySlot","constructor","device","params","frameReader","start","terminator","maxFrameBytes","standaloneBytes","createCommandSequencer","write","serviceUuid","characteristicUuid","onMemorySlot","onRefused","reason","onError","Error","decorateReading","reading","metadata"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/veroval/veroval.duo-control-device.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.js
CHANGED
|
@@ -106,7 +106,10 @@ export class VerovalDuoControlSequencer {
|
|
|
106
106
|
this.params.onRefused(reason);
|
|
107
107
|
return undefined;
|
|
108
108
|
};
|
|
109
|
-
commandFor = step =>
|
|
109
|
+
commandFor = step => {
|
|
110
|
+
this.params.onMemorySlot?.(step < 2 ? 1 : 2);
|
|
111
|
+
return asciiCommand(this.params.write, STEPS[step] ?? "");
|
|
112
|
+
};
|
|
110
113
|
}
|
|
111
114
|
const asciiCommandFromHex = (write, hex) => ({
|
|
112
115
|
...write,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["hexToByte","ACK","NAK","ENQ","STEPS","TAG_FROM","TAG_BYTES","COUNT_BYTES","ASCII_ZERO","ASCII_NINE","asciiOf","frame","from","count","slice","map","byte","String","fromCharCode","join","asciiNumberOf","codes","length","some","code","undefined","Number","asciiCommand","write","text","character","charCodeAt","toString","padStart","withoutResponse","VerovalDuoControlSequencer","step","isDone","constructor","params","initialCommands","commandFor","nextCommand","answerControlByte","tag","answerCount","advance","asciiCommandFromHex","stop","skipMemory","reason","onRefused","hex"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.ts"],"mappings":";;AAEA,SAASA,SAAS,QAAQ,+BAA4B;;AAEtD;AACA,MAAMC,GAAG,GAAG,IAAI;AAChB,MAAMC,GAAG,GAAG,IAAI;AAChB,MAAMC,GAAG,GAAG,IAAI;;AAEhB;AACA,MAAMC,KAAK,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAU;;AAE7D;AACA,MAAMC,QAAQ,GAAG,CAAC;AAClB,MAAMC,SAAS,GAAG,CAAC;AACnB,MAAMC,WAAW,GAAG,CAAC;AACrB,MAAMC,UAAU,GAAG,IAAI;AACvB,MAAMC,UAAU,GAAG,IAAI;AAEvB,MAAMC,OAAO,GAAGA,CAACC,KAAwB,EAAEC,IAAY,EAAEC,KAAa,KACpEF,KAAK,CACFG,KAAK,CAACF,IAAI,EAAEA,IAAI,GAAGC,KAAK,CAAC,CACzBE,GAAG,CAAEC,IAAI,IAAKC,MAAM,CAACC,YAAY,CAAClB,SAAS,CAACgB,IAAI,CAAC,CAAC,CAAC,CACnDG,IAAI,CAAC,EAAE,CAAC;AAEb,MAAMC,aAAa,GAAGA,CACpBT,KAAwB,EACxBC,IAAY,EACZC,KAAa,KACU;EACvB,MAAMQ,KAAK,GAAGV,KAAK,CAACG,KAAK,CAACF,IAAI,EAAEA,IAAI,GAAGC,KAAK,CAAC,CAACE,GAAG,CAAEC,IAAI,IAAKhB,SAAS,CAACgB,IAAI,CAAC,CAAC;EAE5E,IACEK,KAAK,CAACC,MAAM,KAAKT,KAAK,IACtBQ,KAAK,CAACE,IAAI,CAAEC,IAAI,IAAKA,IAAI,GAAGhB,UAAU,IAAIgB,IAAI,GAAGf,UAAU,CAAC,EAC5D;IACA,OAAOgB,SAAS;EAClB;EAEA,OAAOC,MAAM,CAACL,KAAK,CAACN,GAAG,CAAES,IAAI,IAAKA,IAAI,GAAGhB,UAAU,CAAC,CAACW,IAAI,CAAC,EAAE,CAAC,CAAC;AAChE,CAAC;
|
|
1
|
+
{"version":3,"names":["hexToByte","ACK","NAK","ENQ","STEPS","TAG_FROM","TAG_BYTES","COUNT_BYTES","ASCII_ZERO","ASCII_NINE","asciiOf","frame","from","count","slice","map","byte","String","fromCharCode","join","asciiNumberOf","codes","length","some","code","undefined","Number","asciiCommand","write","text","character","charCodeAt","toString","padStart","withoutResponse","VerovalDuoControlSequencer","step","isDone","constructor","params","initialCommands","commandFor","nextCommand","answerControlByte","tag","answerCount","advance","asciiCommandFromHex","stop","skipMemory","reason","onRefused","onMemorySlot","hex"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,7 +9,7 @@ type VerovalDuoControlMeasurement = BloodPressureMeasurement & {
|
|
|
9
9
|
/** The timestamp stored in the monitor, rather than the download time. */
|
|
10
10
|
recordedAt: Date;
|
|
11
11
|
};
|
|
12
|
-
declare const parseVerovalDuoControlRecordMetadata: (frame: readonly string[], recordOffset: number) => Pick<VerovalDuoControlMeasurement, "
|
|
12
|
+
declare const parseVerovalDuoControlRecordMetadata: (frame: readonly string[], recordOffset: number) => Pick<VerovalDuoControlMeasurement, "recordedAt"> | undefined;
|
|
13
13
|
/**
|
|
14
14
|
* The Veroval duo control.
|
|
15
15
|
*
|
|
@@ -22,6 +22,7 @@ declare const parseVerovalDuoControlRecordMetadata: (frame: readonly string[], r
|
|
|
22
22
|
* asked, so what arrives was taken before the connection and may be days old.
|
|
23
23
|
*/
|
|
24
24
|
declare class VerovalDuoControlDevice extends CustomDevice {
|
|
25
|
+
private memorySlot;
|
|
25
26
|
constructor(device: Device, params: CreateDeviceParams<CustomDeviceId>);
|
|
26
27
|
protected decorateReading: (reading: Parameters<CustomDevice["decorateReading"]>[0], frame?: readonly string[], recordOffset?: number) => import("../../..").CustomMeasurement & {
|
|
27
28
|
caseType: import("../../../types/case-type").CaseType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"veroval.duo-control-device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAsB,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"veroval.duo-control-device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAsB,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAkCvD,KAAK,4BAA4B,GAAG,wBAAwB,GAAG;IAE7D,oDAAoD;IACpD,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;IAElB,0EAA0E;IAC1E,UAAU,EAAE,IAAI,CAAC;CAClB,CAAC;AAYF,QAAA,MAAM,oCAAoC,GACxC,OAAO,SAAS,MAAM,EAAE,EACxB,cAAc,MAAM,KACnB,IAAI,CAAC,4BAA4B,EAAE,YAAY,CAAC,GAAG,SA+BrD,CAAC;AAqDF;;;;;;;;;;GAUG;AACH,cAAM,uBAAwB,SAAQ,YAAY;IAChD,OAAO,CAAC,UAAU,CAAY;gBAG5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,CAAC,cAAc,CAAC;IAsB5C,SAAS,CAAC,eAAe,GACvB,SAAS,UAAU,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,QAAQ,SAAS,MAAM,EAAE,EACzB,eAAe,MAAM;;;;MAUrB;CACH;AAED,OAAO,EACL,oCAAoC,EACpC,uBAAuB,GACxB,CAAC;AACF,YAAY,EAAE,4BAA4B,EAAE,CAAC"}
|
|
@@ -5,6 +5,8 @@ interface DuoControlSequencerParams {
|
|
|
5
5
|
write: Omit<DeviceCommand, "frame">;
|
|
6
6
|
/** Called with why the exchange stopped early. Required, so a refusal is not lost. */
|
|
7
7
|
onRefused: (reason: string) => void;
|
|
8
|
+
/** Called when a command selects one of the monitor's two user memories. */
|
|
9
|
+
onMemorySlot?: (memorySlot: 1 | 2) => void;
|
|
8
10
|
}
|
|
9
11
|
/**
|
|
10
12
|
* Walks the Veroval duo control through its stored history.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"veroval.duo-control-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAyC9D,UAAU,yBAAyB;IAEjC,2EAA2E;IAC3E,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAEpC,sFAAsF;IACtF,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"veroval.duo-control-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAyC9D,UAAU,yBAAyB;IAEjC,2EAA2E;IAC3E,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAEpC,sFAAsF;IACtF,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpC,4EAA4E;IAC5E,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;CAC5C;AAaD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,0BAA2B,YAAW,gBAAgB;IAI9C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAH1C,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,MAAM,CAAS;gBAEa,MAAM,EAAE,yBAAyB;IAE9D,eAAe,QAAO,SAAS,aAAa,EAAE,CAAyB;IAEvE,WAAW,GAChB,OAAO,SAAS,MAAM,EAAE,KACvB,SAAS,aAAa,EAAE,GAAG,SAAS,CAgBrC;IAEF,OAAO,CAAC,iBAAiB,CAYvB;IAEF;;;OAGG;IACH,OAAO,CAAC,WAAW,CAUjB;IAEF,mEAAmE;IACnE,OAAO,CAAC,UAAU,CAIhB;IAEF,OAAO,CAAC,OAAO,CAUb;IAEF,OAAO,CAAC,IAAI,CAKV;IAEF,OAAO,CAAC,UAAU,CAIhB;CACH"}
|
|
@@ -9,7 +9,7 @@ type VerovalDuoControlMeasurement = BloodPressureMeasurement & {
|
|
|
9
9
|
/** The timestamp stored in the monitor, rather than the download time. */
|
|
10
10
|
recordedAt: Date;
|
|
11
11
|
};
|
|
12
|
-
declare const parseVerovalDuoControlRecordMetadata: (frame: readonly string[], recordOffset: number) => Pick<VerovalDuoControlMeasurement, "
|
|
12
|
+
declare const parseVerovalDuoControlRecordMetadata: (frame: readonly string[], recordOffset: number) => Pick<VerovalDuoControlMeasurement, "recordedAt"> | undefined;
|
|
13
13
|
/**
|
|
14
14
|
* The Veroval duo control.
|
|
15
15
|
*
|
|
@@ -22,6 +22,7 @@ declare const parseVerovalDuoControlRecordMetadata: (frame: readonly string[], r
|
|
|
22
22
|
* asked, so what arrives was taken before the connection and may be days old.
|
|
23
23
|
*/
|
|
24
24
|
declare class VerovalDuoControlDevice extends CustomDevice {
|
|
25
|
+
private memorySlot;
|
|
25
26
|
constructor(device: Device, params: CreateDeviceParams<CustomDeviceId>);
|
|
26
27
|
protected decorateReading: (reading: Parameters<CustomDevice["decorateReading"]>[0], frame?: readonly string[], recordOffset?: number) => import("../../..").CustomMeasurement & {
|
|
27
28
|
caseType: import("../../../types/case-type").CaseType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"veroval.duo-control-device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAsB,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"veroval.duo-control-device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAsB,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAkCvD,KAAK,4BAA4B,GAAG,wBAAwB,GAAG;IAE7D,oDAAoD;IACpD,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;IAElB,0EAA0E;IAC1E,UAAU,EAAE,IAAI,CAAC;CAClB,CAAC;AAYF,QAAA,MAAM,oCAAoC,GACxC,OAAO,SAAS,MAAM,EAAE,EACxB,cAAc,MAAM,KACnB,IAAI,CAAC,4BAA4B,EAAE,YAAY,CAAC,GAAG,SA+BrD,CAAC;AAqDF;;;;;;;;;;GAUG;AACH,cAAM,uBAAwB,SAAQ,YAAY;IAChD,OAAO,CAAC,UAAU,CAAY;gBAG5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,CAAC,cAAc,CAAC;IAsB5C,SAAS,CAAC,eAAe,GACvB,SAAS,UAAU,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,QAAQ,SAAS,MAAM,EAAE,EACzB,eAAe,MAAM;;;;MAUrB;CACH;AAED,OAAO,EACL,oCAAoC,EACpC,uBAAuB,GACxB,CAAC;AACF,YAAY,EAAE,4BAA4B,EAAE,CAAC"}
|
|
@@ -5,6 +5,8 @@ interface DuoControlSequencerParams {
|
|
|
5
5
|
write: Omit<DeviceCommand, "frame">;
|
|
6
6
|
/** Called with why the exchange stopped early. Required, so a refusal is not lost. */
|
|
7
7
|
onRefused: (reason: string) => void;
|
|
8
|
+
/** Called when a command selects one of the monitor's two user memories. */
|
|
9
|
+
onMemorySlot?: (memorySlot: 1 | 2) => void;
|
|
8
10
|
}
|
|
9
11
|
/**
|
|
10
12
|
* Walks the Veroval duo control through its stored history.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"veroval.duo-control-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAyC9D,UAAU,yBAAyB;IAEjC,2EAA2E;IAC3E,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAEpC,sFAAsF;IACtF,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"veroval.duo-control-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.duo-control-sequencer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAyC9D,UAAU,yBAAyB;IAEjC,2EAA2E;IAC3E,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAEpC,sFAAsF;IACtF,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpC,4EAA4E;IAC5E,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;CAC5C;AAaD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,0BAA2B,YAAW,gBAAgB;IAI9C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAH1C,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,MAAM,CAAS;gBAEa,MAAM,EAAE,yBAAyB;IAE9D,eAAe,QAAO,SAAS,aAAa,EAAE,CAAyB;IAEvE,WAAW,GAChB,OAAO,SAAS,MAAM,EAAE,KACvB,SAAS,aAAa,EAAE,GAAG,SAAS,CAgBrC;IAEF,OAAO,CAAC,iBAAiB,CAYvB;IAEF;;;OAGG;IACH,OAAO,CAAC,WAAW,CAUjB;IAEF,mEAAmE;IACnE,OAAO,CAAC,UAAU,CAIhB;IAEF,OAAO,CAAC,OAAO,CAUb;IAEF,OAAO,CAAC,IAAI,CAKV;IAEF,OAAO,CAAC,UAAU,CAIhB;CACH"}
|