@ovok/native 1.16.1-dev.2149 → 1.16.1-dev.2153

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 (43) hide show
  1. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js +3 -2
  2. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  3. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +13 -0
  4. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -1
  5. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +2 -2
  6. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  7. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  8. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +74 -17
  9. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -1
  10. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +4 -4
  11. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  12. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js +3 -2
  13. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  14. package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +13 -0
  15. package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -1
  16. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +2 -2
  17. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  18. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  19. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +74 -17
  20. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -1
  21. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +4 -4
  22. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  23. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  24. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts +7 -1
  25. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -1
  26. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  27. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +2 -1
  28. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  29. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +9 -3
  30. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -1
  31. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +5 -2
  32. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  33. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  34. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts +7 -1
  35. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -1
  36. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  37. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +2 -1
  38. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  39. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +9 -3
  40. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -1
  41. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +5 -2
  42. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  43. package/package.json +1 -1
@@ -111,7 +111,7 @@ export class CustomDevice extends BTManagedDevice {
111
111
  onRefused: this.onIdentityRefused,
112
112
  onFile: lepu.fileTransfer === "ecg" ? this.reportViatomEcgFile : lepu.fileTransfer === "bp2" ? this.reportViatomBp2File : this.reportViatomBp3File,
113
113
  skipFiles: lepu.fileTransfer === "bp3" ? undefined : this.deliveredFileNames,
114
- acceptFile: lepu.fileTransfer === "ecg" ? name => lepu.ecgFileDecoder === "raw-int16" && /^R/i.test(name) : lepu.fileTransfer === "bp3" ? name => /^bp\.list$/i.test(name) : undefined,
114
+ acceptFile: lepu.fileTransfer === "ecg" ? name => lepu.ecgFileDecoder !== undefined && /^R/i.test(name) : lepu.fileTransfer === "bp3" ? name => /^bp\.list$/i.test(name) : undefined,
115
115
  pollCommand: lepu.fileTransfer === "ecg" ? undefined : lepu.pollCommand,
116
116
  pollIntervalMs: lepu.fileTransfer === "ecg" ? undefined : lepu.pollIntervalMs,
117
117
  afterTransfer: lepu.fileTransfer === "ecg" && lepu.pollCommand ? () => [{
@@ -139,7 +139,7 @@ export class CustomDevice extends BTManagedDevice {
139
139
  reportViatomEcgFile = file => {
140
140
  const decoded = decodeViatomEcgRecording(file.content);
141
141
  if (decoded.samples.length === 0) {
142
- this.onError?.(new Error(`Viatom ECG: file "${file.name}" had no samples.`));
142
+ this.onError?.(new Error(`Viatom ECG: file "${file.name}" does not decode to its recorded length.`));
143
143
  return;
144
144
  }
145
145
  this.onResult?.({
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","decodeBP2File","BTManagedDevice","LepuCommandBuilder","LepuEcgTransferSequencer","LepuFrameReader","TmbCommandSequencer","TmbFrameReader","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","syncsCurrentTime","preferredMtu","declareLepuProtocol","declareTmbProtocol","declareSequencerFactory","frames","forEach","frame","set","create","createCommandSequencer","deviceId","id","recordCursorStorage","tmb","protocol","startBytes","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","reportHistoryOnce","has","add","info","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","policyFor","key","existing","readingFields","fieldNames","recordOffset","decorate","repeated","repeatedRecords","report","records","floor","from","recordBytes","record","discard","reportMeasurement","parsedFields","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","TmbCommandSequencer","TmbFrameReader","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","syncsCurrentTime","preferredMtu","declareLepuProtocol","declareTmbProtocol","declareSequencerFactory","frames","forEach","frame","set","create","createCommandSequencer","deviceId","id","recordCursorStorage","tmb","protocol","startBytes","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","reportHistoryOnce","has","add","info","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","policyFor","key","existing","readingFields","fieldNames","recordOffset","decorate","repeated","repeatedRecords","report","records","floor","from","recordBytes","record","discard","reportMeasurement","parsedFields","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["PREFERRED_MTU","defineCustomDevice","CHECKME_NOTIFY","CHECKME_SERVICE","CHECKME_WRITE","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","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":[]}
1
+ {"version":3,"names":["PREFERRED_MTU","defineCustomDevice","CHECKME_NOTIFY","CHECKME_SERVICE","CHECKME_WRITE","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","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":[]}
@@ -23,28 +23,85 @@ const recordedAtFromViatomFileName = name => {
23
23
  }
24
24
  return validDate(2000 + Number(digits.slice(0, 2)), Number(digits.slice(2, 4)), Number(digits.slice(4, 6)), Number(digits.slice(6, 8)), Number(digits.slice(8, 10)), Number(digits.slice(10, 12)));
25
25
  };
26
- const readUInt32LittleEndian = (bytes, from) => hexToByte(bytes[from] ?? "0") | hexToByte(bytes[from + 1] ?? "0") << 8 | hexToByte(bytes[from + 2] ?? "0") << 16 | hexToByte(bytes[from + 3] ?? "0") << 24;
27
26
 
28
- /** Decodes the official ER1/ER2 file container and its signed ECG samples. */
27
+ /** The file version and reserved bytes that precede the waveform. */
28
+ const FILE_HEAD_BYTES = 10;
29
+
30
+ /** The bytes after the waveform, opened by the recording time in seconds. */
31
+ const FILE_TAIL_BYTES = 20;
32
+
33
+ /** The count Viatom stores where the recorder had no signal. */
34
+ const NO_SIGNAL_COUNT = 0x7fff;
35
+
36
+ /** A large step's extra byte counts on from the largest one-byte step. */
37
+ const LARGE_STEP_BASE = 127;
38
+
39
+ /** How far the decoded length may stray from the recorded time before a file is refused. */
40
+ const RECORDED_TIME_TOLERANCE_SECONDS = 1;
41
+
42
+ /** A decoded ER1/ER2 recording. */
43
+
44
+ const emptyRecording = () => ({
45
+ samples: [],
46
+ duration: 0
47
+ });
48
+ const toInt8 = byte => byte << 24 >> 24;
49
+ const toInt16 = value => value << 16 >> 16;
50
+ const ONE_BYTE_STEP = {
51
+ width: 1,
52
+ next: (current, bytes, at) => current + toInt8(bytes[at] ?? 0)
53
+ };
54
+
55
+ /** Marker bytes that escape the one-byte step. */
56
+ const ESCAPED_STEPS = new Map([[0x80, {
57
+ width: 3,
58
+ next: (_current, bytes, at) => (bytes[at + 1] ?? 0) | (bytes[at + 2] ?? 0) << 8
59
+ }], [0x7f, {
60
+ width: 2,
61
+ next: (current, bytes, at) => current + (bytes[at + 1] ?? 0) + LARGE_STEP_BASE
62
+ }], [0x81, {
63
+ width: 2,
64
+ next: (current, bytes, at) => current - (bytes[at + 1] ?? 0) - LARGE_STEP_BASE
65
+ }]]);
66
+
67
+ /** Expands Viatom's delta-compressed waveform into signed counts. */
68
+ const decompressWaveform = bytes => {
69
+ const counts = [];
70
+ let current = 0;
71
+ let at = 0;
72
+ while (at < bytes.length) {
73
+ const step = ESCAPED_STEPS.get(bytes[at] ?? 0) ?? ONE_BYTE_STEP;
74
+ if (at + step.width > bytes.length) {
75
+ break;
76
+ }
77
+ current = toInt16(step.next(current, bytes, at));
78
+ counts.push(current);
79
+ at += step.width;
80
+ }
81
+ return counts;
82
+ };
83
+ const readUInt32LittleEndian = (bytes, from) => ((bytes[from] ?? 0) | (bytes[from + 1] ?? 0) << 8 | (bytes[from + 2] ?? 0) << 16 | (bytes[from + 3] ?? 0) << 24) >>> 0;
84
+ const matchesRecordedTime = (sampleCount, seconds) => seconds > 0 && Math.abs(sampleCount - seconds * VIATOM_ECG_SAMPLE_RATE_HZ) <= RECORDED_TIME_TOLERANCE_SECONDS * VIATOM_ECG_SAMPLE_RATE_HZ;
85
+ const toMillivolts = count => count === NO_SIGNAL_COUNT ? 0 : count * VIATOM_ECG_MILLIVOLTS_PER_COUNT;
86
+
87
+ /**
88
+ * Decodes an ER1/ER2 recording. A file whose waveform does not last as long as its tail
89
+ * records is returned empty, because that file is in a format this decoder does not read.
90
+ */
29
91
  const decodeViatomEcgRecording = content => {
30
- if (content.length <= 30) {
31
- return {
32
- samples: [],
33
- duration: 0
34
- };
92
+ if (content.length <= FILE_HEAD_BYTES + FILE_TAIL_BYTES) {
93
+ return emptyRecording();
35
94
  }
36
- const waveStart = 10;
37
- const waveEnd = content.length - 20;
38
- const samples = [];
39
- for (let index = waveStart; index + 1 < waveEnd; index += 2) {
40
- const raw = hexToByte(content[index] ?? "0") | hexToByte(content[index + 1] ?? "0") << 8;
41
- const signed = raw & 0x8000 ? raw - 0x10000 : raw;
42
- samples.push(raw === 0x7fff ? 0 : signed * VIATOM_ECG_MILLIVOLTS_PER_COUNT);
95
+ const bytes = content.map(hexToByte);
96
+ const tailStart = bytes.length - FILE_TAIL_BYTES;
97
+ const duration = readUInt32LittleEndian(bytes, tailStart);
98
+ const counts = decompressWaveform(bytes.slice(FILE_HEAD_BYTES, tailStart));
99
+ if (!matchesRecordedTime(counts.length, duration)) {
100
+ return emptyRecording();
43
101
  }
44
- const recordedSeconds = readUInt32LittleEndian(content, content.length - 20);
45
102
  return {
46
- samples,
47
- duration: recordedSeconds || samples.length / VIATOM_ECG_SAMPLE_RATE_HZ
103
+ samples: counts.map(toMillivolts),
104
+ duration
48
105
  };
49
106
  };
50
107
  export { decodeViatomEcgRecording, recordedAtFromViatomFileName, VIATOM_ECG_MILLIVOLTS_PER_COUNT, VIATOM_ECG_SAMPLE_RATE_HZ };
@@ -1 +1 @@
1
- {"version":3,"names":["hexToByte","VIATOM_ECG_SAMPLE_RATE_HZ","VIATOM_ECG_MILLIVOLTS_PER_COUNT","validDate","year","month","day","hour","minute","second","date","Date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","undefined","recordedAtFromViatomFileName","name","digits","match","length","Number","slice","readUInt32LittleEndian","bytes","from","decodeViatomEcgRecording","content","samples","duration","waveStart","waveEnd","index","raw","signed","push","recordedSeconds"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-files.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["hexToByte","VIATOM_ECG_SAMPLE_RATE_HZ","VIATOM_ECG_MILLIVOLTS_PER_COUNT","validDate","year","month","day","hour","minute","second","date","Date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","undefined","recordedAtFromViatomFileName","name","digits","match","length","Number","slice","FILE_HEAD_BYTES","FILE_TAIL_BYTES","NO_SIGNAL_COUNT","LARGE_STEP_BASE","RECORDED_TIME_TOLERANCE_SECONDS","emptyRecording","samples","duration","toInt8","byte","toInt16","value","ONE_BYTE_STEP","width","next","current","bytes","at","ESCAPED_STEPS","Map","_current","decompressWaveform","counts","step","get","push","readUInt32LittleEndian","from","matchesRecordedTime","sampleCount","seconds","Math","abs","toMillivolts","count","decodeViatomEcgRecording","content","map","tailStart"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-files.ts"],"mappings":"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","ignoreList":[]}
@@ -79,8 +79,8 @@ const declareRecorder = (advertisedName, profile, params) => lepuDevice({
79
79
  ...(profile.fileTransfer === undefined ? {} : {
80
80
  fileTransfer: profile.fileTransfer
81
81
  }),
82
- ...(RAW_ECG_MODEL_NAMES.has(advertisedName) ? {
83
- ecgFileDecoder: "raw-int16"
82
+ ...(DECODED_ECG_MODEL_NAMES.has(advertisedName) ? {
83
+ ecgFileDecoder: "viatom-compressed"
84
84
  } : {})
85
85
  });
86
86
 
@@ -119,8 +119,8 @@ const ER1_MODEL_NAMES = ["ER1", "ER1-H", "ER1-L", "ER1-S", "ER1-SP", "ER1-W", "E
119
119
  /** The names the ER2 recorders advertise, all of them on the small-MTU link. */
120
120
  const ER2_MODEL_NAMES = ["ER2", "ER2-S", "HHM2", "HHM3", "LP ER2", "DuoEK", "CMTouch", "EM-B", "EM-W"];
121
121
 
122
- /** These are the only Viatom recorders whose stored waveform is verified raw int16. */
123
- const RAW_ECG_MODEL_NAMES = new Set(["ER1-L", "ER1-S", "ER1-W"]);
122
+ /** The recorders whose stored recordings are decoded; the rest report live heart rate. */
123
+ const DECODED_ECG_MODEL_NAMES = new Set(["ER1-L", "ER1-S", "ER1-W"]);
124
124
 
125
125
  /** The ER3 family is identified separately from the ER1/ER2 opcode family. */
126
126
  const ER3_MODEL_NAMES = ["ER3", "M5", "M12"];
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","lepuNameMatch","lepuDevice","RT_DATA","ER3_RT_DATA","HEART_RATE_UNIT","ER_HEART_RATE_BYTES","declareRecorder","advertisedName","profile","params","id","toLowerCase","replace","nameMatch","transport","clockSync","sessionPolicy","minSamples","emit","pollCommand","minLengthBytes","heartRateBytes","caseSelectorBytes","cases","selector","toString","padStart","kind","measurementTypeKey","heartRate","description","fields","name","byteIndexes","byteOrder","encoding","unit","expectedDeviceTypes","fileTransfer","undefined","RAW_ECG_MODEL_NAMES","has","ecgFileDecoder","er1Recorder","er2Recorder","er3Recorder","ER1_MODEL_NAMES","ER2_MODEL_NAMES","Set","ER3_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-recorders.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,iBAAiB;AAGpD,SAASC,aAAa,QAAQ,4BAAyB;AACvD,SAASC,UAAU,QAA2B,4BAAyB;;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAMC,OAAO,GAAG,IAAI;;AAEpB;AACA,MAAMC,WAAW,GAAG,IAAI;AAExB,MAAMC,eAAe,GAAG,KAAK;AAe7B;AACA,MAAMC,mBAAqC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AAoBpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,eAAe,GAAGA,CACtBC,cAAsB,EACtBC,OAAmB,EACnBC,MAAuB,KAEvBR,UAAU,CAAC;EACTS,EAAE,EAAED,MAAM,CAACC,EAAE,IAAI,UAAUH,cAAc,CAACI,WAAW,CAAC,CAAC,CAACC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE;EACrFC,SAAS,EAAEJ,MAAM,CAACI,SAAS,IAAIb,aAAa,CAACO,cAAc,CAAC;EAC5DO,SAAS,EAAEN,OAAO,CAACM,SAAS;EAC5BC,SAAS,EAAE,WAAW;EACtBC,aAAa,EAAE;IAAEC,UAAU,EAAE,CAAC;IAAEC,IAAI,EAAE;EAAO,CAAC;EAC9CC,WAAW,EAAEX,OAAO,CAACW,WAAW;EAChCC,cAAc,EAAEZ,OAAO,CAACa,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;EAC7CC,iBAAiB,EAAE,CAAC,CAAC,CAAC;EACtBC,KAAK,EAAE,CACL;IACEC,QAAQ,EAAEhB,OAAO,CAACW,WAAW,CAACM,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAC3DC,IAAI,EAAE,QAAQ;IACdC,kBAAkB,EAAE7B,kBAAkB,CAAC8B,SAAS;IAChDC,WAAW,EAAE,kCAAkC;IAC/CC,MAAM,EAAE,CACN;MACEC,IAAI,EAAE,WAAW;MACjBC,WAAW,EAAE,CAAC,GAAGzB,OAAO,CAACa,cAAc,CAAC;MACxCa,SAAS,EAAE,QAAQ;MACnBC,QAAQ,EAAE,MAAM;MAChBC,IAAI,EAAEhC;IACR,CAAC;EAEL,CAAC,CACF;EACD,IAAIK,MAAM,CAAC4B,mBAAmB,GAC1B;IAAEA,mBAAmB,EAAE5B,MAAM,CAAC4B;EAAoB,CAAC,GACnD,CAAC,CAAC,CAAC;EACP,IAAI7B,OAAO,CAAC8B,YAAY,KAAKC,SAAS,GAClC,CAAC,CAAC,GACF;IAAED,YAAY,EAAE9B,OAAO,CAAC8B;EAAa,CAAC,CAAC;EAC3C,IAAIE,mBAAmB,CAACC,GAAG,CAAClC,cAAc,CAAC,GACvC;IAAEmC,cAAc,EAAE;EAAqB,CAAC,GACxC,CAAC,CAAC;AACR,CAAC,CAAC;;AAEJ;AACA,MAAMC,WAAW,GAAGA,CAClBpC,cAAsB,EACtBE,MAAuB,KAEvBH,eAAe,CACbC,cAAc,EACd;EACEY,WAAW,EAAEjB,OAAO;EACpBmB,cAAc,EAAEhB,mBAAmB;EACnCS,SAAS,EAAE,UAAU;EACrBwB,YAAY,EAAE/B,cAAc,KAAK,OAAO,GAAGgC,SAAS,GAAG;AACzD,CAAC,EACD9B,MACF,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,MAAMmC,WAAW,GAAGA,CAClBrC,cAAsB,EACtBE,MAAuB,KAEvBH,eAAe,CACbC,cAAc,EACd;EACEY,WAAW,EAAEjB,OAAO;EACpBmB,cAAc,EAAEhB,mBAAmB;EACnCS,SAAS,EAAE,kBAAkB;EAC7BwB,YAAY,EAAE;AAChB,CAAC,EACD7B,MACF,CAAC;;AAEH;AACA,MAAMoC,WAAW,GAAGA,CAClBtC,cAAsB,EACtBE,MAAuB,KAEvBH,eAAe,CACbC,cAAc,EACd;EACEY,WAAW,EAAEhB,WAAW;EACxBkB,cAAc,EAAEhB,mBAAmB;EACnCS,SAAS,EAAE,UAAU;EACrBwB,YAAY,EAAE;AAChB,CAAC,EACD7B,MACF,CAAC;;AAEH;AACA,MAAMqC,eAAkC,GAAG,CACzC,KAAK,EACL,OAAO,EACP,OAAO,EACP,OAAO,EACP,QAAQ,EACR,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,EACP,WAAW,CACZ;;AAED;AACA,MAAMC,eAAkC,GAAG,CACzC,KAAK,EACL,OAAO,EACP,MAAM,EACN,MAAM,EACN,QAAQ,EACR,OAAO,EACP,SAAS,EACT,MAAM,EACN,MAAM,CACP;;AAED;AACA,MAAMP,mBAAmB,GAAG,IAAIQ,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;;AAEhE;AACA,MAAMC,eAAkC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;AAE/D,SACEN,WAAW,EACXG,eAAe,EACfF,WAAW,EACXG,eAAe,EACfE,eAAe,EACfJ,WAAW","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementTypeKey","lepuNameMatch","lepuDevice","RT_DATA","ER3_RT_DATA","HEART_RATE_UNIT","ER_HEART_RATE_BYTES","declareRecorder","advertisedName","profile","params","id","toLowerCase","replace","nameMatch","transport","clockSync","sessionPolicy","minSamples","emit","pollCommand","minLengthBytes","heartRateBytes","caseSelectorBytes","cases","selector","toString","padStart","kind","measurementTypeKey","heartRate","description","fields","name","byteIndexes","byteOrder","encoding","unit","expectedDeviceTypes","fileTransfer","undefined","DECODED_ECG_MODEL_NAMES","has","ecgFileDecoder","er1Recorder","er2Recorder","er3Recorder","ER1_MODEL_NAMES","ER2_MODEL_NAMES","Set","ER3_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-recorders.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"compile-custom-lepu.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-custom-lepu.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAuK9D;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,IAAI,MAAM,EACV,MAAM,gBAAgB,EACtB,cAAc,SAAS,MAAM,EAAE,KAC9B,cAAc,GAAG,SAyGnB,CAAC"}
1
+ {"version":3,"file":"compile-custom-lepu.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-custom-lepu.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAyK9D;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,IAAI,MAAM,EACV,MAAM,gBAAgB,EACtB,cAAc,SAAS,MAAM,EAAE,KAC9B,cAAc,GAAG,SA4GnB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ClockSyncOptions } from "../../../types/clock-sync";
2
- import { CommandSequencer } from "../../../types/command-sequencer";
2
+ import { CommandSequencer, CommandTimeoutResult } from "../../../types/command-sequencer";
3
3
  import { DeviceCommand } from "../../../types/device-command";
4
4
  import { LepuFile } from "../lepu/lepu.file-transfer";
5
5
  declare const BP2_REALTIME_COMMAND = 8;
@@ -26,9 +26,15 @@ declare class BP2HistorySequencer implements CommandSequencer {
26
26
  constructor(params: BP2HistorySequencerParams);
27
27
  initialCommands: () => readonly DeviceCommand[];
28
28
  isHistoryTransfer: () => boolean;
29
+ commandTimeoutMs: () => number | undefined;
30
+ /** The BP2 can drop a poll while it starts measuring, so a missing answer is asked for again. */
31
+ onCommandTimeout: () => CommandTimeoutResult;
32
+ /** Only the realtime answer settles a poll; any other frame leaves its timeout running. */
33
+ commandProgress: (frame: readonly string[]) => "ignored" | "complete";
29
34
  nextCommand: (frame: readonly string[]) => readonly DeviceCommand[] | undefined;
30
35
  private startTransfer;
31
36
  private finishTransfer;
37
+ private isPolling;
32
38
  private pollCommand;
33
39
  private isResultFrame;
34
40
  private isIdleFrame;
@@ -1 +1 @@
1
- {"version":3,"file":"bp2.history-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAK9D,OAAO,EAAE,QAAQ,EAAoB,MAAM,4BAA4B,CAAC;AAOxE,QAAA,MAAM,oBAAoB,IAAO,CAAC;AAMlC,UAAU,yBAAyB;IACjC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,mBAAmB,EAAE,MAAM,OAAO,CAAC;IACnC,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAID,0EAA0E;AAC1E,cAAM,mBAAoB,YAAW,gBAAgB;IAQhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAP1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,KAAK,CAA4B;gBAEL,MAAM,EAAE,yBAAyB;IAE9D,eAAe,QAAO,SAAS,aAAa,EAAE,CAgBnD;IAEK,iBAAiB,QAAO,OAAO,CAAS;IAExC,WAAW,GAChB,OAAO,SAAS,MAAM,EAAE,KACvB,SAAS,aAAa,EAAE,GAAG,SAAS,CAyCrC;IAEF,OAAO,CAAC,aAAa,CAcnB;IAEF,OAAO,CAAC,cAAc,CAKpB;IAEF,OAAO,CAAC,WAAW,CAIhB;IAEH,OAAO,CAAC,aAAa,CAEmC;IAExD,OAAO,CAAC,WAAW,CAEmC;IAEtD,OAAO,CAAC,YAAY,CAuBlB;CACH;AAED,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"bp2.history-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAK9D,OAAO,EAAE,QAAQ,EAAoB,MAAM,4BAA4B,CAAC;AAOxE,QAAA,MAAM,oBAAoB,IAAO,CAAC;AASlC,UAAU,yBAAyB;IACjC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,mBAAmB,EAAE,MAAM,OAAO,CAAC;IACnC,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAID,0EAA0E;AAC1E,cAAM,mBAAoB,YAAW,gBAAgB;IAQhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAP1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,KAAK,CAA4B;gBAEL,MAAM,EAAE,yBAAyB;IAE9D,eAAe,QAAO,SAAS,aAAa,EAAE,CAgBnD;IAEK,iBAAiB,QAAO,OAAO,CAAS;IAExC,gBAAgB,QAAO,MAAM,GAAG,SAAS,CACY;IAE5D,iGAAiG;IAC1F,gBAAgB,QAAO,oBAAoB,CACW;IAE7D,2FAA2F;IACpF,eAAe,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,SAAS,GAAG,UAAU,CAG1D;IAEV,WAAW,GAChB,OAAO,SAAS,MAAM,EAAE,KACvB,SAAS,aAAa,EAAE,GAAG,SAAS,CAyCrC;IAEF,OAAO,CAAC,aAAa,CAcnB;IAEF,OAAO,CAAC,cAAc,CAKpB;IAEF,OAAO,CAAC,SAAS,CACuC;IAExD,OAAO,CAAC,WAAW,CAIhB;IAEH,OAAO,CAAC,aAAa,CAEmC;IAExD,OAAO,CAAC,WAAW,CAEmC;IAEtD,OAAO,CAAC,YAAY,CAuBlB;CACH;AAED,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"custom.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/custom/custom.device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/custom/custom.device.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { ClockSyncCapability } from "../../../types/clock-sync";
2
2
  import { CustomCaseSpec } from "../../../types/custom-case-spec";
3
3
  import { CustomDeviceDefinition, CustomFrameHandlerFactory, CustomReadingDecorator } from "../../../types/custom-device-definition";
4
+ import { CustomLepuSpec } from "../../../types/custom-lepu-spec";
4
5
  import { CustomSessionPolicy } from "../../../types/custom-session-policy";
5
6
  /**
6
7
  * The characteristics each group of products exposes, read from the vendor's own managers.
@@ -107,7 +108,7 @@ interface LepuDeviceParams {
107
108
  /** Stored-file transfer protocol the product uses. */
108
109
  fileTransfer?: "ecg" | "bp2" | "bp3";
109
110
  /** Decoder used for stored ECG files. Omit this when the format is not verified. */
110
- ecgFileDecoder?: "raw-int16";
111
+ ecgFileDecoder?: CustomLepuSpec["ecgFileDecoder"];
111
112
  /** Declares the device clock capability when the protocol has been verified. */
112
113
  clockSync?: ClockSyncCapability;
113
114
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"lepu.transports.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.transports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lepu.transports.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.transports.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,18 @@ declare const VIATOM_ECG_SAMPLE_RATE_HZ = 125;
4
4
  declare const VIATOM_ECG_MILLIVOLTS_PER_COUNT = 0.002467;
5
5
  /** Reads the recording time encoded in the ER file name, when present. */
6
6
  declare const recordedAtFromViatomFileName: (name: string) => Date | undefined;
7
- /** Decodes the official ER1/ER2 file container and its signed ECG samples. */
8
- declare const decodeViatomEcgRecording: (content: readonly string[]) => {
7
+ /** A decoded ER1/ER2 recording. */
8
+ interface ViatomEcgRecording {
9
9
  /** Waveform samples in millivolts. */
10
10
  samples: number[];
11
11
  /** Recording duration in seconds. */
12
12
  duration: number;
13
- };
13
+ }
14
+ /**
15
+ * Decodes an ER1/ER2 recording. A file whose waveform does not last as long as its tail
16
+ * records is returned empty, because that file is in a format this decoder does not read.
17
+ */
18
+ declare const decodeViatomEcgRecording: (content: readonly string[]) => ViatomEcgRecording;
19
+ export type { ViatomEcgRecording };
14
20
  export { decodeViatomEcgRecording, recordedAtFromViatomFileName, VIATOM_ECG_MILLIVOLTS_PER_COUNT, VIATOM_ECG_SAMPLE_RATE_HZ, };
15
21
  //# sourceMappingURL=viatom.ecg-files.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"viatom.ecg-files.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.ecg-files.ts"],"names":[],"mappings":"AAEA,gCAAgC;AAChC,QAAA,MAAM,yBAAyB,MAAM,CAAC;AAEtC,kDAAkD;AAClD,QAAA,MAAM,+BAA+B,WAAW,CAAC;AAsBjD,0EAA0E;AAC1E,QAAA,MAAM,4BAA4B,GAAI,MAAM,MAAM,KAAG,IAAI,GAAG,SA0B3D,CAAC;AAQF,8EAA8E;AAC9E,QAAA,MAAM,wBAAwB,GAC5B,SAAS,SAAS,MAAM,EAAE,KACzB;IAED,sCAAsC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;CA4BlB,CAAC;AAEF,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,+BAA+B,EAC/B,yBAAyB,GAC1B,CAAC"}
1
+ {"version":3,"file":"viatom.ecg-files.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.ecg-files.ts"],"names":[],"mappings":"AAEA,gCAAgC;AAChC,QAAA,MAAM,yBAAyB,MAAM,CAAC;AAEtC,kDAAkD;AAClD,QAAA,MAAM,+BAA+B,WAAW,CAAC;AAsBjD,0EAA0E;AAC1E,QAAA,MAAM,4BAA4B,GAAI,MAAM,MAAM,KAAG,IAAI,GAAG,SA0B3D,CAAC;AAiBF,mCAAmC;AACnC,UAAU,kBAAkB;IAE1B,sCAAsC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAsFD;;;GAGG;AACH,QAAA,MAAM,wBAAwB,GAC5B,SAAS,SAAS,MAAM,EAAE,KACzB,kBAeF,CAAC;AAEF,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAEnC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,+BAA+B,EAC/B,yBAAyB,GAC1B,CAAC"}
@@ -19,8 +19,11 @@ export interface CustomLepuSpec {
19
19
  clockSyncProtocol?: "bp2" | "bp3";
20
20
  /** Download and report each stored file using the verified decoder for that device family. */
21
21
  fileTransfer?: "ecg" | "bp2" | "bp3";
22
- /** Decoder used for stored ECG files. Omit this when the format is not verified. */
23
- ecgFileDecoder?: "raw-int16";
22
+ /**
23
+ * Decoder used for stored ECG files. Omit this when the format is not verified.
24
+ * `raw-int16` is the former name of `viatom-compressed` and decodes the same way.
25
+ */
26
+ ecgFileDecoder?: "viatom-compressed" | "raw-int16";
24
27
  /**
25
28
  * The frame's leading byte. Most of the family uses `a5`, a smaller group `55`, and a few
26
29
  * accept either and settle on one at runtime - so it is a list.
@@ -1 +1 @@
1
- {"version":3,"file":"custom-lepu-spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-lepu-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;IAE7B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC;IAElC,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAElC,8FAA8F;IAC9F,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAErC,oFAAoF;IACpF,cAAc,CAAC,EAAE,WAAW,CAAC;IAE7B;;;OAGG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,qFAAqF;IACrF,wBAAwB,CAAC,EAAE,eAAe,CAAC;IAE3C,0FAA0F;IAC1F,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnC,0FAA0F;IAC1F,KAAK,EAAE;QAEL,4DAA4D;QAC5D,WAAW,EAAE,MAAM,CAAC;QAEpB,0DAA0D;QAC1D,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IAEF;;;;;;;OAOG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
1
+ {"version":3,"file":"custom-lepu-spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-lepu-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;IAE7B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC;IAElC,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAElC,8FAA8F;IAC9F,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAErC;;;OAGG;IACH,cAAc,CAAC,EAAE,mBAAmB,GAAG,WAAW,CAAC;IAEnD;;;OAGG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,qFAAqF;IACrF,wBAAwB,CAAC,EAAE,eAAe,CAAC;IAE3C,0FAA0F;IAC1F,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnC,0FAA0F;IAC1F,KAAK,EAAE;QAEL,4DAA4D;QAC5D,WAAW,EAAE,MAAM,CAAC;QAEpB,0DAA0D;QAC1D,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IAEF;;;;;;;OAOG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"compile-custom-lepu.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-custom-lepu.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAuK9D;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,IAAI,MAAM,EACV,MAAM,gBAAgB,EACtB,cAAc,SAAS,MAAM,EAAE,KAC9B,cAAc,GAAG,SAyGnB,CAAC"}
1
+ {"version":3,"file":"compile-custom-lepu.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/custom/compile-custom-lepu.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAyK9D;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,IAAI,MAAM,EACV,MAAM,gBAAgB,EACtB,cAAc,SAAS,MAAM,EAAE,KAC9B,cAAc,GAAG,SA4GnB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ClockSyncOptions } from "../../../types/clock-sync";
2
- import { CommandSequencer } from "../../../types/command-sequencer";
2
+ import { CommandSequencer, CommandTimeoutResult } from "../../../types/command-sequencer";
3
3
  import { DeviceCommand } from "../../../types/device-command";
4
4
  import { LepuFile } from "../lepu/lepu.file-transfer";
5
5
  declare const BP2_REALTIME_COMMAND = 8;
@@ -26,9 +26,15 @@ declare class BP2HistorySequencer implements CommandSequencer {
26
26
  constructor(params: BP2HistorySequencerParams);
27
27
  initialCommands: () => readonly DeviceCommand[];
28
28
  isHistoryTransfer: () => boolean;
29
+ commandTimeoutMs: () => number | undefined;
30
+ /** The BP2 can drop a poll while it starts measuring, so a missing answer is asked for again. */
31
+ onCommandTimeout: () => CommandTimeoutResult;
32
+ /** Only the realtime answer settles a poll; any other frame leaves its timeout running. */
33
+ commandProgress: (frame: readonly string[]) => "ignored" | "complete";
29
34
  nextCommand: (frame: readonly string[]) => readonly DeviceCommand[] | undefined;
30
35
  private startTransfer;
31
36
  private finishTransfer;
37
+ private isPolling;
32
38
  private pollCommand;
33
39
  private isResultFrame;
34
40
  private isIdleFrame;
@@ -1 +1 @@
1
- {"version":3,"file":"bp2.history-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAK9D,OAAO,EAAE,QAAQ,EAAoB,MAAM,4BAA4B,CAAC;AAOxE,QAAA,MAAM,oBAAoB,IAAO,CAAC;AAMlC,UAAU,yBAAyB;IACjC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,mBAAmB,EAAE,MAAM,OAAO,CAAC;IACnC,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAID,0EAA0E;AAC1E,cAAM,mBAAoB,YAAW,gBAAgB;IAQhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAP1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,KAAK,CAA4B;gBAEL,MAAM,EAAE,yBAAyB;IAE9D,eAAe,QAAO,SAAS,aAAa,EAAE,CAgBnD;IAEK,iBAAiB,QAAO,OAAO,CAAS;IAExC,WAAW,GAChB,OAAO,SAAS,MAAM,EAAE,KACvB,SAAS,aAAa,EAAE,GAAG,SAAS,CAyCrC;IAEF,OAAO,CAAC,aAAa,CAcnB;IAEF,OAAO,CAAC,cAAc,CAKpB;IAEF,OAAO,CAAC,WAAW,CAIhB;IAEH,OAAO,CAAC,aAAa,CAEmC;IAExD,OAAO,CAAC,WAAW,CAEmC;IAEtD,OAAO,CAAC,YAAY,CAuBlB;CACH;AAED,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"bp2.history-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAK9D,OAAO,EAAE,QAAQ,EAAoB,MAAM,4BAA4B,CAAC;AAOxE,QAAA,MAAM,oBAAoB,IAAO,CAAC;AASlC,UAAU,yBAAyB;IACjC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,mBAAmB,EAAE,MAAM,OAAO,CAAC;IACnC,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAID,0EAA0E;AAC1E,cAAM,mBAAoB,YAAW,gBAAgB;IAQhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAP1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,KAAK,CAA4B;gBAEL,MAAM,EAAE,yBAAyB;IAE9D,eAAe,QAAO,SAAS,aAAa,EAAE,CAgBnD;IAEK,iBAAiB,QAAO,OAAO,CAAS;IAExC,gBAAgB,QAAO,MAAM,GAAG,SAAS,CACY;IAE5D,iGAAiG;IAC1F,gBAAgB,QAAO,oBAAoB,CACW;IAE7D,2FAA2F;IACpF,eAAe,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,SAAS,GAAG,UAAU,CAG1D;IAEV,WAAW,GAChB,OAAO,SAAS,MAAM,EAAE,KACvB,SAAS,aAAa,EAAE,GAAG,SAAS,CAyCrC;IAEF,OAAO,CAAC,aAAa,CAcnB;IAEF,OAAO,CAAC,cAAc,CAKpB;IAEF,OAAO,CAAC,SAAS,CACuC;IAExD,OAAO,CAAC,WAAW,CAIhB;IAEH,OAAO,CAAC,aAAa,CAEmC;IAExD,OAAO,CAAC,WAAW,CAEmC;IAEtD,OAAO,CAAC,YAAY,CAuBlB;CACH;AAED,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"custom.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/custom/custom.device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/custom/custom.device.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { ClockSyncCapability } from "../../../types/clock-sync";
2
2
  import { CustomCaseSpec } from "../../../types/custom-case-spec";
3
3
  import { CustomDeviceDefinition, CustomFrameHandlerFactory, CustomReadingDecorator } from "../../../types/custom-device-definition";
4
+ import { CustomLepuSpec } from "../../../types/custom-lepu-spec";
4
5
  import { CustomSessionPolicy } from "../../../types/custom-session-policy";
5
6
  /**
6
7
  * The characteristics each group of products exposes, read from the vendor's own managers.
@@ -107,7 +108,7 @@ interface LepuDeviceParams {
107
108
  /** Stored-file transfer protocol the product uses. */
108
109
  fileTransfer?: "ecg" | "bp2" | "bp3";
109
110
  /** Decoder used for stored ECG files. Omit this when the format is not verified. */
110
- ecgFileDecoder?: "raw-int16";
111
+ ecgFileDecoder?: CustomLepuSpec["ecgFileDecoder"];
111
112
  /** Declares the device clock capability when the protocol has been verified. */
112
113
  clockSync?: ClockSyncCapability;
113
114
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"lepu.transports.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.transports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lepu.transports.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.transports.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,18 @@ declare const VIATOM_ECG_SAMPLE_RATE_HZ = 125;
4
4
  declare const VIATOM_ECG_MILLIVOLTS_PER_COUNT = 0.002467;
5
5
  /** Reads the recording time encoded in the ER file name, when present. */
6
6
  declare const recordedAtFromViatomFileName: (name: string) => Date | undefined;
7
- /** Decodes the official ER1/ER2 file container and its signed ECG samples. */
8
- declare const decodeViatomEcgRecording: (content: readonly string[]) => {
7
+ /** A decoded ER1/ER2 recording. */
8
+ interface ViatomEcgRecording {
9
9
  /** Waveform samples in millivolts. */
10
10
  samples: number[];
11
11
  /** Recording duration in seconds. */
12
12
  duration: number;
13
- };
13
+ }
14
+ /**
15
+ * Decodes an ER1/ER2 recording. A file whose waveform does not last as long as its tail
16
+ * records is returned empty, because that file is in a format this decoder does not read.
17
+ */
18
+ declare const decodeViatomEcgRecording: (content: readonly string[]) => ViatomEcgRecording;
19
+ export type { ViatomEcgRecording };
14
20
  export { decodeViatomEcgRecording, recordedAtFromViatomFileName, VIATOM_ECG_MILLIVOLTS_PER_COUNT, VIATOM_ECG_SAMPLE_RATE_HZ, };
15
21
  //# sourceMappingURL=viatom.ecg-files.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"viatom.ecg-files.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.ecg-files.ts"],"names":[],"mappings":"AAEA,gCAAgC;AAChC,QAAA,MAAM,yBAAyB,MAAM,CAAC;AAEtC,kDAAkD;AAClD,QAAA,MAAM,+BAA+B,WAAW,CAAC;AAsBjD,0EAA0E;AAC1E,QAAA,MAAM,4BAA4B,GAAI,MAAM,MAAM,KAAG,IAAI,GAAG,SA0B3D,CAAC;AAQF,8EAA8E;AAC9E,QAAA,MAAM,wBAAwB,GAC5B,SAAS,SAAS,MAAM,EAAE,KACzB;IAED,sCAAsC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;CA4BlB,CAAC;AAEF,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,+BAA+B,EAC/B,yBAAyB,GAC1B,CAAC"}
1
+ {"version":3,"file":"viatom.ecg-files.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.ecg-files.ts"],"names":[],"mappings":"AAEA,gCAAgC;AAChC,QAAA,MAAM,yBAAyB,MAAM,CAAC;AAEtC,kDAAkD;AAClD,QAAA,MAAM,+BAA+B,WAAW,CAAC;AAsBjD,0EAA0E;AAC1E,QAAA,MAAM,4BAA4B,GAAI,MAAM,MAAM,KAAG,IAAI,GAAG,SA0B3D,CAAC;AAiBF,mCAAmC;AACnC,UAAU,kBAAkB;IAE1B,sCAAsC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAsFD;;;GAGG;AACH,QAAA,MAAM,wBAAwB,GAC5B,SAAS,SAAS,MAAM,EAAE,KACzB,kBAeF,CAAC;AAEF,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAEnC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,+BAA+B,EAC/B,yBAAyB,GAC1B,CAAC"}