@ovok/native 1.6.37 → 1.6.39

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.
Files changed (88) hide show
  1. package/lib/commonjs/modules/bt-device/constants/supported-devices.js +8 -1
  2. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
  3. package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js +13 -3
  4. package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
  5. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-case.js +18 -1
  6. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-case.js.map +1 -1
  7. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +6 -0
  8. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  9. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +26 -1
  10. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  11. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +7 -2
  12. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  13. package/lib/commonjs/modules/bt-management/services/devices/spo/pc60fw.monitor.js +88 -0
  14. package/lib/commonjs/modules/bt-management/services/devices/spo/pc60fw.monitor.js.map +1 -0
  15. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-ecg-handler.js +80 -0
  16. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-ecg-handler.js.map +1 -0
  17. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitor-cases.js +64 -0
  18. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitor-cases.js.map +1 -0
  19. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +26 -66
  20. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  21. package/lib/module/modules/bt-device/constants/supported-devices.js +8 -1
  22. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
  23. package/lib/module/modules/bt-management/constants/measurement-field-catalog.js +13 -3
  24. package/lib/module/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
  25. package/lib/module/modules/bt-management/services/custom/compile-custom-case.js +18 -1
  26. package/lib/module/modules/bt-management/services/custom/compile-custom-case.js.map +1 -1
  27. package/lib/module/modules/bt-management/services/custom/define-custom-device.js +6 -0
  28. package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  29. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +26 -1
  30. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  31. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +7 -2
  32. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  33. package/lib/module/modules/bt-management/services/devices/spo/pc60fw.monitor.js +84 -0
  34. package/lib/module/modules/bt-management/services/devices/spo/pc60fw.monitor.js.map +1 -0
  35. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-ecg-handler.js +75 -0
  36. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-ecg-handler.js.map +1 -0
  37. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitor-cases.js +61 -0
  38. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitor-cases.js.map +1 -0
  39. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +26 -66
  40. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  41. package/lib/module/modules/bt-management/types/custom-device-definition.js.map +1 -1
  42. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  43. package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-field-catalog.d.ts +3 -3
  44. package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
  45. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-case.d.ts.map +1 -1
  46. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts +4 -1
  47. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  48. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +3 -1
  49. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  50. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +2 -1
  51. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  52. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/spo/pc60fw.monitor.d.ts +10 -0
  53. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/spo/pc60fw.monitor.d.ts.map +1 -0
  54. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-ecg-handler.d.ts +4 -0
  55. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-ecg-handler.d.ts.map +1 -0
  56. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitor-cases.d.ts +7 -0
  57. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitor-cases.d.ts.map +1 -0
  58. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  59. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-case-kind.d.ts +2 -1
  60. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-case-kind.d.ts.map +1 -1
  61. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +16 -1
  62. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  63. package/lib/typescript/commonjs/src/modules/bt-management/types/parsing-case.d.ts +2 -0
  64. package/lib/typescript/commonjs/src/modules/bt-management/types/parsing-case.d.ts.map +1 -1
  65. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  66. package/lib/typescript/module/src/modules/bt-management/constants/measurement-field-catalog.d.ts +3 -3
  67. package/lib/typescript/module/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
  68. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-case.d.ts.map +1 -1
  69. package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts +4 -1
  70. package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  71. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +3 -1
  72. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  73. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +2 -1
  74. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  75. package/lib/typescript/module/src/modules/bt-management/services/devices/spo/pc60fw.monitor.d.ts +10 -0
  76. package/lib/typescript/module/src/modules/bt-management/services/devices/spo/pc60fw.monitor.d.ts.map +1 -0
  77. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-ecg-handler.d.ts +4 -0
  78. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-ecg-handler.d.ts.map +1 -0
  79. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitor-cases.d.ts +7 -0
  80. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitor-cases.d.ts.map +1 -0
  81. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  82. package/lib/typescript/module/src/modules/bt-management/types/custom-case-kind.d.ts +2 -1
  83. package/lib/typescript/module/src/modules/bt-management/types/custom-case-kind.d.ts.map +1 -1
  84. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +16 -1
  85. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  86. package/lib/typescript/module/src/modules/bt-management/types/parsing-case.d.ts +2 -0
  87. package/lib/typescript/module/src/modules/bt-management/types/parsing-case.d.ts.map +1 -1
  88. package/package.json +1 -1
