@ovok/native 1.6.20 → 1.6.22
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/custom/define-custom-device.js +4 -1
- package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +4 -1
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +34 -1
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.duo-control-device.js +2 -1
- 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.ecg-transfer.js +18 -3
- package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/types/custom-device-definition.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/define-custom-device.js +4 -1
- package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +1 -1
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +5 -2
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +32 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/veroval/veroval.duo-control-device.js +2 -1
- 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.ecg-transfer.js +18 -3
- package/lib/module/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.js.map +1 -1
- package/lib/module/modules/bt-management/types/custom-device-definition.js.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts +4 -2
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +7 -2
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.d.ts +4 -3
- 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.ecg-transfer.d.ts +2 -2
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +7 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts +4 -2
- package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +7 -2
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.d.ts +4 -3
- 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.ecg-transfer.d.ts +2 -2
- package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +7 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -89,7 +89,7 @@ const compileWrite = (id, path, write) => {
|
|
|
89
89
|
* throws, naming the exact position in the declaration - and a device that fails to compile
|
|
90
90
|
* is never scanned for.
|
|
91
91
|
*/
|
|
92
|
-
const defineCustomDevice = spec => {
|
|
92
|
+
const defineCustomDevice = (spec, options = {}) => {
|
|
93
93
|
const id = assertIdentity(spec);
|
|
94
94
|
const nameMatch = compileNameMatch(id, spec);
|
|
95
95
|
const stuckDataTimeout = assertStuckTimeout(id, spec);
|
|
@@ -145,6 +145,9 @@ const defineCustomDevice = spec => {
|
|
|
145
145
|
}),
|
|
146
146
|
...(lepu === undefined ? {} : {
|
|
147
147
|
lepu
|
|
148
|
+
}),
|
|
149
|
+
...(options.decorateReading === undefined ? {} : {
|
|
150
|
+
decorateReading: options.decorateReading
|
|
148
151
|
})
|
|
149
152
|
};
|
|
150
153
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_customDeviceBrand","require","_integratedDevices","_compileCustomLepu","_compileCustomMonitor","_customDeviceError","_normalizeBleUuid","MIN_STUCK_TIMEOUT_MS","MIN_MTU","MAX_MTU","MAX_STUCK_TIMEOUT_MS","HEX_BYTES","assertIdentity","spec","id","trim","customDeviceError","String","builtIn","Object","values","IntegratedDevices","find","name","toLowerCase","compileNameMatch","nameMatch","RegExp","global","sticky","exact","matchByService","replace","assertStuckTimeout","timeout","stuckDataTimeoutMs","Number","isInteger","assertPreferredMtu","mtu","preferredMtu","undefined","compileWrite","path","write","commandHex","test","uuid","normalizeBleUuid","mainCommandUuid","defineCustomDevice","stuckDataTimeout","Array","isArray","services","length","fields","Map","frames","seenCharacteristics","Set","mainServices","map","service","serviceIndex","monitor","monitorUuids","monitorIndex","monitorPath","characteristic","frame","compileCustomMonitor","has","add","set","writeUuid","lepu","compileCustomLepu","CUSTOM_DEVICE_BRAND","oneReadingPerConnection","clockSync","setClockBeforeInfo","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/define-custom-device.ts"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_customDeviceBrand","require","_integratedDevices","_compileCustomLepu","_compileCustomMonitor","_customDeviceError","_normalizeBleUuid","MIN_STUCK_TIMEOUT_MS","MIN_MTU","MAX_MTU","MAX_STUCK_TIMEOUT_MS","HEX_BYTES","assertIdentity","spec","id","trim","customDeviceError","String","builtIn","Object","values","IntegratedDevices","find","name","toLowerCase","compileNameMatch","nameMatch","RegExp","global","sticky","exact","matchByService","replace","assertStuckTimeout","timeout","stuckDataTimeoutMs","Number","isInteger","assertPreferredMtu","mtu","preferredMtu","undefined","compileWrite","path","write","commandHex","test","uuid","normalizeBleUuid","mainCommandUuid","defineCustomDevice","options","stuckDataTimeout","Array","isArray","services","length","fields","Map","frames","seenCharacteristics","Set","mainServices","map","service","serviceIndex","monitor","monitorUuids","monitorIndex","monitorPath","characteristic","frame","compileCustomMonitor","has","add","set","writeUuid","lepu","compileCustomLepu","CUSTOM_DEVICE_BRAND","oneReadingPerConnection","clockSync","setClockBeforeInfo","decorateReading","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/define-custom-device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -154,7 +154,7 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
|
|
|
154
154
|
}
|
|
155
155
|
|
|
156
156
|
/** Adds protocol-specific metadata to a validated reading before it is emitted. */
|
|
157
|
-
decorateReading = (reading,
|
|
157
|
+
decorateReading = (reading, frame, recordOffset) => this.definition.decorateReading?.(reading, frame, recordOffset) ?? reading;
|
|
158
158
|
|
|
159
159
|
/**
|
|
160
160
|
* Reports what the frame carried, which may be more than one reading.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_caseType","_createFrameValidator","_parseMeasurement","_rejectCustomReading","_btManagedDevice","_lepuCommandBuilder","_lepuFileTransfer","_lepuFrameReader","_viatomEcgFiles","_customLepuSequencer","CustomDevice","BTManagedDevice","validators","Map","constructor","device","params","definition","oneReadingPerConnection","deviceData","clockSync","deliveredEcgFileNames","Set","mainServices","stuckDataTimeout","reportsBondedEvent","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","createFrameValidator","lepu","frameReader","LepuFrameReader","startBytes","createCommandSequencer","fileTransfer","LepuFileTransfer","write","serviceUuid","characteristicUuid","builder","LepuCommandBuilder","onFile","reportViatomEcgFile","skipFiles","afterTransfer","pollCommand","build","onError","reason","Error","onProgress","progress","onConnectionEvent","kind","current","receivedBytes","total","totalBytes","createLepuSequencer","onIdentified","onRefused","onIdentityRefused","file","decoded","decodeViatomEcgRecording","content","samples","length","name","onResult","measurementTypeKey","MeasurementTypeKey","ecg","caseType","CaseType","RESULT","diagramPoints","duration","recordedAt","recordedAtFromViatomFileName","recordingId","info","recordLepuIdentity","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","shouldReportDependentResult","reportFrame","error","parsingCase","OTHER","_data","handleSuccessResult","decorateReading","reading","
|
|
1
|
+
{"version":3,"names":["_core","require","_caseType","_createFrameValidator","_parseMeasurement","_rejectCustomReading","_btManagedDevice","_lepuCommandBuilder","_lepuFileTransfer","_lepuFrameReader","_viatomEcgFiles","_customLepuSequencer","CustomDevice","BTManagedDevice","validators","Map","constructor","device","params","definition","oneReadingPerConnection","deviceData","clockSync","deliveredEcgFileNames","Set","mainServices","stuckDataTimeout","reportsBondedEvent","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","createFrameValidator","lepu","frameReader","LepuFrameReader","startBytes","createCommandSequencer","fileTransfer","LepuFileTransfer","write","serviceUuid","characteristicUuid","builder","LepuCommandBuilder","onFile","reportViatomEcgFile","skipFiles","afterTransfer","pollCommand","build","onError","reason","Error","onProgress","progress","onConnectionEvent","kind","current","receivedBytes","total","totalBytes","createLepuSequencer","onIdentified","onRefused","onIdentityRefused","file","decoded","decodeViatomEcgRecording","content","samples","length","name","onResult","measurementTypeKey","MeasurementTypeKey","ecg","caseType","CaseType","RESULT","diagramPoints","duration","recordedAt","recordedAtFromViatomFileName","recordingId","info","recordLepuIdentity","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","shouldReportDependentResult","reportFrame","error","parsingCase","OTHER","_data","handleSuccessResult","decorateReading","reading","recordOffset","repeated","repeatedRecords","report","parsedData","records","Math","floor","from","recordBytes","record","parseMeasurement","measurements","discard","measurement","reportMeasurement","discardedReadingError","fieldNames","rejection","map","rejectCustomReading","fields","find","message","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js
CHANGED
|
@@ -48,7 +48,10 @@ const pulseAfterTimestamp = {
|
|
|
48
48
|
fields: [(0, _standardGattProfile.littleEndian)("heartRate", [14, 15], "bpm", "sfloat")],
|
|
49
49
|
minLengthBytes: 16
|
|
50
50
|
};
|
|
51
|
-
const standardBloodPressureDevice = params => (0, _standardGattProfile.declareProfile)(
|
|
51
|
+
const standardBloodPressureDevice = params => (0, _standardGattProfile.declareProfile)({
|
|
52
|
+
...params,
|
|
53
|
+
decorateReading: _standardGattProfile.decorateBloodPressureReading
|
|
54
|
+
}, {
|
|
52
55
|
service: "1810",
|
|
53
56
|
characteristic: "2a35",
|
|
54
57
|
minLengthBytes: 7,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_standardGattProfile","pulseAfterMeanPressure","fields","littleEndian","minLengthBytes","pulseAfterTimestamp","standardBloodPressureDevice","params","declareProfile","service","characteristic","measurementTypeKey","MeasurementTypeKey","bloodPressure","selectors","optionalFields","exports","standardThermometerDevice","temperature","fieldsBySelector","scale","offset","decimals","WEIGHT_KG_PER_COUNT","standardWeightScaleDevice","bodyWeight","Array","from","length","_","flags","toString","padStart","Object","fromEntries","selector","standardPulseOximeterDevice","bloodOxygenPulseRate","standardHeartRateDevice","heartRate","filter","map","name","byteIndexes","encoding","unit","byteOrder"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.ts"],"mappings":";;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AAIA,IAAAC,oBAAA,GAAAD,OAAA;AANA;;
|
|
1
|
+
{"version":3,"names":["_core","require","_standardGattProfile","pulseAfterMeanPressure","fields","littleEndian","minLengthBytes","pulseAfterTimestamp","standardBloodPressureDevice","params","declareProfile","decorateReading","decorateBloodPressureReading","service","characteristic","measurementTypeKey","MeasurementTypeKey","bloodPressure","selectors","optionalFields","exports","standardThermometerDevice","temperature","fieldsBySelector","scale","offset","decimals","WEIGHT_KG_PER_COUNT","standardWeightScaleDevice","bodyWeight","Array","from","length","_","flags","toString","padStart","Object","fromEntries","selector","standardPulseOximeterDevice","bloodOxygenPulseRate","standardHeartRateDevice","heartRate","filter","map","name","byteIndexes","encoding","unit","byteOrder"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.sigUuid = exports.littleEndian = exports.declareProfile = void 0;
|
|
6
|
+
exports.sigUuid = exports.recordedAtFromBloodPressureFrame = exports.littleEndian = exports.decorateBloodPressureReading = exports.declareProfile = void 0;
|
|
7
7
|
var _defineCustomDevice = require("../../custom/define-custom-device.js");
|
|
8
8
|
/** Milliseconds a spot-check device may take to produce its reading. */
|
|
9
9
|
const SPOT_CHECK_TIMEOUT_MS = 60_000;
|
|
@@ -45,6 +45,8 @@ const declareProfile = (params, profile) => (0, _defineCustomDevice.defineCustom
|
|
|
45
45
|
})
|
|
46
46
|
}]
|
|
47
47
|
}]
|
|
48
|
+
}, {
|
|
49
|
+
decorateReading: params.decorateReading
|
|
48
50
|
});
|
|
49
51
|
exports.declareProfile = declareProfile;
|
|
50
52
|
const littleEndian = (name, byteIndexes, unit, encoding) => ({
|
|
@@ -55,4 +57,35 @@ const littleEndian = (name, byteIndexes, unit, encoding) => ({
|
|
|
55
57
|
unit
|
|
56
58
|
});
|
|
57
59
|
exports.littleEndian = littleEndian;
|
|
60
|
+
const byteAt = (frame, index, offset) => {
|
|
61
|
+
const value = Number.parseInt(frame[index + offset] ?? "", 16);
|
|
62
|
+
return Number.isInteger(value) && value >= 0 && value <= 0xff ? value : undefined;
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
/** Reads the SIG blood-pressure timestamp as a phone-local date. */
|
|
66
|
+
const recordedAtFromBloodPressureFrame = (frame, offset = 0) => {
|
|
67
|
+
const flags = byteAt(frame, 0, offset);
|
|
68
|
+
const yearLow = byteAt(frame, 7, offset);
|
|
69
|
+
const yearHigh = byteAt(frame, 8, offset);
|
|
70
|
+
const month = byteAt(frame, 9, offset);
|
|
71
|
+
const day = byteAt(frame, 10, offset);
|
|
72
|
+
const hour = byteAt(frame, 11, offset);
|
|
73
|
+
const minute = byteAt(frame, 12, offset);
|
|
74
|
+
const second = byteAt(frame, 13, offset);
|
|
75
|
+
if (flags === undefined || (flags & 0x02) === 0 || yearLow === undefined || yearHigh === undefined || month === undefined || day === undefined || hour === undefined || minute === undefined || second === undefined) {
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
const year = yearLow | yearHigh << 8;
|
|
79
|
+
const recordedAt = new Date(year, month - 1, day, hour, minute, second);
|
|
80
|
+
return recordedAt.getFullYear() === year && recordedAt.getMonth() === month - 1 && recordedAt.getDate() === day && recordedAt.getHours() === hour && recordedAt.getMinutes() === minute && recordedAt.getSeconds() === second ? recordedAt : undefined;
|
|
81
|
+
};
|
|
82
|
+
exports.recordedAtFromBloodPressureFrame = recordedAtFromBloodPressureFrame;
|
|
83
|
+
const decorateBloodPressureReading = (reading, frame, recordOffset) => {
|
|
84
|
+
const recordedAt = frame ? recordedAtFromBloodPressureFrame(frame, recordOffset) : undefined;
|
|
85
|
+
return recordedAt ? {
|
|
86
|
+
...reading,
|
|
87
|
+
recordedAt
|
|
88
|
+
} : reading;
|
|
89
|
+
};
|
|
90
|
+
exports.decorateBloodPressureReading = decorateBloodPressureReading;
|
|
58
91
|
//# sourceMappingURL=standard-gatt.profile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_defineCustomDevice","require","SPOT_CHECK_TIMEOUT_MS","sigUuid","assigned","exports","declareProfile","params","profile","defineCustomDevice","id","measurementTypeKey","nameMatch","matchByService","undefined","oneReadingPerConnection","stuckDataTimeoutMs","services","uuid","service","monitor","characteristic","frame","minLengthBytes","caseSelectorBytes","cases","selectors","map","selector","optional","optionalFields","fields","fieldsBySelector","kind","littleEndian","name","byteIndexes","unit","encoding","byteOrder"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["_defineCustomDevice","require","SPOT_CHECK_TIMEOUT_MS","sigUuid","assigned","exports","declareProfile","params","profile","defineCustomDevice","id","measurementTypeKey","nameMatch","matchByService","undefined","oneReadingPerConnection","stuckDataTimeoutMs","services","uuid","service","monitor","characteristic","frame","minLengthBytes","caseSelectorBytes","cases","selectors","map","selector","optional","optionalFields","fields","fieldsBySelector","kind","decorateReading","littleEndian","name","byteIndexes","unit","encoding","byteOrder","byteAt","index","offset","value","Number","parseInt","isInteger","recordedAtFromBloodPressureFrame","flags","yearLow","yearHigh","month","day","hour","minute","second","year","recordedAt","Date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","decorateBloodPressureReading","reading","recordOffset"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.duo-control-device.js
CHANGED
|
@@ -47,7 +47,8 @@ const parseVerovalDuoControlRecordMetadata = (frame, recordOffset) => {
|
|
|
47
47
|
return undefined;
|
|
48
48
|
}
|
|
49
49
|
return {
|
|
50
|
-
recordedAt
|
|
50
|
+
recordedAt,
|
|
51
|
+
irregularHeartbeat: asciiFromFrame(frame, recordOffset + RECORD_TIMESTAMP_BYTES, 1) !== "0"
|
|
51
52
|
};
|
|
52
53
|
};
|
|
53
54
|
exports.parseVerovalDuoControlRecordMetadata = parseVerovalDuoControlRecordMetadata;
|
|
@@ -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","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":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AAEA,IAAAI,2BAAA,GAAAJ,OAAA;AAEA,MAAMK,OAAO,GAAG,sCAAsC;AACtD,MAAMC,MAAM,GAAG,sCAAsC;AACrD,MAAMC,KAAK,GAAG,sCAAsC;AAEpD,MAAMC,GAAG,GAAG,IAAI;AAChB,MAAMC,GAAG,GAAG,IAAI;AAChB,MAAMC,GAAG,GAAG,IAAI;AAChB,MAAMC,GAAG,GAAG,IAAI;;AAEhB;AACA,MAAMC,YAAY,GAAG,EAAE;;AAEvB;AACA,MAAMC,SAAS,GAAG,CAAC;;AAEnB;AACA,MAAMC,UAAU,GAAG,UAAU;;AAE7B;AACA,MAAMC,WAAW,GAAG,UAAU;;AAE9B;AACA,MAAMC,eAAe,GAAG,KAAK;;AAE7B;AACA,MAAMC,gBAAgB,GAAG,OAAO;AAEhC,MAAMC,sBAAsB,GAAG,EAAE;
|
|
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","irregularHeartbeat","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":[]}
|
|
@@ -13,6 +13,9 @@ const DOWNLOAD_GROUP = 4;
|
|
|
13
13
|
const DOWNLOAD_MODE = 1;
|
|
14
14
|
const DOWNLOAD_HEADER = 2;
|
|
15
15
|
const DOWNLOAD_RAW = 3;
|
|
16
|
+
const FRAME_GROUP_INDEX = 1;
|
|
17
|
+
const FRAME_COMMAND_INDEX = 2;
|
|
18
|
+
const FRAME_PACKET_INDEX = 3;
|
|
16
19
|
|
|
17
20
|
/** The transfer's shape, from the vendor's own device table. */
|
|
18
21
|
const PAYLOAD_FROM = 4;
|
|
@@ -23,6 +26,8 @@ const SEGMENTS = 34;
|
|
|
23
26
|
const BYTE_MASK = 0xff;
|
|
24
27
|
const BYTE_BITS = 8;
|
|
25
28
|
const toHex = byte => (byte & BYTE_MASK).toString(16).padStart(2, "0");
|
|
29
|
+
const isDownloadFrame = (frame, command) => frame[FRAME_GROUP_INDEX]?.toLowerCase() === toHex(DOWNLOAD_GROUP) && frame[FRAME_COMMAND_INDEX]?.toLowerCase() === toHex(command);
|
|
30
|
+
const isExpectedRawPacket = (frame, packetIndex) => isDownloadFrame(frame, DOWNLOAD_RAW) && frame[FRAME_PACKET_INDEX]?.toLowerCase() === toHex(packetIndex);
|
|
26
31
|
const packet = (write, command, parameters = []) => {
|
|
27
32
|
const bytes = new Array(PACKET_BYTES).fill(0);
|
|
28
33
|
bytes[GROUP_INDEX] = DOWNLOAD_GROUP;
|
|
@@ -43,8 +48,8 @@ const segmentParameters = segment => [segment & BYTE_MASK, segment >> BYTE_BITS
|
|
|
43
48
|
* The exchange is a fixed walk rather than a conversation: ask for the download mode, then
|
|
44
49
|
* the header, then each second of the recording in turn. The device answers each request
|
|
45
50
|
* with a known number of twenty-byte packets, sixteen payload bytes each, so the transfer is
|
|
46
|
-
* paced by counting them
|
|
47
|
-
*
|
|
51
|
+
* paced by counting them. Notifications for live measurements, standby and device settings
|
|
52
|
+
* share the characteristic, so only the download group and command advance the transfer.
|
|
48
53
|
*
|
|
49
54
|
* A recording is thirty-four seconds at 128 Hz. Nothing is reported until all of it has
|
|
50
55
|
* arrived: a partial ECG that looked whole would be worse than none, and the count is what
|
|
@@ -64,14 +69,24 @@ class VerovalEcgTransfer {
|
|
|
64
69
|
return undefined;
|
|
65
70
|
}
|
|
66
71
|
if (this.phase === "mode") {
|
|
72
|
+
if (!isDownloadFrame(frame, DOWNLOAD_MODE)) {
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
67
75
|
this.phase = "header";
|
|
68
76
|
this.packets = 0;
|
|
69
77
|
return [packet(this.params.write, DOWNLOAD_HEADER)];
|
|
70
78
|
}
|
|
71
|
-
this.packets += 1;
|
|
72
79
|
if (this.phase === "header") {
|
|
80
|
+
if (!isDownloadFrame(frame, DOWNLOAD_HEADER)) {
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
this.packets += 1;
|
|
73
84
|
return this.packets < HEADER_PACKETS ? undefined : this.requestSegment(0);
|
|
74
85
|
}
|
|
86
|
+
if (!isExpectedRawPacket(frame, this.packets)) {
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
89
|
+
this.packets += 1;
|
|
75
90
|
this.recording.push(...frame.slice(PAYLOAD_FROM, PAYLOAD_FROM + PAYLOAD_BYTES));
|
|
76
91
|
return this.packets < PACKETS_PER_SEGMENT ? undefined : this.finishSegment();
|
|
77
92
|
};
|
package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PACKET_BYTES","GROUP_INDEX","COMMAND_INDEX","PARAMETER_INDEX","DOWNLOAD_GROUP","DOWNLOAD_MODE","DOWNLOAD_HEADER","DOWNLOAD_RAW","PAYLOAD_FROM","PAYLOAD_BYTES","HEADER_PACKETS","PACKETS_PER_SEGMENT","SEGMENTS","BYTE_MASK","BYTE_BITS","toHex","byte","toString","padStart","
|
|
1
|
+
{"version":3,"names":["PACKET_BYTES","GROUP_INDEX","COMMAND_INDEX","PARAMETER_INDEX","DOWNLOAD_GROUP","DOWNLOAD_MODE","DOWNLOAD_HEADER","DOWNLOAD_RAW","FRAME_GROUP_INDEX","FRAME_COMMAND_INDEX","FRAME_PACKET_INDEX","PAYLOAD_FROM","PAYLOAD_BYTES","HEADER_PACKETS","PACKETS_PER_SEGMENT","SEGMENTS","BYTE_MASK","BYTE_BITS","toHex","byte","toString","padStart","isDownloadFrame","frame","command","toLowerCase","isExpectedRawPacket","packetIndex","packet","write","parameters","bytes","Array","fill","forEach","value","index","map","withoutResponse","segmentParameters","segment","VerovalEcgTransfer","phase","packets","recording","constructor","params","initialCommands","nextCommand","undefined","requestSegment","push","slice","finishSegment","onRecording","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/veroval/veroval.ecg-transfer.ts"],"mappings":";;;;;;AAGA;AACA,MAAMA,YAAY,GAAG,EAAE;AACvB,MAAMC,WAAW,GAAG,CAAC;AACrB,MAAMC,aAAa,GAAG,CAAC;AACvB,MAAMC,eAAe,GAAG,CAAC;AAEzB,MAAMC,cAAc,GAAG,CAAC;AACxB,MAAMC,aAAa,GAAG,CAAC;AACvB,MAAMC,eAAe,GAAG,CAAC;AACzB,MAAMC,YAAY,GAAG,CAAC;AACtB,MAAMC,iBAAiB,GAAG,CAAC;AAC3B,MAAMC,mBAAmB,GAAG,CAAC;AAC7B,MAAMC,kBAAkB,GAAG,CAAC;;AAE5B;AACA,MAAMC,YAAY,GAAG,CAAC;AACtB,MAAMC,aAAa,GAAG,EAAE;AACxB,MAAMC,cAAc,GAAG,CAAC;AACxB,MAAMC,mBAAmB,GAAG,EAAE;AAC9B,MAAMC,QAAQ,GAAG,EAAE;AAEnB,MAAMC,SAAS,GAAG,IAAI;AACtB,MAAMC,SAAS,GAAG,CAAC;AAEnB,MAAMC,KAAK,GAAIC,IAAY,IACzB,CAACA,IAAI,GAAGH,SAAS,EAAEI,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAElD,MAAMC,eAAe,GAAGA,CACtBC,KAAwB,EACxBC,OAAe,KAEfD,KAAK,CAACf,iBAAiB,CAAC,EAAEiB,WAAW,CAAC,CAAC,KAAKP,KAAK,CAACd,cAAc,CAAC,IACjEmB,KAAK,CAACd,mBAAmB,CAAC,EAAEgB,WAAW,CAAC,CAAC,KAAKP,KAAK,CAACM,OAAO,CAAC;AAE9D,MAAME,mBAAmB,GAAGA,CAC1BH,KAAwB,EACxBI,WAAmB,KAEnBL,eAAe,CAACC,KAAK,EAAEhB,YAAY,CAAC,IACpCgB,KAAK,CAACb,kBAAkB,CAAC,EAAEe,WAAW,CAAC,CAAC,KAAKP,KAAK,CAACS,WAAW,CAAC;AAEjE,MAAMC,MAAM,GAAGA,CACbC,KAAmC,EACnCL,OAAe,EACfM,UAA6B,GAAG,EAAE,KAChB;EAClB,MAAMC,KAAK,GAAG,IAAIC,KAAK,CAAShC,YAAY,CAAC,CAACiC,IAAI,CAAC,CAAC,CAAC;EAErDF,KAAK,CAAC9B,WAAW,CAAC,GAAGG,cAAc;EACnC2B,KAAK,CAAC7B,aAAa,CAAC,GAAGsB,OAAO;EAC9BM,UAAU,CAACI,OAAO,CAAC,CAACC,KAAK,EAAEC,KAAK,KAAK;IACnCL,KAAK,CAAC5B,eAAe,GAAGiC,KAAK,CAAC,GAAGD,KAAK;EACxC,CAAC,CAAC;EAEF,OAAO;IAAE,GAAGN,KAAK;IAAEN,KAAK,EAAEQ,KAAK,CAACM,GAAG,CAACnB,KAAK,CAAC;IAAEoB,eAAe,EAAE;EAAK,CAAC;AACrE,CAAC;AAED,MAAMC,iBAAiB,GAAIC,OAAe,IAAe,CACvDA,OAAO,GAAGxB,SAAS,EAClBwB,OAAO,IAAIvB,SAAS,GAAID,SAAS,EACjCwB,OAAO,IAAKvB,SAAS,GAAG,CAAE,GAAID,SAAS,CACzC;AAaD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMyB,kBAAkB,CAA6B;EAClDC,KAAK,GAAU,MAAM;EACrBC,OAAO,GAAG,CAAC;EACXH,OAAO,GAAG,CAAC;EACXI,SAAS,GAAa,EAAE;EAEzBC,WAAWA,CAAkBC,MAAyB,EAAE;IAAA,KAA3BA,MAAyB,GAAzBA,MAAyB;EAAG;EAEzDC,eAAe,GAAGA,CAAA,KAAgC,CACvDnB,MAAM,CAAC,IAAI,CAACkB,MAAM,CAACjB,KAAK,EAAExB,aAAa,CAAC,CACzC;EAEM2C,WAAW,GAChBzB,KAAwB,IACiB;IACzC,IAAI,IAAI,CAACmB,KAAK,KAAK,MAAM,EAAE;MACzB,OAAOO,SAAS;IAClB;IAEA,IAAI,IAAI,CAACP,KAAK,KAAK,MAAM,EAAE;MACzB,IAAI,CAACpB,eAAe,CAACC,KAAK,EAAElB,aAAa,CAAC,EAAE;QAC1C,OAAO4C,SAAS;MAClB;MAEA,IAAI,CAACP,KAAK,GAAG,QAAQ;MACrB,IAAI,CAACC,OAAO,GAAG,CAAC;MAEhB,OAAO,CAACf,MAAM,CAAC,IAAI,CAACkB,MAAM,CAACjB,KAAK,EAAEvB,eAAe,CAAC,CAAC;IACrD;IAEA,IAAI,IAAI,CAACoC,KAAK,KAAK,QAAQ,EAAE;MAC3B,IAAI,CAACpB,eAAe,CAACC,KAAK,EAAEjB,eAAe,CAAC,EAAE;QAC5C,OAAO2C,SAAS;MAClB;MAEA,IAAI,CAACN,OAAO,IAAI,CAAC;MAEjB,OAAO,IAAI,CAACA,OAAO,GAAG9B,cAAc,GAAGoC,SAAS,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC,CAAC;IAC3E;IAEA,IAAI,CAACxB,mBAAmB,CAACH,KAAK,EAAE,IAAI,CAACoB,OAAO,CAAC,EAAE;MAC7C,OAAOM,SAAS;IAClB;IAEA,IAAI,CAACN,OAAO,IAAI,CAAC;IAEjB,IAAI,CAACC,SAAS,CAACO,IAAI,CACjB,GAAG5B,KAAK,CAAC6B,KAAK,CAACzC,YAAY,EAAEA,YAAY,GAAGC,aAAa,CAC3D,CAAC;IAED,OAAO,IAAI,CAAC+B,OAAO,GAAG7B,mBAAmB,GACrCmC,SAAS,GACT,IAAI,CAACI,aAAa,CAAC,CAAC;EAC1B,CAAC;EAEOA,aAAa,GAAGA,CAAA,KAA4C;IAClE,IAAI,CAACb,OAAO,IAAI,CAAC;IAEjB,IAAI,IAAI,CAACA,OAAO,GAAGzB,QAAQ,EAAE;MAC3B,OAAO,IAAI,CAACmC,cAAc,CAAC,IAAI,CAACV,OAAO,CAAC;IAC1C;IAEA,IAAI,CAACE,KAAK,GAAG,MAAM;IACnB,IAAI,CAACI,MAAM,CAACQ,WAAW,CAAC,IAAI,CAACV,SAAS,CAAC;IAEvC,OAAOK,SAAS;EAClB,CAAC;EAEOC,cAAc,GAAIV,OAAe,IAA+B;IACtE,IAAI,CAACE,KAAK,GAAG,KAAK;IAClB,IAAI,CAACC,OAAO,GAAG,CAAC;IAChB,IAAI,CAACH,OAAO,GAAGA,OAAO;IAEtB,OAAO,CACLZ,MAAM,CAAC,IAAI,CAACkB,MAAM,CAACjB,KAAK,EAAEtB,YAAY,EAAEgC,iBAAiB,CAACC,OAAO,CAAC,CAAC,CACpE;EACH,CAAC;AACH;AAACe,OAAA,CAAAd,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_customDeviceBrand","require"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/custom-device-definition.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["_customDeviceBrand","require"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/custom-device-definition.ts"],"mappings":";;AAEA,IAAAA,kBAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -85,7 +85,7 @@ const compileWrite = (id, path, write) => {
|
|
|
85
85
|
* throws, naming the exact position in the declaration - and a device that fails to compile
|
|
86
86
|
* is never scanned for.
|
|
87
87
|
*/
|
|
88
|
-
export const defineCustomDevice = spec => {
|
|
88
|
+
export const defineCustomDevice = (spec, options = {}) => {
|
|
89
89
|
const id = assertIdentity(spec);
|
|
90
90
|
const nameMatch = compileNameMatch(id, spec);
|
|
91
91
|
const stuckDataTimeout = assertStuckTimeout(id, spec);
|
|
@@ -141,6 +141,9 @@ export const defineCustomDevice = spec => {
|
|
|
141
141
|
}),
|
|
142
142
|
...(lepu === undefined ? {} : {
|
|
143
143
|
lepu
|
|
144
|
+
}),
|
|
145
|
+
...(options.decorateReading === undefined ? {} : {
|
|
146
|
+
decorateReading: options.decorateReading
|
|
144
147
|
})
|
|
145
148
|
};
|
|
146
149
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CUSTOM_DEVICE_BRAND","IntegratedDevices","compileCustomLepu","compileCustomMonitor","customDeviceError","normalizeBleUuid","MIN_STUCK_TIMEOUT_MS","MIN_MTU","MAX_MTU","MAX_STUCK_TIMEOUT_MS","HEX_BYTES","assertIdentity","spec","id","trim","String","builtIn","Object","values","find","name","toLowerCase","compileNameMatch","nameMatch","RegExp","global","sticky","exact","matchByService","replace","assertStuckTimeout","timeout","stuckDataTimeoutMs","Number","isInteger","assertPreferredMtu","mtu","preferredMtu","undefined","compileWrite","path","write","commandHex","test","uuid","mainCommandUuid","defineCustomDevice","stuckDataTimeout","Array","isArray","services","length","fields","Map","frames","seenCharacteristics","Set","mainServices","map","service","serviceIndex","monitor","monitorUuids","monitorIndex","monitorPath","characteristic","frame","has","add","set","writeUuid","lepu","oneReadingPerConnection","clockSync","setClockBeforeInfo"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/define-custom-device.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,wCAAqC;
|
|
1
|
+
{"version":3,"names":["CUSTOM_DEVICE_BRAND","IntegratedDevices","compileCustomLepu","compileCustomMonitor","customDeviceError","normalizeBleUuid","MIN_STUCK_TIMEOUT_MS","MIN_MTU","MAX_MTU","MAX_STUCK_TIMEOUT_MS","HEX_BYTES","assertIdentity","spec","id","trim","String","builtIn","Object","values","find","name","toLowerCase","compileNameMatch","nameMatch","RegExp","global","sticky","exact","matchByService","replace","assertStuckTimeout","timeout","stuckDataTimeoutMs","Number","isInteger","assertPreferredMtu","mtu","preferredMtu","undefined","compileWrite","path","write","commandHex","test","uuid","mainCommandUuid","defineCustomDevice","options","stuckDataTimeout","Array","isArray","services","length","fields","Map","frames","seenCharacteristics","Set","mainServices","map","service","serviceIndex","monitor","monitorUuids","monitorIndex","monitorPath","characteristic","frame","has","add","set","writeUuid","lepu","oneReadingPerConnection","clockSync","setClockBeforeInfo","decorateReading"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/define-custom-device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -149,7 +149,7 @@ export class CustomDevice extends BTManagedDevice {
|
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
/** Adds protocol-specific metadata to a validated reading before it is emitted. */
|
|
152
|
-
decorateReading = (reading,
|
|
152
|
+
decorateReading = (reading, frame, recordOffset) => this.definition.decorateReading?.(reading, frame, recordOffset) ?? reading;
|
|
153
153
|
|
|
154
154
|
/**
|
|
155
155
|
* Reports what the frame carried, which may be more than one reading.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","BTManagedDevice","LepuCommandBuilder","LepuFileTransfer","LepuFrameReader","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","CustomDevice","validators","Map","constructor","device","params","definition","oneReadingPerConnection","deviceData","clockSync","deliveredEcgFileNames","Set","mainServices","stuckDataTimeout","reportsBondedEvent","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","lepu","frameReader","startBytes","createCommandSequencer","fileTransfer","write","serviceUuid","characteristicUuid","builder","onFile","reportViatomEcgFile","skipFiles","afterTransfer","pollCommand","build","onError","reason","Error","onProgress","progress","onConnectionEvent","kind","current","receivedBytes","total","totalBytes","onIdentified","onRefused","onIdentityRefused","file","decoded","content","samples","length","name","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","info","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","shouldReportDependentResult","reportFrame","error","parsingCase","OTHER","_data","handleSuccessResult","decorateReading","reading","
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","BTManagedDevice","LepuCommandBuilder","LepuFileTransfer","LepuFrameReader","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","CustomDevice","validators","Map","constructor","device","params","definition","oneReadingPerConnection","deviceData","clockSync","deliveredEcgFileNames","Set","mainServices","stuckDataTimeout","reportsBondedEvent","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","lepu","frameReader","startBytes","createCommandSequencer","fileTransfer","write","serviceUuid","characteristicUuid","builder","onFile","reportViatomEcgFile","skipFiles","afterTransfer","pollCommand","build","onError","reason","Error","onProgress","progress","onConnectionEvent","kind","current","receivedBytes","total","totalBytes","onIdentified","onRefused","onIdentityRefused","file","decoded","content","samples","length","name","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","info","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","shouldReportDependentResult","reportFrame","error","parsingCase","OTHER","_data","handleSuccessResult","decorateReading","reading","recordOffset","repeated","repeatedRecords","report","parsedData","records","Math","floor","from","recordBytes","record","measurements","discard","measurement","reportMeasurement","fieldNames","rejection","map","fields","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":";;AAAA;AACA,SAASA,kBAAkB,QAAQ,YAAY;AAG/C,SAASC,QAAQ,QAAQ,6BAA0B;AAUnD,SAASC,oBAAoB,QAAQ,0CAAuC;AAC5E,SAASC,gBAAgB,QAAQ,qCAAkC;AACnE,SACEC,qBAAqB,EACrBC,mBAAmB,QACd,yCAAsC;AAC7C,SAASC,eAAe,QAAQ,yBAAsB;AACtD,SAASC,kBAAkB,QAAQ,iCAA8B;AAEjE,SAAmBC,gBAAgB,QAAQ,+BAA4B;AACvE,SAASC,eAAe,QAAQ,8BAA2B;AAC3D,SACEC,wBAAwB,EACxBC,4BAA4B,QACvB,+BAA4B;AAEnC,SACEC,mBAAmB,EACnBC,kBAAkB,QACb,4BAAyB;AAKhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,SAASR,eAAe,CAAiB;EAO/CS,UAAU,GAAG,IAAIC,GAAG,CAAsC,CAAC;EAE5EC,WAAWA,CACTC,MAAc,EACdC,MAA0C,EAC1CC,UAAkC,EAClC;IACA,KAAK,CAACF,MAAM,EAAE;MACZ,GAAGC,MAAM;MACTE,uBAAuB,EACrBF,MAAM,CAACE,uBAAuB,IAAID,UAAU,CAACC;IACjD,CAAC,CAAC;IAEF,IAAI,CAACD,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACE,UAAU,CAACC,SAAS,GAAGH,UAAU,CAACG,SAAS;IAChD,IAAI,CAACC,qBAAqB,GAAG,IAAIC,GAAG,CAACN,MAAM,CAACK,qBAAqB,IAAI,EAAE,CAAC;IACxE,IAAI,CAACE,YAAY,GAAGN,UAAU,CAACM,YAAY;IAC3C,IAAI,CAACC,gBAAgB,GAAGP,UAAU,CAACO,gBAAgB;IACnD,IAAI,CAACC,kBAAkB,GAAGR,UAAU,CAACQ,kBAAkB,KAAK,IAAI;IAEhE,IAAIR,UAAU,CAACS,YAAY,KAAKC,SAAS,EAAE;MACzC,IAAI,CAACD,YAAY,GAAGT,UAAU,CAACS,YAAY;IAC7C;IAEA,IAAI,CAACE,mBAAmB,CAACX,UAAU,EAAED,MAAM,CAACI,SAAS,CAAC;IAEtDH,UAAU,CAACY,MAAM,CAACC,OAAO,CAAC,CAACC,KAAK,EAAEC,IAAI,KAAK;MACzC,IAAI,CAACpB,UAAU,CAACqB,GAAG,CAACD,IAAI,EAAEjC,oBAAoB,CAACgC,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACUH,mBAAmBA,CACzBX,UAAkC,EAClCG,SAA0D,EACpD;IACN,MAAMc,IAAI,GAAGjB,UAAU,CAACiB,IAAI;IAE5B,IAAI,CAACA,IAAI,EAAE;MACT;IACF;IAEA,IAAI,CAACC,WAAW,GAAG,IAAI7B,eAAe,CAAC4B,IAAI,CAACE,UAAU,CAAC;IAEvD,IAAI,CAACC,sBAAsB,GAAG,MAAM;MAClC,IAAIH,IAAI,CAACI,YAAY,KAAK,KAAK,EAAE;QAC/B,OAAO,IAAIjC,gBAAgB,CAAC;UAC1BkC,KAAK,EAAE;YACLC,WAAW,EAAEN,IAAI,CAACK,KAAK,CAACC,WAAW;YACnCC,kBAAkB,EAAEP,IAAI,CAACK,KAAK,CAACE;UACjC,CAAC;UACDC,OAAO,EAAE,IAAItC,kBAAkB,CAAC8B,IAAI,CAACE,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;UAC3DO,MAAM,EAAE,IAAI,CAACC,mBAAmB;UAChCC,SAAS,EAAE,IAAI,CAACxB,qBAAqB;UACrCyB,aAAa,EAAEZ,IAAI,CAACa,WAAW,GAC3B,MAAM,CACJ;YACEP,WAAW,EAAEN,IAAI,CAACK,KAAK,CAACC,WAAW;YACnCC,kBAAkB,EAAEP,IAAI,CAACK,KAAK,CAACE,kBAAkB;YACjDV,KAAK,EAAE,IAAI3B,kBAAkB,CAC3B8B,IAAI,CAACE,UAAU,CAAC,CAAC,CAAC,IAAI,IACxB,CAAC,CAACY,KAAK,CAACd,IAAI,CAACa,WAAY;UAC3B,CAAC,CACF,GACDpB,SAAS;UACbsB,OAAO,EAAGC,MAAM,IACd,IAAI,CAACD,OAAO,GAAG,IAAIE,KAAK,CAAC,eAAeD,MAAM,EAAE,CAAC,CAAC;UACpDE,UAAU,EAAGC,QAAQ,IACnB,IAAI,CAACC,iBAAiB,GAAG;YACvBnC,UAAU,EAAE,IAAI,CAACA,UAAU;YAC3BoC,IAAI,EAAE,kBAAkB;YACxBF,QAAQ,EAAE;cACRG,OAAO,EAAEH,QAAQ,CAACI,aAAa;cAC/BC,KAAK,EAAEL,QAAQ,CAACM;YAClB;UACF,CAAC;QACL,CAAC,CAAC;MACJ;MAEA,OAAOlD,mBAAmB,CAACyB,IAAI,EAAE;QAC/B0B,YAAY,EAAE,IAAI,CAACA,YAAY;QAC/BC,SAAS,EAAE,IAAI,CAACC;MAClB,CAAC,EAAE1C,SAAS,CAAC;IACf,CAAC;EACH;EAEQwB,mBAAmB,GAAImB,IAAc,IAAW;IACtD,MAAMC,OAAO,GAAGzD,wBAAwB,CAACwD,IAAI,CAACE,OAAO,CAAC;IAEtD,IAAID,OAAO,CAACE,OAAO,CAACC,MAAM,KAAK,CAAC,EAAE;MAChC,IAAI,CAAClB,OAAO,GAAG,IAAIE,KAAK,CAAC,qBAAqBY,IAAI,CAACK,IAAI,mBAAmB,CAAC,CAAC;MAE5E;IACF;IAEA,IAAI,CAACC,QAAQ,GAAG;MACdC,kBAAkB,EAAEzE,kBAAkB,CAAC0E,GAAG;MAC1CC,QAAQ,EAAE1E,QAAQ,CAAC2E,MAAM;MACzBC,aAAa,EAAEV,OAAO,CAACE,OAAO;MAC9BS,QAAQ,EAAEX,OAAO,CAACW,QAAQ;MAC1BC,UAAU,EAAEpE,4BAA4B,CAACuD,IAAI,CAACK,IAAI,CAAC;MACnDS,WAAW,EAAEd,IAAI,CAACK;IACpB,CAA4B,CAAC;EAC/B,CAAC;EAEOR,YAAY,GAAIkB,IAAoB,IAC1CpE,kBAAkB,CAAC,IAAI,CAACS,UAAU,EAAE2D,IAAI,CAAC;EAEnChB,iBAAiB,GAAIZ,MAAc,IAAW;IACpD,IAAI,CAACD,OAAO,GACV,IAAIE,KAAK,CACP,kBAAkB,IAAI,CAAClC,UAAU,CAAC8D,EAAE,wBAAwB7B,MAAM,GACpE,CACF,CAAC;EACH,CAAC;EAES8B,eAAe,GAAGA,CAACC,GAAa,EAAEjD,IAAY,KAAc;IACpE,MAAMkD,QAAQ,GAAG,IAAI,CAACtE,UAAU,CAACuE,GAAG,CAACC,MAAM,CAACpD,IAAI,IAAI,EAAE,CAAC,CAACqD,WAAW,CAAC,CAAC,CAAC;IAEtE,IAAI,CAACH,QAAQ,EAAE;MACb,OAAO,KAAK;IACd;IAEA,OAAOA,QAAQ,CAACD,GAAG,CAAC;EACtB,CAAC;;EAED;AACF;AACA;AACA;AACA;EACYK,qBAAqB,GAC7BC,IAAuD,IACD;IACtD,IAAI;MACF,IAAI,IAAI,CAACC,2BAA2B,CAACD,IAAI,CAAC,EAAE;QAC1C,IAAI,CAACE,WAAW,CAACF,IAAI,CAAC;MACxB;IACF,CAAC,CAAC,OAAOG,KAAK,EAAE;MACd,IAAI,CAACzC,OAAO,GAAGyC,KAAc,CAAC;IAChC;IAEA,OAAO;MACL,GAAGH,IAAI;MACPI,WAAW,EAAE;QAAE,GAAGJ,IAAI,CAACI,WAAW;QAAEnB,QAAQ,EAAE1E,QAAQ,CAAC8F;MAAM;IAC/D,CAAC;EACH,CAAC;;EAED;EACUJ,2BAA2B,GACnCK,KAAwD,IAC5C,IAAI;;EAElB;AACF;AACA;AACA;EACYC,mBAAmBA,CAAA,EAAmB;IAC9C;EACF;;EAEA;EACUC,eAAe,GAAGA,CAC1BC,OAAqB,EACrBjE,KAAyB,EACzBkE,YAAqB,KAEpB,IAAI,CAAChF,UAAU,CAAC8E,eAAe,GAC9BC,OAAO,EACPjE,KAAK,EACLkE,YACF,CAAC,IAAiCD,OAAO;;EAE3C;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACUP,WAAWA,CAACF,IAAuD,EAAE;IAC3E,MAAMW,QAAQ,GAAGX,IAAI,CAACI,WAAW,CAACQ,eAAe;IAEjD,IAAI,CAACD,QAAQ,IAAI,CAACX,IAAI,CAACxD,KAAK,EAAE;MAC5B,IAAI,CAACqE,MAAM,CAACb,IAAI,CAACc,UAAU,EAAEd,IAAI,CAACI,WAAW,EAAEJ,IAAI,CAACxD,KAAK,CAAC;MAE1D;IACF;IAEA,MAAMuE,OAAO,GAAGC,IAAI,CAACC,KAAK,CACxB,CAACjB,IAAI,CAACxD,KAAK,CAACoC,MAAM,GAAG+B,QAAQ,CAACO,IAAI,IAAIP,QAAQ,CAACQ,WACjD,CAAC;IAED,KAAK,IAAIC,MAAM,GAAG,CAAC,EAAEA,MAAM,GAAGL,OAAO,EAAEK,MAAM,EAAE,EAAE;MAC/C,IAAI,CAACP,MAAM,CACTpG,gBAAgB,CACduF,IAAI,CAACxD,KAAK,EACVwD,IAAI,CAACI,WAAW,EAChBO,QAAQ,CAACO,IAAI,GAAGE,MAAM,GAAGT,QAAQ,CAACQ,WACpC,CAAC,EACDnB,IAAI,CAACI,WAAW,EAChBJ,IAAI,CAACxD,KAAK,EACVmE,QAAQ,CAACO,IAAI,GAAGE,MAAM,GAAGT,QAAQ,CAACQ,WACpC,CAAC;IACH;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACUN,MAAMA,CACZC,UAAwB,EACxBV,WAAwB,EACxB5D,KAAyB,EACzBkE,YAAqB,EACf;IACN,MAAMW,YAAY,GAAGjB,WAAW,CAACiB,YAAY,IAAI,EAAE;IAEnD,IAAIA,YAAY,CAACzC,MAAM,KAAK,CAAC,EAAE;MAC7B,IAAI,CAAC0C,OAAO,CAAC,4CAA4C,EAAER,UAAU,CAAC;MAEtE;IACF;IAEAO,YAAY,CAAC9E,OAAO,CAAEgF,WAAW,IAC/B,IAAI,CAACC,iBAAiB,CAACV,UAAU,EAAES,WAAW,EAAE/E,KAAK,EAAEkE,YAAY,CACrE,CAAC;EACH;EAEQY,OAAOA,CAAC3D,MAAc,EAAEmD,UAAwB,EAAQ;IAC9D,IAAI,CAACpD,OAAO,GAAGhD,qBAAqB,CAAC,IAAI,CAACgB,UAAU,CAAC8D,EAAE,EAAE7B,MAAM,EAAEmD,UAAU,CAAC,CAAC;EAC/E;EAEQU,iBAAiBA,CACvBV,UAAwB,EACxBS,WAA6B,EAC7B/E,KAAyB,EACzBkE,YAAqB,EACf;IACN,MAAMD,OAAO,GAAG;MACdxB,QAAQ,EAAE6B,UAAU,CAAC7B,QAAQ;MAC7BF,kBAAkB,EAAEwC,WAAW,CAACxC;IAClC,CAAiB;IAEjBwC,WAAW,CAACE,UAAU,CAAClF,OAAO,CAAEsC,IAAI,IAAK;MACvC4B,OAAO,CAAC5B,IAAI,CAAC,GAAGiC,UAAU,CAACjC,IAAI,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM6C,SAAS,GAAGH,WAAW,CAACE,UAAU,CACrCE,GAAG,CAAE9C,IAAI,IACRlE,mBAAmB,CACjB,IAAI,CAACe,UAAU,CAACkG,MAAM,EACtBL,WAAW,CAACxC,kBAAkB,EAC9BF,IAAI,EACJ4B,OAAO,CAAC5B,IAAI,CACd,CACF,CAAC,CACAgD,IAAI,CAAEC,OAAO,IAAKA,OAAO,KAAK1F,SAAS,CAAC;IAE3C,IAAIsF,SAAS,EAAE;MACb,IAAI,CAACJ,OAAO,CAACI,SAAS,EAAEjB,OAAO,CAAC;MAEhC;IACF;IAEA,IAAI,CAAC3B,QAAQ,GAAG,IAAI,CAAC0B,eAAe,CAACC,OAAO,EAAEjE,KAAK,EAAEkE,YAAY,CAAC,CAAC;EACrE;AAEF","ignoreList":[]}
|
package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
/* eslint-disable max-lines */
|
|
4
4
|
|
|
5
5
|
import { MeasurementTypeKey } from "@ovok/core";
|
|
6
|
-
import { declareProfile, littleEndian } from "./standard-gatt.profile.js";
|
|
6
|
+
import { decorateBloodPressureReading, declareProfile, littleEndian } from "./standard-gatt.profile.js";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Declarations for the Bluetooth SIG vital-signs profiles.
|
|
@@ -45,7 +45,10 @@ const pulseAfterTimestamp = {
|
|
|
45
45
|
fields: [littleEndian("heartRate", [14, 15], "bpm", "sfloat")],
|
|
46
46
|
minLengthBytes: 16
|
|
47
47
|
};
|
|
48
|
-
const standardBloodPressureDevice = params => declareProfile(
|
|
48
|
+
const standardBloodPressureDevice = params => declareProfile({
|
|
49
|
+
...params,
|
|
50
|
+
decorateReading: decorateBloodPressureReading
|
|
51
|
+
}, {
|
|
49
52
|
service: "1810",
|
|
50
53
|
characteristic: "2a35",
|
|
51
54
|
minLengthBytes: 7,
|
package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","declareProfile","littleEndian","pulseAfterMeanPressure","fields","minLengthBytes","pulseAfterTimestamp","standardBloodPressureDevice","params","service","characteristic","measurementTypeKey","bloodPressure","selectors","optionalFields","standardThermometerDevice","temperature","fieldsBySelector","scale","offset","decimals","WEIGHT_KG_PER_COUNT","standardWeightScaleDevice","bodyWeight","Array","from","length","_","flags","toString","padStart","Object","fromEntries","selector","standardPulseOximeterDevice","bloodOxygenPulseRate","standardHeartRateDevice","heartRate","filter","map","name","byteIndexes","encoding","unit","byteOrder"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.ts"],"mappings":";;AAAA;;AAEA,SAASA,kBAAkB,QAAQ,YAAY;AAI/C,SACEC,cAAc,EACdC,YAAY,QAEP,4BAAyB;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,sBAAsB,GAAG;EAC7BC,MAAM,EAAE,CAACF,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;EAC5DG,cAAc,EAAE;AAClB,CAAC;;AAED;AACA,MAAMC,mBAAmB,GAAG;EAC1BF,MAAM,EAAE,CAACF,YAAY,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;EAC9DG,cAAc,EAAE;AAClB,CAAC;AAED,MAAME,2BAA2B,GAC/BC,MAA4B,IAE5BP,cAAc,
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","decorateBloodPressureReading","declareProfile","littleEndian","pulseAfterMeanPressure","fields","minLengthBytes","pulseAfterTimestamp","standardBloodPressureDevice","params","decorateReading","service","characteristic","measurementTypeKey","bloodPressure","selectors","optionalFields","standardThermometerDevice","temperature","fieldsBySelector","scale","offset","decimals","WEIGHT_KG_PER_COUNT","standardWeightScaleDevice","bodyWeight","Array","from","length","_","flags","toString","padStart","Object","fromEntries","selector","standardPulseOximeterDevice","bloodOxygenPulseRate","standardHeartRateDevice","heartRate","filter","map","name","byteIndexes","encoding","unit","byteOrder"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.ts"],"mappings":"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","ignoreList":[]}
|