@@ -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","assertSessionPolicy","policy","minSamples","emit","compileWrite","path","write","commandHex","test","uuid","mainCommandUuid","defineCustomDevice","options","stuckDataTimeout","sessionPolicy","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":[]}
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","assertSessionPolicy","policy","minSamples","emit","compileWrite","path","write","commandHex","test","uuid","mainCommandUuid","defineCustomDevice","options","stuckDataTimeout","sessionPolicy","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","frameReader","decorateReading","createFrameHandler"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/define-custom-device.ts"],"mappings":"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","ignoreList":[]}
@@ -33,11 +33,13 @@ export class CustomDevice extends BTManagedDevice {
33
33
  oneReadingPerConnection: params.oneReadingPerConnection ?? definition.oneReadingPerConnection
34
34
  });
35
35
  this.definition = definition;
36
+ this.frameHandler = definition.createFrameHandler?.();
36
37
  this.sessionPolicy = definition.sessionPolicy;
37
38
  this.deviceData.clockSync = definition.clockSync;
38
39
  this.deliveredFileNames = new Set([...(params.deliveredEcgFileNames ?? []), ...(params.deliveredFileNames ?? [])]);
39
40
  const selectedLepu = definition.lepu ? selectLepu(definition.lepu, device.manufacturerData ?? undefined) : undefined;
40
41
  this.mainServices = selectedLepu?.manufacturerDataProtocol === "viatom-oxygen" ? definition.mainServices.filter(service => service.uuid === selectedLepu.write.serviceUuid) : definition.mainServices;
42
+ this.frameReader = definition.frameReader;
41
43
  this.stuckDataTimeout = definition.stuckDataTimeout;
42
44
  this.reportsBondedEvent = definition.reportsBondedEvent === true;
43
45
  if (definition.preferredMtu !== undefined) {
@@ -170,6 +172,16 @@ export class CustomDevice extends BTManagedDevice {
170
172
  }
171
173
  };
172
174
  }
175
+ this.handleFrame(data.parsedData, data.parsingCase, data.frame ?? [], data.isMeasuring === true);
176
+ if (data.parsingCase.handlerOnly) {
177
+ return {
178
+ ...data,
179
+ parsingCase: {
180
+ ...data.parsingCase,
181
+ caseType: CaseType.OTHER
182
+ }
183
+ };
184
+ }
173
185
  if (this.sessionPolicy) {
174
186
  this.captureSessionSample(data);
175
187
  return {
@@ -202,9 +214,22 @@ export class CustomDevice extends BTManagedDevice {
202
214
  * Stream frames reach this while the device is measuring. They carry no fields, and the
203
215
  * readings themselves are reported from handleDependentResult, so there is nothing to do.
204
216
  */
205
- handleSuccessResult() {
217
+ handleSuccessResult(successResult, collectedValues) {
218
+ this.handleFrame(successResult, undefined, collectedValues, true);
206
219
  return;
207
220
  }
221
+ handleFrame(parsedData, parsingCase, frame, isMeasuring) {
222
+ this.frameHandler?.({
223
+ parsedData,
224
+ parsingCase,
225
+ frame,
226
+ isMeasuring,
227
+ emit: reading => this.onResult?.({
228
+ ...reading,
229
+ caseType: CaseType.RESULT
230
+ })
231
+ });
232
+ }
208
233
 
209
234
  /** Emits a completed session before the state machine returns to CONNECTED. */
210
235
  handleMeasurementEnd() {
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","decodeBP2File","BTManagedDevice","LepuCommandBuilder","LepuEcgTransferSequencer","LepuFrameReader","decodeViatomBp3File","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","selectLepu","CustomDevice","reportedHistoryIds","Set","validators","Map","sessionAggregates","constructor","device","params","definition","oneReadingPerConnection","sessionPolicy","deviceData","clockSync","deliveredFileNames","deliveredEcgFileNames","selectedLepu","lepu","manufacturerData","undefined","mainServices","manufacturerDataProtocol","filter","service","uuid","write","serviceUuid","stuckDataTimeout","reportsBondedEvent","preferredMtu","declareLepuProtocol","frames","forEach","frame","set","frameReader","startBytes","createCommandSequencer","fileTransfer","clear","characteristicUuid","builder","rejectEncryptionAtBytes","expectedDeviceTypes","onIdentified","onRefused","onIdentityRefused","onFile","reportViatomEcgFile","reportViatomBp2File","reportViatomBp3File","skipFiles","acceptFile","name","ecgFileDecoder","test","pollCommand","pollIntervalMs","afterTransfer","build","onError","reason","Error","onProgress","progress","onConnectionEvent","kind","current","receivedBytes","total","totalBytes","file","decoded","content","samples","length","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","has","add","info","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","parsingCase","requiresStream","isMeasuring","OTHER","captureSessionSample","STREAM","shouldReportDependentResult","reportFrame","error","_data","handleSuccessResult","handleMeasurementEnd","policy","aggregates","values","sessionStartedAt","emit","aggregate","count","minSamples","summary","sample","Object","fromEntries","sums","entries","map","sessionAverage","decorateReading","value","decimals","fields","Math","trunc","Number","toFixed","measurements","frameRecordedAt","Date","measurement","reading","createMeasurement","parsedData","rejection","measurementRejection","key","existing","fieldNames","recordOffset","repeated","repeatedRecords","report","records","floor","from","recordBytes","record","discard","reportMeasurement","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","decodeBP2File","BTManagedDevice","LepuCommandBuilder","LepuEcgTransferSequencer","LepuFrameReader","decodeViatomBp3File","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","selectLepu","CustomDevice","reportedHistoryIds","Set","validators","Map","sessionAggregates","constructor","device","params","definition","oneReadingPerConnection","frameHandler","createFrameHandler","sessionPolicy","deviceData","clockSync","deliveredFileNames","deliveredEcgFileNames","selectedLepu","lepu","manufacturerData","undefined","mainServices","manufacturerDataProtocol","filter","service","uuid","write","serviceUuid","frameReader","stuckDataTimeout","reportsBondedEvent","preferredMtu","declareLepuProtocol","frames","forEach","frame","set","startBytes","createCommandSequencer","fileTransfer","clear","characteristicUuid","builder","rejectEncryptionAtBytes","expectedDeviceTypes","onIdentified","onRefused","onIdentityRefused","onFile","reportViatomEcgFile","reportViatomBp2File","reportViatomBp3File","skipFiles","acceptFile","name","ecgFileDecoder","test","pollCommand","pollIntervalMs","afterTransfer","build","onError","reason","Error","onProgress","progress","onConnectionEvent","kind","current","receivedBytes","total","totalBytes","file","decoded","content","samples","length","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","has","add","info","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","parsingCase","requiresStream","isMeasuring","OTHER","handleFrame","parsedData","handlerOnly","captureSessionSample","STREAM","shouldReportDependentResult","reportFrame","error","_data","handleSuccessResult","successResult","collectedValues","emit","reading","handleMeasurementEnd","policy","aggregates","values","sessionStartedAt","aggregate","count","minSamples","summary","sample","Object","fromEntries","sums","entries","map","sessionAverage","decorateReading","value","decimals","fields","Math","trunc","Number","toFixed","measurements","frameRecordedAt","Date","measurement","createMeasurement","rejection","measurementRejection","key","existing","fieldNames","recordOffset","repeated","repeatedRecords","report","records","floor","from","recordBytes","record","discard","reportMeasurement","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
@@ -193,8 +193,13 @@ const lepuDevice = params => {
193
193
  caseSelectorBytes: each.caseSelectorBytes ?? [COMMAND_BYTE]
194
194
  }))
195
195
  }))
196
- }, params.decorateReading === undefined ? {} : {
197
- decorateReading: params.decorateReading
196
+ }, {
197
+ ...(params.decorateReading === undefined ? {} : {
198
+ decorateReading: params.decorateReading
199
+ }),
200
+ ...(params.createFrameHandler === undefined ? {} : {
201
+ createFrameHandler: params.createFrameHandler
202
+ })
198
203
  });
199
204
  };
200
205
  export { lepuDevice, lepuTransports };
@@ -1 +1 @@
1
- {"version":3,"names":["defineCustomDevice","STANDARD_SERVICE","STANDARD_WRITE","STANDARD_NOTIFY","AW1_SERVICE","AW1_WRITE","AW1_NOTIFY","DING_SERVICE","DING_WRITE","DING_NOTIFY","AI_TELE_SERVICE","AI_TELE_WRITE","AI_TELE_NOTIFY","PREFERRED_MTU","MINIMUM_MTU","DEFAULT_STUCK_TIMEOUT_MS","START_BYTE","lepuTransports","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","viatomOxygen","protocol","monitor","each","uuid","frame","minLengthBytes","caseSelectorBytes","undefined","cases","services","v2","id","nameMatch","matchByService","stuckDataTimeoutMs","clockSync","sessionPolicy","lepu","startBytes","manufacturerDataProtocol","requestStartByte","rejectEncryptionAtBytes","write","characteristicUuid","expectedDeviceTypes","fileTransfer","ecgFileDecoder","pollCommand","pollIntervalMs","writeWithoutResponse","setClockBeforeInfo","clockSyncProtocol","map","service","decorateReading"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.transports.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["defineCustomDevice","STANDARD_SERVICE","STANDARD_WRITE","STANDARD_NOTIFY","AW1_SERVICE","AW1_WRITE","AW1_NOTIFY","DING_SERVICE","DING_WRITE","DING_NOTIFY","AI_TELE_SERVICE","AI_TELE_WRITE","AI_TELE_NOTIFY","PREFERRED_MTU","MINIMUM_MTU","DEFAULT_STUCK_TIMEOUT_MS","START_BYTE","lepuTransports","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","viatomOxygen","protocol","monitor","each","uuid","frame","minLengthBytes","caseSelectorBytes","undefined","cases","services","v2","id","nameMatch","matchByService","stuckDataTimeoutMs","clockSync","sessionPolicy","lepu","startBytes","manufacturerDataProtocol","requestStartByte","rejectEncryptionAtBytes","write","characteristicUuid","expectedDeviceTypes","fileTransfer","ecgFileDecoder","pollCommand","pollIntervalMs","writeWithoutResponse","setClockBeforeInfo","clockSyncProtocol","map","service","decorateReading","createFrameHandler"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.transports.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ import { MeasurementTypeKey } from "@ovok/core";
4
+ import { defineCustomDevice } from "../../custom/define-custom-device.js";
5
+ import { lepuNameMatch } from "../lepu/lepu.name-match.js";
6
+ import { Pc60FwFrameReader } from "./pc60fw.frame-reader.js";
7
+ const SERVICE_UUID = "6e400001-b5a3-f393-e0a9-e50e24dcca9e";
8
+ const NOTIFY_UUID = "6e400003-b5a3-f393-e0a9-e50e24dcca9e";
9
+ const FRAME_SELECTOR_BYTES = [0, 2, 3, 4];
10
+ const byteAt = (frame, index) => Number.parseInt(frame[index] ?? "00", 16);
11
+ const isValidReading = reading => {
12
+ const bloodOxygen = reading.bloodOxygen;
13
+ const pulseRate = reading.pulseRate;
14
+ return typeof bloodOxygen === "number" && bloodOxygen >= 50 && bloodOxygen <= 100 && ![0, 127, 255].includes(bloodOxygen) && typeof pulseRate === "number" && pulseRate >= 20 && pulseRate <= 300 && ![0, 255, 511, 65535].includes(pulseRate);
15
+ };
16
+ const withoutPerfusionMarker = reading => reading.perfusionIndex === 0 || reading.perfusionIndex === 255 ? {
17
+ ...reading,
18
+ perfusionIndex: undefined
19
+ } : reading;
20
+ const createPc60FwFrameHandler = () => {
21
+ let lastValidReading;
22
+ return ({
23
+ frame,
24
+ emit
25
+ }) => {
26
+ if (frame[0] !== "aa" || frame[2] !== "0f" || frame[3] !== "08") {
27
+ return;
28
+ }
29
+ const reading = {
30
+ measurementTypeKey: MeasurementTypeKey.bloodOxygenPulseRate,
31
+ bloodOxygen: byteAt(frame, 5),
32
+ pulseRate: byteAt(frame, 7) | byteAt(frame, 6) << 8,
33
+ perfusionIndex: byteAt(frame, 8) / 10
34
+ };
35
+ const status = byteAt(frame, 9);
36
+ if ((status & 0x02) === 0) {
37
+ if ((status & 0x04) === 0 && isValidReading(reading)) {
38
+ lastValidReading = withoutPerfusionMarker(reading);
39
+ }
40
+ return;
41
+ }
42
+ const completed = lastValidReading ?? (reading.perfusionIndex === undefined ? reading : undefined);
43
+ lastValidReading = undefined;
44
+ if (completed) {
45
+ emit(completed);
46
+ }
47
+ };
48
+ };
49
+ const PC60FW_MODEL_NAMES = ["PC-66B", "PC-60F_SN", "POD-1_SN", "POD-1W-WU", "S5W_SN", "S5W-VU", "PO6B-WE", "PC-60NW_SN", "PC-60NW_BLE", "POD-2B_SN", "PC-60NW-1_SN", "PF-10", "PF-10AW", "PF-10AW1", "PF-10BW", "PF-10BW1", "S6W", "S6W1", "PF-20", "PF-20AW", "PF-20B", "S7W", "S7BW", "PC-60NW", "PC66B-VE", "KS-60FW"];
50
+
51
+ /** Declares one PC-60FW-family model on the verified ViHealth decoder. */
52
+ const pc60FwMonitor = (advertisedName, params = {}) => defineCustomDevice({
53
+ id: params.id ?? `viatom-${advertisedName.toLowerCase().replace(/[^a-z0-9]+/g, "-")}`,
54
+ nameMatch: params.nameMatch ?? lepuNameMatch(advertisedName),
55
+ stuckDataTimeoutMs: 30_000,
56
+ services: [{
57
+ uuid: SERVICE_UUID,
58
+ monitor: [{
59
+ uuid: NOTIFY_UUID,
60
+ frame: {
61
+ header: ["aa", "55"],
62
+ minLengthBytes: 6,
63
+ length: {
64
+ index: 3,
65
+ widthBytes: 1,
66
+ byteOrder: "big",
67
+ overheadBytes: 4
68
+ }
69
+ },
70
+ caseSelectorBytes: FRAME_SELECTOR_BYTES,
71
+ cases: [{
72
+ selector: "aa0f0801",
73
+ kind: "event",
74
+ minLengthBytes: 12,
75
+ description: "PC-60FW pulse-oximeter parameter frame"
76
+ }]
77
+ }]
78
+ }]
79
+ }, {
80
+ frameReader: new Pc60FwFrameReader(),
81
+ createFrameHandler: createPc60FwFrameHandler
82
+ });
83
+ export { PC60FW_MODEL_NAMES, pc60FwMonitor };
84
+ //# sourceMappingURL=pc60fw.monitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MeasurementTypeKey","defineCustomDevice","lepuNameMatch","Pc60FwFrameReader","SERVICE_UUID","NOTIFY_UUID","FRAME_SELECTOR_BYTES","byteAt","frame","index","Number","parseInt","isValidReading","reading","bloodOxygen","pulseRate","includes","withoutPerfusionMarker","perfusionIndex","undefined","createPc60FwFrameHandler","lastValidReading","emit","measurementTypeKey","bloodOxygenPulseRate","status","completed","PC60FW_MODEL_NAMES","pc60FwMonitor","advertisedName","params","id","toLowerCase","replace","nameMatch","stuckDataTimeoutMs","services","uuid","monitor","header","minLengthBytes","length","widthBytes","byteOrder","overheadBytes","caseSelectorBytes","cases","selector","kind","description","frameReader","createFrameHandler"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/spo/pc60fw.monitor.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ import { EcgDiagnosticFlag, MeasurementTypeKey } from "@ovok/core";
4
+ import { convertEcgDiagnosticFlag } from "../../../utils/convert-ecg-diagnostic-flag.js";
5
+ import { le16FromHex } from "../../../utils/le-16-from-hex.js";
6
+ import { le32FromHex } from "../../../utils/le-32-from-hex.js";
7
+ import { recordedAtFromLocalSeconds } from "../bp2/bp2.files.js";
8
+ const DEVICE_TIME_INDEX = 16;
9
+ const ECG_SAMPLE_SCALE = 0.003098;
10
+ const ECG_SAMPLE_NO_VALUE = 0x7fff;
11
+ const ECG_SAMPLE_RATE = 250;
12
+ const signed16FromHex = (frame, index) => {
13
+ const value = le16FromHex(frame, index);
14
+ return value & 0x8000 ? value - 0x10000 : value;
15
+ };
16
+
17
+ /** Decodes the live ECG frames shared by BP2W, BP3F and HDM3G. */
18
+ export const createViatomFrameHandler = () => {
19
+ let diagramPoints = [];
20
+ let duration = 0;
21
+ const resetIfRecordingRestarted = nextDuration => {
22
+ if (nextDuration < duration) {
23
+ diagramPoints = [];
24
+ }
25
+ duration = nextDuration;
26
+ };
27
+ const collectWaveform = frame => {
28
+ const nextDuration = frame.length >= 7 + 0x0a + 4 ? le32FromHex([...frame], 7 + 0x0a) : duration;
29
+ resetIfRecordingRestarted(nextDuration);
30
+ const samples = le16FromHex(frame, 7 + 0x1e);
31
+ const samplesStart = 7 + 0x20;
32
+ for (let index = 0; index < samples; index += 1) {
33
+ const sampleIndex = samplesStart + index * 2;
34
+ if (sampleIndex + 1 >= frame.length) {
35
+ break;
36
+ }
37
+ const value = signed16FromHex(frame, sampleIndex);
38
+ diagramPoints.push(value === ECG_SAMPLE_NO_VALUE ? 0 : value * ECG_SAMPLE_SCALE);
39
+ }
40
+ };
41
+ const emitEcg = (frame, parsedData, emit) => {
42
+ if (diagramPoints.length === 0) {
43
+ return;
44
+ }
45
+ const diagnostic = convertEcgDiagnosticFlag(frame.slice(17, 21).join(""));
46
+ if (diagnostic === EcgDiagnosticFlag.POOR_WAVEFORM) {
47
+ return;
48
+ }
49
+ emit({
50
+ measurementTypeKey: MeasurementTypeKey.ecg,
51
+ heartRate: parsedData.heartRate ?? le16FromHex(frame, 21),
52
+ diagnosticResult: diagnostic,
53
+ diagramPoints: [...diagramPoints],
54
+ duration: duration || diagramPoints.length / ECG_SAMPLE_RATE,
55
+ recordedAt: frame.length >= DEVICE_TIME_INDEX + 4 ? recordedAtFromLocalSeconds(le32FromHex([...frame], DEVICE_TIME_INDEX)) : undefined
56
+ });
57
+ diagramPoints = [];
58
+ duration = 0;
59
+ };
60
+ return ({
61
+ parsedData,
62
+ frame,
63
+ emit
64
+ }) => {
65
+ const state = frame[7] ?? "";
66
+ if (state === "06" || state === "15" && frame[16] === "00" || state === "17" && frame[16] === "00") {
67
+ collectWaveform(frame);
68
+ return;
69
+ }
70
+ if (state === "07" || state === "16" && frame[16] === "01" || state === "18" && frame[16] === "01") {
71
+ emitEcg(frame, parsedData, emit);
72
+ }
73
+ };
74
+ };
75
+ //# sourceMappingURL=viatom.bp-ecg-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["EcgDiagnosticFlag","MeasurementTypeKey","convertEcgDiagnosticFlag","le16FromHex","le32FromHex","recordedAtFromLocalSeconds","DEVICE_TIME_INDEX","ECG_SAMPLE_SCALE","ECG_SAMPLE_NO_VALUE","ECG_SAMPLE_RATE","signed16FromHex","frame","index","value","createViatomFrameHandler","diagramPoints","duration","resetIfRecordingRestarted","nextDuration","collectWaveform","length","samples","samplesStart","sampleIndex","push","emitEcg","parsedData","emit","diagnostic","slice","join","POOR_WAVEFORM","measurementTypeKey","ecg","heartRate","diagnosticResult","recordedAt","undefined","state"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.bp-ecg-handler.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ import { MeasurementTypeKey } from "@ovok/core";
4
+ const READING = [{
5
+ name: "systolic",
6
+ byteIndexes: [20, 21],
7
+ byteOrder: "little",
8
+ encoding: "uint",
9
+ unit: "mmHg"
10
+ }, {
11
+ name: "diastolic",
12
+ byteIndexes: [22, 23],
13
+ byteOrder: "little",
14
+ encoding: "uint",
15
+ unit: "mmHg"
16
+ }, {
17
+ name: "heartRate",
18
+ byteIndexes: [26, 27],
19
+ byteOrder: "little",
20
+ encoding: "uint",
21
+ unit: "bpm"
22
+ }];
23
+ const result = (selector, description) => ({
24
+ selector,
25
+ kind: "result",
26
+ requiresStream: true,
27
+ measurementTypeKey: MeasurementTypeKey.bloodPressure,
28
+ fields: [...READING],
29
+ description
30
+ });
31
+ const measuring = (selector, description) => ({
32
+ selector,
33
+ kind: "stream",
34
+ description
35
+ });
36
+ const ecgStream = (selector, description) => ({
37
+ selector,
38
+ kind: "stream",
39
+ measurementTypeKey: MeasurementTypeKey.ecg,
40
+ description
41
+ });
42
+ const ecgEvent = (selector, description) => ({
43
+ selector,
44
+ kind: "event",
45
+ requiresStream: true,
46
+ description
47
+ });
48
+ const BP2_CASES = [...["00", "01", "02", "03", "0a", "14", "ff"].map(state => ({
49
+ selector: `08${state}`,
50
+ kind: "idle",
51
+ description: "Monitor is connected but not measuring"
52
+ })), measuring("0804", "Cuff inflating or deflating"), result("0805", "Measurement finished"), measuring("080f", "Averaging run: a measurement is in progress"), measuring("0810", "Averaging run: waiting between measurements"), result("0811", "Averaging run finished, carrying the same payload")];
53
+ const BP2_ECG_CASES = [ecgStream("0806", "ECG waveform is being recorded"), ecgEvent("0807", "ECG waveform is complete")];
54
+ const BP3_CASES = [...["00", "01", "02", "03", "0a", "14", "ff"].map(state => ({
55
+ selector: `08${state}??`,
56
+ kind: "idle",
57
+ description: "Monitor is connected but not measuring"
58
+ })), measuring("080400", "Cuff inflating or deflating"), result("080501", "Measurement finished"), measuring("080f00", "Averaging run: a measurement is in progress"), measuring("081000", "Averaging run: waiting between measurements"), result("081101", "Averaging run finished")];
59
+ const BP3_ECG_CASES = [...BP3_CASES, ecgStream("081500", "Combined BP and ECG measurement is in progress"), result("081601", "Combined BP and ECG measurement is complete"), ecgStream("081700", "Combined BP and ECG averaging is in progress"), result("081801", "Combined BP and ECG averaging is complete")];
60
+ export { BP2_CASES, BP2_ECG_CASES, BP3_CASES, BP3_ECG_CASES };
61
+ //# sourceMappingURL=viatom.bp-monitor-cases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MeasurementTypeKey","READING","name","byteIndexes","byteOrder","encoding","unit","result","selector","description","kind","requiresStream","measurementTypeKey","bloodPressure","fields","measuring","ecgStream","ecg","ecgEvent","BP2_CASES","map","state","BP2_ECG_CASES","BP3_CASES","BP3_ECG_CASES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.bp-monitor-cases.ts"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
 
3
- import { MeasurementTypeKey } from "@ovok/core";
4
3
  import { le32FromHex } from "../../../utils/le-32-from-hex.js";
5
4
  import { recordedAtFromLocalSeconds } from "../bp2/bp2.files.js";
6
5
  import { lepuNameMatch } from "../lepu/lepu.name-match.js";
7
6
  import { lepuDevice } from "../lepu/lepu.transports.js";
7
+ import { createViatomFrameHandler } from "./viatom.bp-ecg-handler.js";
8
+ import { BP2_CASES, BP2_ECG_CASES, BP3_CASES, BP3_ECG_CASES } from "./viatom.bp-monitor-cases.js";
8
9
 
9
10
  /**
10
11
  * The Viatom blood-pressure monitors that report a reading over the realtime channel.
@@ -34,38 +35,6 @@ const CASE_SELECTOR_BYTES = [1, 7];
34
35
  const MIN_LENGTH_BYTES = 29;
35
36
  const RESULT_CODE_INDEX = 28;
36
37
  const DEVICE_TIME_INDEX = 16;
37
- const READING = [{
38
- name: "systolic",
39
- byteIndexes: [20, 21],
40
- byteOrder: "little",
41
- encoding: "uint",
42
- unit: "mmHg"
43
- }, {
44
- name: "diastolic",
45
- byteIndexes: [22, 23],
46
- byteOrder: "little",
47
- encoding: "uint",
48
- unit: "mmHg"
49
- }, {
50
- name: "heartRate",
51
- byteIndexes: [26, 27],
52
- byteOrder: "little",
53
- encoding: "uint",
54
- unit: "bpm"
55
- }];
56
- const result = (selector, description) => ({
57
- selector,
58
- kind: "result",
59
- requiresStream: true,
60
- measurementTypeKey: MeasurementTypeKey.bloodPressure,
61
- fields: [...READING],
62
- description
63
- });
64
- const measuring = (selector, description) => ({
65
- selector,
66
- kind: "stream",
67
- description
68
- });
69
38
  const rejectFailedResult = (reading, frame) => {
70
39
  const resultCode = Number.parseInt(frame?.[RESULT_CODE_INDEX] ?? "00", 16);
71
40
  if (resultCode !== 0) {
@@ -77,20 +46,6 @@ const rejectFailedResult = (reading, frame) => {
77
46
  recordedAt
78
47
  } : reading;
79
48
  };
80
-
81
- /**
82
- * The states the series reports, and what each means for a reading.
83
- *
84
- * A finished measurement keeps reporting itself for as long as the device sits on the
85
- * result screen, so the same numbers arrive on every poll. The state transition is what
86
- * separates one measurement from the next, which is why the states in between are declared
87
- * rather than ignored.
88
- */
89
- const BP2_CASES = [...["00", "01", "02", "03", "0a", "14", "ff"].map(state => ({
90
- selector: `08${state}`,
91
- kind: "idle",
92
- description: "Monitor is connected but not measuring"
93
- })), measuring("0804", "Cuff inflating or deflating"), result("0805", "Measurement finished"), measuring("080f", "Averaging run: a measurement is in progress"), measuring("0810", "Averaging run: waiting between measurements"), result("0811", "Averaging run finished, carrying the same payload")];
94
49
  /**
95
50
  * Declares one monitor of the BP2 series.
96
51
  *
@@ -98,25 +53,30 @@ const BP2_CASES = [...["00", "01", "02", "03", "0a", "14", "ff"].map(state => ({
98
53
  * derived from it excludes every longer name in the family, so a declaration for `BP2`
99
54
  * cannot pick up a `BP2W`.
100
55
  */
101
- const viatomBpMonitor = (advertisedName, params) => lepuDevice({
102
- id: params.id ?? `viatom-${advertisedName.toLowerCase().replace(/[^a-z0-9]+/g, "-")}`,
103
- nameMatch: params.nameMatch ?? lepuNameMatch(advertisedName),
104
- clockSync: "supported",
105
- clockSyncProtocol: BP3_MODEL_NAMES.includes(advertisedName) ? "bp3" : "bp2",
106
- fileTransfer: BP3_MODEL_NAMES.includes(advertisedName) ? "bp3" : "bp2",
107
- rejectEncryptionAtBytes: [4],
108
- pollCommand: RT_DATA,
109
- pollIntervalMs: 200,
110
- minLengthBytes: MIN_LENGTH_BYTES,
111
- caseSelectorBytes: CASE_SELECTOR_BYTES,
112
- cases: BP2_CASES.map(each => ({
113
- ...each
114
- })),
115
- decorateReading: rejectFailedResult,
116
- ...(params.expectedDeviceTypes ? {
117
- expectedDeviceTypes: params.expectedDeviceTypes
118
- } : {})
119
- });
56
+ const viatomBpMonitor = (advertisedName, params) => {
57
+ const isBp3 = BP3_MODEL_NAMES.includes(advertisedName);
58
+ const hasEcg = advertisedName === "BP2W" || ["BP3F", "HDM3G"].includes(advertisedName);
59
+ return lepuDevice({
60
+ id: params.id ?? `viatom-${advertisedName.toLowerCase().replace(/[^a-z0-9]+/g, "-")}`,
61
+ nameMatch: params.nameMatch ?? lepuNameMatch(advertisedName),
62
+ clockSync: "supported",
63
+ clockSyncProtocol: BP3_MODEL_NAMES.includes(advertisedName) ? "bp3" : "bp2",
64
+ fileTransfer: BP3_MODEL_NAMES.includes(advertisedName) ? "bp3" : "bp2",
65
+ rejectEncryptionAtBytes: [4],
66
+ pollCommand: RT_DATA,
67
+ pollIntervalMs: 200,
68
+ minLengthBytes: MIN_LENGTH_BYTES,
69
+ caseSelectorBytes: isBp3 ? [1, 7, 16] : CASE_SELECTOR_BYTES,
70
+ cases: (isBp3 ? hasEcg ? BP3_ECG_CASES : BP3_CASES : [...BP2_CASES, ...(advertisedName === "BP2W" ? BP2_ECG_CASES : [])]).map(each => ({
71
+ ...each
72
+ })),
73
+ decorateReading: rejectFailedResult,
74
+ createFrameHandler: createViatomFrameHandler,
75
+ ...(params.expectedDeviceTypes ? {
76
+ expectedDeviceTypes: params.expectedDeviceTypes
77
+ } : {})
78
+ });
79
+ };
120
80
 
121
81
  /** BP2A, the arm-cuff monitor of the series. */
122
82
  const bp2aMonitor = params => viatomBpMonitor("BP2A", params);
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","le32FromHex","recordedAtFromLocalSeconds","lepuNameMatch","lepuDevice","RT_DATA","CASE_SELECTOR_BYTES","MIN_LENGTH_BYTES","RESULT_CODE_INDEX","DEVICE_TIME_INDEX","READING","name","byteIndexes","byteOrder","encoding","unit","result","selector","description","kind","requiresStream","measurementTypeKey","bloodPressure","fields","measuring","rejectFailedResult","reading","frame","resultCode","Number","parseInt","Error","toString","padStart","recordedAt","length","undefined","BP2_CASES","map","state","viatomBpMonitor","advertisedName","params","id","toLowerCase","replace","nameMatch","clockSync","clockSyncProtocol","BP3_MODEL_NAMES","includes","fileTransfer","rejectEncryptionAtBytes","pollCommand","pollIntervalMs","minLengthBytes","caseSelectorBytes","cases","each","decorateReading","expectedDeviceTypes","bp2aMonitor","bp2tMonitor","bp2wMonitor"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.bp-monitors.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["le32FromHex","recordedAtFromLocalSeconds","lepuNameMatch","lepuDevice","createViatomFrameHandler","BP2_CASES","BP2_ECG_CASES","BP3_CASES","BP3_ECG_CASES","RT_DATA","CASE_SELECTOR_BYTES","MIN_LENGTH_BYTES","RESULT_CODE_INDEX","DEVICE_TIME_INDEX","rejectFailedResult","reading","frame","resultCode","Number","parseInt","Error","toString","padStart","recordedAt","length","undefined","viatomBpMonitor","advertisedName","params","isBp3","BP3_MODEL_NAMES","includes","hasEcg","id","toLowerCase","replace","nameMatch","clockSync","clockSyncProtocol","fileTransfer","rejectEncryptionAtBytes","pollCommand","pollIntervalMs","minLengthBytes","caseSelectorBytes","cases","map","each","decorateReading","createFrameHandler","expectedDeviceTypes","bp2aMonitor","bp2tMonitor","bp2wMonitor"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.bp-monitors.ts"],"mappings":"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","ignoreList":[]}