@ovok/native 1.6.34 → 1.6.35

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 (155) hide show
  1. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +5 -1
  2. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  3. package/lib/commonjs/modules/bt-management/services/bt-manager.js +1 -0
  4. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  5. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-case.js +6 -0
  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/compile-custom-lepu.js +42 -0
  8. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  9. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js +16 -12
  10. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  11. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.files.js +7 -5
  12. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.files.js.map +1 -1
  13. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +33 -6
  14. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -1
  15. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +4 -1
  16. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  17. package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js +4 -0
  18. package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -1
  19. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +46 -6
  20. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  21. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js +28 -4
  22. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js.map +1 -1
  23. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +6 -3
  24. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  25. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.identity-gate.js +28 -1
  26. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.identity-gate.js.map +1 -1
  27. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +6 -0
  28. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  29. package/lib/commonjs/modules/bt-management/services/devices/measurement-state-machine.js +3 -0
  30. package/lib/commonjs/modules/bt-management/services/devices/measurement-state-machine.js.map +1 -1
  31. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +13 -1
  32. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  33. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp3-files.js +51 -0
  34. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp3-files.js.map +1 -0
  35. package/lib/commonjs/modules/bt-management/types/clock-sync.js +1 -0
  36. package/lib/commonjs/modules/bt-management/types/clock-sync.js.map +1 -1
  37. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +5 -1
  38. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  39. package/lib/module/modules/bt-management/services/bt-manager.js +1 -0
  40. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  41. package/lib/module/modules/bt-management/services/custom/compile-custom-case.js +6 -0
  42. package/lib/module/modules/bt-management/services/custom/compile-custom-case.js.map +1 -1
  43. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js +42 -0
  44. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  45. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js +17 -13
  46. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  47. package/lib/module/modules/bt-management/services/devices/bp2/bp2.files.js +6 -5
  48. package/lib/module/modules/bt-management/services/devices/bp2/bp2.files.js.map +1 -1
  49. package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +33 -6
  50. package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -1
  51. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +4 -1
  52. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  53. package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js +4 -0
  54. package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -1
  55. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +46 -6
  56. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  57. package/lib/module/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js +27 -4
  58. package/lib/module/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js.map +1 -1
  59. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +6 -3
  60. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  61. package/lib/module/modules/bt-management/services/devices/lepu/lepu.identity-gate.js +28 -1
  62. package/lib/module/modules/bt-management/services/devices/lepu/lepu.identity-gate.js.map +1 -1
  63. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +6 -0
  64. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  65. package/lib/module/modules/bt-management/services/devices/measurement-state-machine.js +3 -0
  66. package/lib/module/modules/bt-management/services/devices/measurement-state-machine.js.map +1 -1
  67. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +13 -1
  68. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  69. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp3-files.js +47 -0
  70. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp3-files.js.map +1 -0
  71. package/lib/module/modules/bt-management/types/clock-sync.js +1 -0
  72. package/lib/module/modules/bt-management/types/clock-sync.js.map +1 -1
  73. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  74. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +1 -0
  75. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  76. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-case.d.ts.map +1 -1
  77. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  78. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts +3 -2
  79. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  80. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.files.d.ts +2 -1
  81. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.files.d.ts.map +1 -1
  82. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts +4 -1
  83. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -1
  84. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  85. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +4 -1
  87. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts +8 -1
  89. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts.map +1 -1
  90. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +1 -1
  91. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  92. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts +6 -0
  93. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts.map +1 -1
  94. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +5 -1
  95. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  96. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/measurement-state-machine.d.ts +1 -0
  97. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/measurement-state-machine.d.ts.map +1 -1
  98. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  99. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp3-files.d.ts +18 -0
  100. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp3-files.d.ts.map +1 -0
  101. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts +1 -0
  102. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  103. package/lib/typescript/commonjs/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
  104. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +1 -0
  105. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  106. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-case-spec.d.ts +2 -0
  107. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-case-spec.d.ts.map +1 -1
  108. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +6 -2
  109. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  110. package/lib/typescript/commonjs/src/modules/bt-management/types/dependent-result-handler-params.d.ts +2 -0
  111. package/lib/typescript/commonjs/src/modules/bt-management/types/dependent-result-handler-params.d.ts.map +1 -1
  112. package/lib/typescript/commonjs/src/modules/bt-management/types/parsing-case.d.ts +1 -0
  113. package/lib/typescript/commonjs/src/modules/bt-management/types/parsing-case.d.ts.map +1 -1
  114. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  115. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +1 -0
  116. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  117. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-case.d.ts.map +1 -1
  118. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  119. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts +3 -2
  120. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  121. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.files.d.ts +2 -1
  122. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.files.d.ts.map +1 -1
  123. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts +4 -1
  124. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -1
  125. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  126. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -1
  127. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +4 -1
  128. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  129. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts +8 -1
  130. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts.map +1 -1
  131. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +1 -1
  132. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  133. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts +6 -0
  134. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts.map +1 -1
  135. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +5 -1
  136. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  137. package/lib/typescript/module/src/modules/bt-management/services/devices/measurement-state-machine.d.ts +1 -0
  138. package/lib/typescript/module/src/modules/bt-management/services/devices/measurement-state-machine.d.ts.map +1 -1
  139. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  140. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp3-files.d.ts +18 -0
  141. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp3-files.d.ts.map +1 -0
  142. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts +1 -0
  143. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  144. package/lib/typescript/module/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
  145. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +1 -0
  146. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  147. package/lib/typescript/module/src/modules/bt-management/types/custom-case-spec.d.ts +2 -0
  148. package/lib/typescript/module/src/modules/bt-management/types/custom-case-spec.d.ts.map +1 -1
  149. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +6 -2
  150. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  151. package/lib/typescript/module/src/modules/bt-management/types/dependent-result-handler-params.d.ts +2 -0
  152. package/lib/typescript/module/src/modules/bt-management/types/dependent-result-handler-params.d.ts.map +1 -1
  153. package/lib/typescript/module/src/modules/bt-management/types/parsing-case.d.ts +1 -0
  154. package/lib/typescript/module/src/modules/bt-management/types/parsing-case.d.ts.map +1 -1
  155. package/package.json +1 -1
@@ -6,10 +6,12 @@ import { CaseType } from "../../../types/case-type.js";
6
6
  import { createFrameValidator } from "../../../utils/create-frame-validator.js";
7
7
  import { parseMeasurement } from "../../../utils/parse-measurement.js";
8
8
  import { discardedReadingError, rejectCustomReading } from "../../../utils/reject-custom-reading.js";
9
+ import { decodeBP2File } from "../bp2/bp2.files.js";
9
10
  import { BTManagedDevice } from "../bt-managed-device.js";
10
11
  import { LepuCommandBuilder } from "../lepu/lepu.command-builder.js";
11
12
  import { LepuEcgTransferSequencer } from "../lepu/lepu.ecg-transfer.js";
12
13
  import { LepuFrameReader } from "../lepu/lepu.frame-reader.js";
14
+ import { decodeViatomBp3File } from "../viatom/viatom.bp3-files.js";
13
15
  import { decodeViatomEcgRecording, recordedAtFromViatomFileName } from "../viatom/viatom.ecg-files.js";
14
16
  import { createLepuSequencer, recordLepuIdentity, selectLepu } from "./custom-lepu-sequencer.js";
15
17
  /**
@@ -22,6 +24,7 @@ import { createLepuSequencer, recordLepuIdentity, selectLepu } from "./custom-le
22
24
  * catalog accepts. Anything else is reported through onError and no measurement is emitted.
23
25
  */
24
26
  export class CustomDevice extends BTManagedDevice {
27
+ reportedHistoryIds = new Set();
25
28
  validators = new Map();
26
29
  sessionAggregates = new Map();
27
30
  constructor(device, params, definition) {
@@ -32,7 +35,7 @@ export class CustomDevice extends BTManagedDevice {
32
35
  this.definition = definition;
33
36
  this.sessionPolicy = definition.sessionPolicy;
34
37
  this.deviceData.clockSync = definition.clockSync;
35
- this.deliveredEcgFileNames = new Set(params.deliveredEcgFileNames ?? []);
38
+ this.deliveredFileNames = new Set([...(params.deliveredEcgFileNames ?? []), ...(params.deliveredFileNames ?? [])]);
36
39
  const selectedLepu = definition.lepu ? selectLepu(definition.lepu, device.manufacturerData ?? undefined) : undefined;
37
40
  this.mainServices = selectedLepu?.manufacturerDataProtocol === "viatom-oxygen" ? definition.mainServices.filter(service => service.uuid === selectedLepu.write.serviceUuid) : definition.mainServices;
38
41
  this.stuckDataTimeout = definition.stuckDataTimeout;
@@ -60,7 +63,8 @@ export class CustomDevice extends BTManagedDevice {
60
63
  }
61
64
  this.frameReader = new LepuFrameReader(lepu.startBytes);
62
65
  this.createCommandSequencer = () => {
63
- if (lepu.fileTransfer === "ecg") {
66
+ if (lepu.fileTransfer !== undefined) {
67
+ this.reportedHistoryIds.clear();
64
68
  return new LepuEcgTransferSequencer({
65
69
  write: {
66
70
  serviceUuid: lepu.write.serviceUuid,
@@ -68,13 +72,17 @@ export class CustomDevice extends BTManagedDevice {
68
72
  },
69
73
  builder: new LepuCommandBuilder(lepu.startBytes[0] ?? "a5"),
70
74
  clockSync,
75
+ manufacturerData: this.device.manufacturerData ?? undefined,
76
+ rejectEncryptionAtBytes: lepu.rejectEncryptionAtBytes,
71
77
  expectedDeviceTypes: lepu.expectedDeviceTypes,
72
78
  onIdentified: this.onIdentified,
73
79
  onRefused: this.onIdentityRefused,
74
- onFile: this.reportViatomEcgFile,
75
- skipFiles: this.deliveredEcgFileNames,
76
- acceptFile: name => lepu.ecgFileDecoder === "raw-int16" && /^R/i.test(name),
77
- afterTransfer: lepu.pollCommand ? () => [{
80
+ onFile: lepu.fileTransfer === "ecg" ? this.reportViatomEcgFile : lepu.fileTransfer === "bp2" ? this.reportViatomBp2File : this.reportViatomBp3File,
81
+ skipFiles: lepu.fileTransfer === "bp3" ? undefined : this.deliveredFileNames,
82
+ acceptFile: lepu.fileTransfer === "ecg" ? name => lepu.ecgFileDecoder === "raw-int16" && /^R/i.test(name) : lepu.fileTransfer === "bp3" ? name => /^bp\.list$/i.test(name) : undefined,
83
+ pollCommand: lepu.fileTransfer === "ecg" ? undefined : lepu.pollCommand,
84
+ pollIntervalMs: lepu.fileTransfer === "ecg" ? undefined : lepu.pollIntervalMs,
85
+ afterTransfer: lepu.fileTransfer === "ecg" && lepu.pollCommand ? () => [{
78
86
  serviceUuid: lepu.write.serviceUuid,
79
87
  characteristicUuid: lepu.write.characteristicUuid,
80
88
  frame: new LepuCommandBuilder(lepu.startBytes[0] ?? "a5").build(lepu.pollCommand)
@@ -111,6 +119,29 @@ export class CustomDevice extends BTManagedDevice {
111
119
  recordingId: file.name
112
120
  });
113
121
  };
122
+ reportViatomBp2File = file => {
123
+ const decoded = decodeBP2File(file.name, file.content);
124
+ if (!decoded || this.reportedHistoryIds.has(decoded.recordingId)) {
125
+ return;
126
+ }
127
+ this.reportedHistoryIds.add(decoded.recordingId);
128
+ this.onResult?.({
129
+ ...decoded,
130
+ caseType: CaseType.RESULT
131
+ });
132
+ };
133
+ reportViatomBp3File = file => {
134
+ decodeViatomBp3File(file.name, file.content)?.forEach(decoded => {
135
+ if (this.deliveredFileNames.has(decoded.recordingId) || this.reportedHistoryIds.has(decoded.recordingId)) {
136
+ return;
137
+ }
138
+ this.reportedHistoryIds.add(decoded.recordingId);
139
+ this.onResult?.({
140
+ ...decoded,
141
+ caseType: CaseType.RESULT
142
+ });
143
+ });
144
+ };
114
145
  onIdentified = info => recordLepuIdentity(this.deviceData, info);
115
146
  onIdentityRefused = reason => {
116
147
  this.onError?.(new Error(`Custom device "${this.definition.id}" was not addressed: ${reason}.`));
@@ -130,6 +161,15 @@ export class CustomDevice extends BTManagedDevice {
130
161
  */
131
162
  handleDependentResult = data => {
132
163
  try {
164
+ if (data.parsingCase.requiresStream && !data.isMeasuring) {
165
+ return {
166
+ ...data,
167
+ parsingCase: {
168
+ ...data.parsingCase,
169
+ caseType: CaseType.OTHER
170
+ }
171
+ };
172
+ }
133
173
  if (this.sessionPolicy) {
134
174
  this.captureSessionSample(data);
135
175
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","BTManagedDevice","LepuCommandBuilder","LepuEcgTransferSequencer","LepuFrameReader","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","selectLepu","CustomDevice","validators","Map","sessionAggregates","constructor","device","params","definition","oneReadingPerConnection","sessionPolicy","deviceData","clockSync","deliveredEcgFileNames","Set","selectedLepu","lepu","manufacturerData","undefined","mainServices","manufacturerDataProtocol","filter","service","uuid","write","serviceUuid","stuckDataTimeout","reportsBondedEvent","preferredMtu","declareLepuProtocol","frames","forEach","frame","set","frameReader","startBytes","createCommandSequencer","fileTransfer","characteristicUuid","builder","expectedDeviceTypes","onIdentified","onRefused","onIdentityRefused","onFile","reportViatomEcgFile","skipFiles","acceptFile","name","ecgFileDecoder","test","afterTransfer","pollCommand","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","info","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","captureSessionSample","parsingCase","STREAM","shouldReportDependentResult","reportFrame","error","OTHER","_data","handleSuccessResult","handleMeasurementEnd","policy","aggregates","values","clear","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","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":[]}
@@ -15,6 +15,8 @@ class LepuEcgTransferSequencer {
15
15
  write: params.write,
16
16
  builder: params.builder,
17
17
  expectedDeviceTypes: params.expectedDeviceTypes,
18
+ manufacturerData: params.manufacturerData,
19
+ rejectEncryptionAtBytes: params.rejectEncryptionAtBytes,
18
20
  onIdentified: params.onIdentified,
19
21
  onRefused: params.onRefused,
20
22
  onAdmitted: this.startClockOrTransfer
@@ -29,6 +31,12 @@ class LepuEcgTransferSequencer {
29
31
  if (this.phase === "clock") {
30
32
  return this.finishClock(frame);
31
33
  }
34
+ if (this.phase === "polling") {
35
+ if (this.params.pollCommand === undefined || lepuCommandOf(frame) !== this.params.pollCommand) {
36
+ return undefined;
37
+ }
38
+ return this.startTransfer(3_000);
39
+ }
32
40
  return this.transfer?.nextCommand(frame);
33
41
  };
34
42
  startClockOrTransfer = () => {
@@ -50,7 +58,7 @@ class LepuEcgTransferSequencer {
50
58
  }
51
59
  return this.startTransfer();
52
60
  };
53
- startTransfer = () => {
61
+ startTransfer = delayBeforeWriteMs => {
54
62
  this.phase = "files";
55
63
  this.transfer = new LepuFileTransfer({
56
64
  write: this.params.write,
@@ -59,15 +67,30 @@ class LepuEcgTransferSequencer {
59
67
  onError: this.params.onError,
60
68
  skipFiles: this.params.skipFiles,
61
69
  acceptFile: this.params.acceptFile,
62
- afterTransfer: this.params.afterTransfer,
70
+ afterTransfer: this.finishTransfer,
63
71
  onProgress: this.params.onProgress
64
72
  });
65
- return this.transfer.initialCommands();
73
+ return this.transfer.initialCommands(delayBeforeWriteMs);
74
+ };
75
+ finishTransfer = () => {
76
+ this.transfer = undefined;
77
+ if (this.params.pollCommand !== undefined) {
78
+ this.phase = "polling";
79
+ return [this.pollCommand()];
80
+ }
81
+ return this.params.afterTransfer?.() ?? [];
66
82
  };
83
+ pollCommand = () => ({
84
+ ...this.params.write,
85
+ frame: this.params.builder.build(this.params.pollCommand),
86
+ ...(this.params.pollIntervalMs === undefined ? {} : {
87
+ delayBeforeWriteMs: this.params.pollIntervalMs
88
+ })
89
+ });
67
90
  }
68
91
  const clockPayload = clockSync => {
69
92
  const parts = getClockParts(clockSync?.now?.() ?? new Date(), clockSync?.timezone);
70
93
  return [parts.year & 0xff, parts.year >> 8 & 0xff, parts.month, parts.day, parts.hours, parts.minutes, parts.seconds];
71
94
  };
72
- export { LepuEcgTransferSequencer };
95
+ export { LepuEcgTransferSequencer, clockPayload };
73
96
  //# sourceMappingURL=lepu.ecg-transfer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getClockParts","isClockSyncEnabled","LepuCommand","LepuFileTransfer","lepuCommandOf","LepuIdentityGate","describeLepuResponseType","isLepuSuccess","LepuEcgTransferSequencer","phase","constructor","params","identity","write","builder","expectedDeviceTypes","onIdentified","onRefused","onAdmitted","startClockOrTransfer","initialCommands","isHistoryTransfer","nextCommand","frame","finishClock","transfer","clockSync","build","SET_TIME","clockPayload","startTransfer","undefined","onError","onFile","skipFiles","acceptFile","afterTransfer","onProgress","parts","now","Date","timezone","year","month","day","hours","minutes","seconds"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.ecg-transfer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getClockParts","isClockSyncEnabled","LepuCommand","LepuFileTransfer","lepuCommandOf","LepuIdentityGate","describeLepuResponseType","isLepuSuccess","LepuEcgTransferSequencer","phase","constructor","params","identity","write","builder","expectedDeviceTypes","manufacturerData","rejectEncryptionAtBytes","onIdentified","onRefused","onAdmitted","startClockOrTransfer","initialCommands","isHistoryTransfer","nextCommand","frame","finishClock","pollCommand","undefined","startTransfer","transfer","clockSync","build","SET_TIME","clockPayload","onError","delayBeforeWriteMs","onFile","skipFiles","acceptFile","afterTransfer","finishTransfer","onProgress","pollIntervalMs","parts","now","Date","timezone","year","month","day","hours","minutes","seconds"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.ecg-transfer.ts"],"mappings":"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","ignoreList":[]}
@@ -46,7 +46,7 @@ class LepuFileTransfer {
46
46
  this.params = params;
47
47
  }
48
48
  isHistoryTransfer = () => true;
49
- initialCommands = () => [this.commandFor(LepuCommand.GET_FILE_LIST)];
49
+ initialCommands = delayBeforeWriteMs => [this.commandFor(LepuCommand.GET_FILE_LIST, [], delayBeforeWriteMs)];
50
50
  nextCommand = frame => {
51
51
  const command = lepuCommandOf(frame);
52
52
  if (this.isDone) {
@@ -152,9 +152,12 @@ class LepuFileTransfer {
152
152
  this.isSessionOpen = false;
153
153
  return this.closeFile();
154
154
  };
155
- commandFor = (command, payload = []) => ({
155
+ commandFor = (command, payload = [], delayBeforeWriteMs) => ({
156
156
  ...this.params.write,
157
- frame: this.params.builder.build(command, payload)
157
+ frame: this.params.builder.build(command, payload),
158
+ ...(delayBeforeWriteMs === undefined ? {} : {
159
+ delayBeforeWriteMs
160
+ })
158
161
  });
159
162
  }
160
163
  export { LepuFileTransfer };
@@ -1 +1 @@
1
- {"version":3,"names":["le32FromHex","le32ToBytes","LepuCommand","lepuNameBytes","lepuNamesFrom","lepuCommandOf","lepuPayloadOf","describeLepuResponseType","isLepuSuccess","FILE_SIZE_OFFSET","MAX_FILE_BYTES","TRANSFER_COMMANDS","GET_FILE_LIST","READ_FILE_START","READ_FILE_DATA","READ_FILE_END","LepuFileTransfer","files","fileIndex","name","totalBytes","content","isSessionOpen","isDone","constructor","params","isHistoryTransfer","initialCommands","commandFor","nextCommand","frame","command","afterTransfer","includes","undefined","fail","openNextFile","openedFile","appendChunk","closedFile","skipFiles","has","acceptFile","payload","limit","maxFileBytes","closeFile","length","push","onProgress","receivedBytes","onFile","reason","onError","write","builder","build"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.file-transfer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["le32FromHex","le32ToBytes","LepuCommand","lepuNameBytes","lepuNamesFrom","lepuCommandOf","lepuPayloadOf","describeLepuResponseType","isLepuSuccess","FILE_SIZE_OFFSET","MAX_FILE_BYTES","TRANSFER_COMMANDS","GET_FILE_LIST","READ_FILE_START","READ_FILE_DATA","READ_FILE_END","LepuFileTransfer","files","fileIndex","name","totalBytes","content","isSessionOpen","isDone","constructor","params","isHistoryTransfer","initialCommands","delayBeforeWriteMs","commandFor","nextCommand","frame","command","afterTransfer","includes","undefined","fail","openNextFile","openedFile","appendChunk","closedFile","skipFiles","has","acceptFile","payload","limit","maxFileBytes","closeFile","length","push","onProgress","receivedBytes","onFile","reason","onError","write","builder","build"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.file-transfer.ts"],"mappings":"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","ignoreList":[]}
@@ -34,6 +34,12 @@ export class LepuIdentityGate {
34
34
  this.pendingCommand = setClock ? 0x16 : VIATOM_OXYGEN_INFO;
35
35
  return [command];
36
36
  }
37
+ if (this.params.clockSyncProtocol && isClockSyncEnabled(this.params.clockSync)) {
38
+ const command = this.params.clockSyncProtocol === "bp3" ? 0xc0 : 0xec;
39
+ this.pendingClockCommand = command;
40
+ this.pendingCommand = command;
41
+ return [this.commandFor(command, clockPayload(this.params.clockSync, this.params.clockSyncProtocol))];
42
+ }
37
43
  this.pendingCommand = LepuCommand.GET_INFO;
38
44
  return [this.commandFor(LepuCommand.GET_INFO)];
39
45
  };
@@ -41,6 +47,9 @@ export class LepuIdentityGate {
41
47
  if (this.params.protocol === "viatom-oxygen") {
42
48
  return this.nextViatomOxygenCommand(frame);
43
49
  }
50
+ if (this.pendingClockCommand !== undefined) {
51
+ return this.nextClockCommand(frame);
52
+ }
44
53
  if (this.isRefused) {
45
54
  return undefined;
46
55
  }
@@ -49,6 +58,14 @@ export class LepuIdentityGate {
49
58
  }
50
59
  return this.admit(frame);
51
60
  };
61
+ nextClockCommand = frame => {
62
+ if (hexToByte(frame[COMMAND_INDEX] ?? "ff") !== this.pendingClockCommand) {
63
+ return undefined;
64
+ }
65
+ this.pendingClockCommand = undefined;
66
+ this.pendingCommand = LepuCommand.GET_INFO;
67
+ return [this.commandFor(LepuCommand.GET_INFO)];
68
+ };
52
69
 
53
70
  /** Decides on the reply to the generic `GET_INFO` command. */
54
71
  admit = frame => {
@@ -82,7 +99,7 @@ export class LepuIdentityGate {
82
99
  };
83
100
 
84
101
  /** Nothing, for a declaration that asks what the device is and stops there. */
85
- poll = () => this.params.pollCommand === undefined ? undefined : [this.commandFor(this.params.pollCommand)];
102
+ poll = () => this.params.pollCommand === undefined ? undefined : [this.commandFor(this.params.pollCommand, [], this.params.pollIntervalMs)];
86
103
  commandFor = (command, payload = [], delayBeforeWriteMs) => ({
87
104
  ...this.params.write,
88
105
  frame: this.params.builder.build(command, payload),
@@ -137,6 +154,16 @@ const oxyClockPayload = clockSync => {
137
154
  });
138
155
  return Array.from(new TextEncoder().encode(payload));
139
156
  };
157
+ const clockPayload = (clockSync, protocol) => {
158
+ const date = clockSync?.now?.() ?? new Date();
159
+ const parts = getClockParts(date, clockSync?.timezone);
160
+ const payload = [parts.year & 0xff, parts.year >> 8 & 0xff, parts.month, parts.day, parts.hours, parts.minutes, parts.seconds];
161
+ if (protocol === "bp3") {
162
+ const tenthsOfHour = clockSync?.timezone === "utc" ? 0 : -date.getTimezoneOffset() / 6;
163
+ payload.push(tenthsOfHour & 0xff);
164
+ }
165
+ return payload;
166
+ };
140
167
  const parseViatomOxygenDeviceInfo = frame => {
141
168
  try {
142
169
  const text = frame.slice(7, -1).map(byte => String.fromCharCode(hexToByte(byte))).join("").replace(/\0+$/, "");
@@ -1 +1 @@
1
- {"version":3,"names":["getClockParts","isClockSyncEnabled","hexToByte","advertisementRequiresEncryption","LepuCommand","parseLepuDeviceInfo","describeLepuResponseType","isLepuSuccess","COMMAND_INDEX","VIATOM_OXYGEN_INFO","LepuIdentityGate","isIdentified","isRefused","constructor","params","initialCommands","manufacturerData","rejectEncryptionAtBytes","refuse","protocol","command","pollCommand","pendingCommand","commandFor","setClock","setClockBeforeInfo","clockSync","oxyClockPayload","GET_INFO","nextCommand","frame","nextViatomOxygenCommand","undefined","poll","admit","info","onIdentified","onAdmitted","isNarrowed","expectedDeviceTypes","length","includes","deviceType","branchCode","reason","onRefused","payload","delayBeforeWriteMs","write","builder","build","writeWithoutResponse","withoutResponse","status","toString","padStart","parseViatomOxygenDeviceInfo","parts","now","Date","timezone","pad","value","String","JSON","stringify","SetTIME","year","month","day","hours","minutes","seconds","Array","from","TextEncoder","encode","text","slice","map","byte","fromCharCode","join","replace","parse","Number","Model","isInteger","protocolMaxLength","Branch","serialNumber","SN","SerialNumber"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.identity-gate.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getClockParts","isClockSyncEnabled","hexToByte","advertisementRequiresEncryption","LepuCommand","parseLepuDeviceInfo","describeLepuResponseType","isLepuSuccess","COMMAND_INDEX","VIATOM_OXYGEN_INFO","LepuIdentityGate","isIdentified","isRefused","constructor","params","initialCommands","manufacturerData","rejectEncryptionAtBytes","refuse","protocol","command","pollCommand","pendingCommand","commandFor","setClock","setClockBeforeInfo","clockSync","oxyClockPayload","clockSyncProtocol","pendingClockCommand","clockPayload","GET_INFO","nextCommand","frame","nextViatomOxygenCommand","undefined","nextClockCommand","poll","admit","info","onIdentified","onAdmitted","isNarrowed","expectedDeviceTypes","length","includes","deviceType","branchCode","reason","onRefused","pollIntervalMs","payload","delayBeforeWriteMs","write","builder","build","writeWithoutResponse","withoutResponse","status","toString","padStart","parseViatomOxygenDeviceInfo","parts","now","Date","timezone","pad","value","String","JSON","stringify","SetTIME","year","month","day","hours","minutes","seconds","Array","from","TextEncoder","encode","date","tenthsOfHour","getTimezoneOffset","push","text","slice","map","byte","fromCharCode","join","replace","parse","Number","Model","isInteger","protocolMaxLength","Branch","serialNumber","SN","SerialNumber"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.identity-gate.ts"],"mappings":"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","ignoreList":[]}
@@ -173,11 +173,17 @@ const lepuDevice = params => {
173
173
  ...(params.pollCommand === undefined ? {} : {
174
174
  pollCommand: params.pollCommand
175
175
  }),
176
+ ...(params.pollIntervalMs === undefined ? {} : {
177
+ pollIntervalMs: params.pollIntervalMs
178
+ }),
176
179
  ...(params.writeWithoutResponse === undefined ? {} : {
177
180
  writeWithoutResponse: params.writeWithoutResponse
178
181
  }),
179
182
  ...(params.setClockBeforeInfo === undefined ? {} : {
180
183
  setClockBeforeInfo: params.setClockBeforeInfo
184
+ }),
185
+ ...(params.clockSyncProtocol === undefined ? {} : {
186
+ clockSyncProtocol: params.clockSyncProtocol
181
187
  })
182
188
  },
183
189
  services: services.map(service => ({
@@ -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","writeWithoutResponse","setClockBeforeInfo","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"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.transports.ts"],"mappings":"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","ignoreList":[]}
@@ -16,6 +16,9 @@ export class MeasurementStateMachine {
16
16
  constructor(callbacks) {
17
17
  this.callbacks = callbacks;
18
18
  }
19
+ get measuring() {
20
+ return this.isMeasuring;
21
+ }
19
22
  reset = () => {
20
23
  this.isMeasuring = false;
21
24
  this.lastCaseValue = undefined;
@@ -1 +1 @@
1
- {"version":3,"names":["CaseType","DeviceStatus","MeasurementStateMachine","isMeasuring","constructor","callbacks","reset","lastCaseValue","undefined","lastFrame","advance","parsingCase","measurementTypeKey","parsedData","frame","isResult","caseType","RESULT","isRepeatedResult","caseValue","join","toLowerCase","STREAM","startMeasuring","OTHER","stopMeasuring","keepMeasuring","onResult","onStreamStart","onStatusChanged","MEASURING","onMeasurementEnd","CONNECTED"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/measurement-state-machine.ts"],"mappings":";;AAEA,SAASA,QAAQ,QAAQ,0BAAuB;AAEhD,SAASC,YAAY,QAAQ,8BAA2B;AAgBxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,CAAwB;EAClDC,WAAW,GAAY,KAAK;EAIpCC,WAAWA,CAAkBC,SAAoC,EAAE;IAAA,KAAtCA,SAAoC,GAApCA,SAAoC;EAAG;EAE7DC,KAAK,GAAGA,CAAA,KAAY;IACzB,IAAI,CAACH,WAAW,GAAG,KAAK;IACxB,IAAI,CAACI,aAAa,GAAGC,SAAS;IAC9B,IAAI,CAACC,SAAS,GAAGD,SAAS;EAC5B,CAAC;EAEME,OAAO,GAAGA,CACf;IACEC,WAAW;IACXC,kBAAkB;IAClBC;EAC+B,CAAC,EAClCC,KAAe,KACN;IACT,MAAMC,QAAQ,GAAGJ,WAAW,CAACK,QAAQ,KAAKhB,QAAQ,CAACiB,MAAM;IAEzD,MAAMC,gBAAgB,GACpBH,QAAQ,IACRJ,WAAW,CAACQ,SAAS,KAAK,IAAI,CAACZ,aAAa,IAC5C,IAAI,CAACE,SAAS,EAAEW,IAAI,CAAC,EAAE,CAAC,CAACC,WAAW,CAAC,CAAC,KAAKP,KAAK,CAACM,IAAI,CAAC,EAAE,CAAC,CAACC,WAAW,CAAC,CAAC;IAEzE,IAAI,CAACd,aAAa,GAAGI,WAAW,CAACQ,SAAS;IAC1C,IAAI,CAACV,SAAS,GAAG,CAAC,GAAGK,KAAK,CAAC;IAE3B,IAAIH,WAAW,CAACK,QAAQ,KAAKhB,QAAQ,CAACsB,MAAM,IAAI,CAAC,IAAI,CAACnB,WAAW,EAAE;MACjE,IAAI,CAACoB,cAAc,CAACX,kBAAkB,CAAC;IACzC;IAEA,IAAI,IAAI,CAACT,WAAW,IAAIQ,WAAW,CAACK,QAAQ,KAAKhB,QAAQ,CAACwB,KAAK,EAAE;MAC/D,IAAI,CAACC,aAAa,CAACb,kBAAkB,CAAC;IACxC;IAEA,IAAIM,gBAAgB,EAAE;MACpB;IACF;IAEA,IAAIQ,aAAa,GAAG,KAAK;IAEzB,IAAI,IAAI,CAACvB,WAAW,IAAIY,QAAQ,EAAE;MAChCW,aAAa,GAAG,IAAI,CAACrB,SAAS,CAACsB,QAAQ,GAAGd,UAAU,EAAEC,KAAK,CAAC,IAAI,KAAK;IACvE;IAEA,IAAIC,QAAQ,IAAI,CAACW,aAAa,EAAE;MAC9B,IAAI,CAACD,aAAa,CAACb,kBAAkB,CAAC;IACxC;EACF,CAAC;EAEOW,cAAc,GAAIX,kBAAuC,IAAW;IAC1E,IAAI,CAACP,SAAS,CAACuB,aAAa,GAAG,CAAC;IAChC,IAAI,CAACvB,SAAS,CAACwB,eAAe,GAAG5B,YAAY,CAAC6B,SAAS,EAAElB,kBAAkB,CAAC;IAC5E,IAAI,CAACT,WAAW,GAAG,IAAI;EACzB,CAAC;EAEOsB,aAAa,GAAIb,kBAAuC,IAAW;IACzE,IAAI,CAACT,WAAW,GAAG,KAAK;IACxB,IAAI,CAACE,SAAS,CAAC0B,gBAAgB,GAAG,CAAC;IACnC,IAAI,CAAC1B,SAAS,CAACwB,eAAe,GAC5B5B,YAAY,CAAC+B,SAAS,EACtBpB,kBACF,CAAC;EACH,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["CaseType","DeviceStatus","MeasurementStateMachine","isMeasuring","constructor","callbacks","measuring","reset","lastCaseValue","undefined","lastFrame","advance","parsingCase","measurementTypeKey","parsedData","frame","isResult","caseType","RESULT","isRepeatedResult","caseValue","join","toLowerCase","STREAM","startMeasuring","OTHER","stopMeasuring","keepMeasuring","onResult","onStreamStart","onStatusChanged","MEASURING","onMeasurementEnd","CONNECTED"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/measurement-state-machine.ts"],"mappings":";;AAEA,SAASA,QAAQ,QAAQ,0BAAuB;AAEhD,SAASC,YAAY,QAAQ,8BAA2B;AAgBxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,CAAwB;EAClDC,WAAW,GAAY,KAAK;EAIpCC,WAAWA,CAAkBC,SAAoC,EAAE;IAAA,KAAtCA,SAAoC,GAApCA,SAAoC;EAAG;EAEpE,IAAWC,SAASA,CAAA,EAAY;IAC9B,OAAO,IAAI,CAACH,WAAW;EACzB;EAEOI,KAAK,GAAGA,CAAA,KAAY;IACzB,IAAI,CAACJ,WAAW,GAAG,KAAK;IACxB,IAAI,CAACK,aAAa,GAAGC,SAAS;IAC9B,IAAI,CAACC,SAAS,GAAGD,SAAS;EAC5B,CAAC;EAEME,OAAO,GAAGA,CACf;IACEC,WAAW;IACXC,kBAAkB;IAClBC;EAC+B,CAAC,EAClCC,KAAe,KACN;IACT,MAAMC,QAAQ,GAAGJ,WAAW,CAACK,QAAQ,KAAKjB,QAAQ,CAACkB,MAAM;IAEzD,MAAMC,gBAAgB,GACpBH,QAAQ,IACRJ,WAAW,CAACQ,SAAS,KAAK,IAAI,CAACZ,aAAa,IAC5C,IAAI,CAACE,SAAS,EAAEW,IAAI,CAAC,EAAE,CAAC,CAACC,WAAW,CAAC,CAAC,KAAKP,KAAK,CAACM,IAAI,CAAC,EAAE,CAAC,CAACC,WAAW,CAAC,CAAC;IAEzE,IAAI,CAACd,aAAa,GAAGI,WAAW,CAACQ,SAAS;IAC1C,IAAI,CAACV,SAAS,GAAG,CAAC,GAAGK,KAAK,CAAC;IAE3B,IAAIH,WAAW,CAACK,QAAQ,KAAKjB,QAAQ,CAACuB,MAAM,IAAI,CAAC,IAAI,CAACpB,WAAW,EAAE;MACjE,IAAI,CAACqB,cAAc,CAACX,kBAAkB,CAAC;IACzC;IAEA,IAAI,IAAI,CAACV,WAAW,IAAIS,WAAW,CAACK,QAAQ,KAAKjB,QAAQ,CAACyB,KAAK,EAAE;MAC/D,IAAI,CAACC,aAAa,CAACb,kBAAkB,CAAC;IACxC;IAEA,IAAIM,gBAAgB,EAAE;MACpB;IACF;IAEA,IAAIQ,aAAa,GAAG,KAAK;IAEzB,IAAI,IAAI,CAACxB,WAAW,IAAIa,QAAQ,EAAE;MAChCW,aAAa,GAAG,IAAI,CAACtB,SAAS,CAACuB,QAAQ,GAAGd,UAAU,EAAEC,KAAK,CAAC,IAAI,KAAK;IACvE;IAEA,IAAIC,QAAQ,IAAI,CAACW,aAAa,EAAE;MAC9B,IAAI,CAACD,aAAa,CAACb,kBAAkB,CAAC;IACxC;EACF,CAAC;EAEOW,cAAc,GAAIX,kBAAuC,IAAW;IAC1E,IAAI,CAACR,SAAS,CAACwB,aAAa,GAAG,CAAC;IAChC,IAAI,CAACxB,SAAS,CAACyB,eAAe,GAAG7B,YAAY,CAAC8B,SAAS,EAAElB,kBAAkB,CAAC;IAC5E,IAAI,CAACV,WAAW,GAAG,IAAI;EACzB,CAAC;EAEOuB,aAAa,GAAIb,kBAAuC,IAAW;IACzE,IAAI,CAACV,WAAW,GAAG,KAAK;IACxB,IAAI,CAACE,SAAS,CAAC2B,gBAAgB,GAAG,CAAC;IACnC,IAAI,CAAC3B,SAAS,CAACyB,eAAe,GAC5B7B,YAAY,CAACgC,SAAS,EACtBpB,kBACF,CAAC;EACH,CAAC;AACH","ignoreList":[]}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import { MeasurementTypeKey } from "@ovok/core";
4
+ import { le32FromHex } from "../../../utils/le-32-from-hex.js";
5
+ import { recordedAtFromLocalSeconds } from "../bp2/bp2.files.js";
4
6
  import { lepuNameMatch } from "../lepu/lepu.name-match.js";
5
7
  import { lepuDevice } from "../lepu/lepu.transports.js";
6
8
 
@@ -31,6 +33,7 @@ const CASE_SELECTOR_BYTES = [1, 7];
31
33
  /** Header, realtime state, the result struct and its result code. */
32
34
  const MIN_LENGTH_BYTES = 29;
33
35
  const RESULT_CODE_INDEX = 28;
36
+ const DEVICE_TIME_INDEX = 16;
34
37
  const READING = [{
35
38
  name: "systolic",
36
39
  byteIndexes: [20, 21],
@@ -53,6 +56,7 @@ const READING = [{
53
56
  const result = (selector, description) => ({
54
57
  selector,
55
58
  kind: "result",
59
+ requiresStream: true,
56
60
  measurementTypeKey: MeasurementTypeKey.bloodPressure,
57
61
  fields: [...READING],
58
62
  description
@@ -67,7 +71,11 @@ const rejectFailedResult = (reading, frame) => {
67
71
  if (resultCode !== 0) {
68
72
  throw new Error(`Viatom blood-pressure measurement failed with result code 0x${resultCode.toString(16).padStart(2, "0")}`);
69
73
  }
70
- return reading;
74
+ const recordedAt = frame && frame.length >= DEVICE_TIME_INDEX + 4 ? recordedAtFromLocalSeconds(le32FromHex([...frame], DEVICE_TIME_INDEX)) : undefined;
75
+ return recordedAt ? {
76
+ ...reading,
77
+ recordedAt
78
+ } : reading;
71
79
  };
72
80
 
73
81
  /**
@@ -93,8 +101,12 @@ const BP2_CASES = [...["00", "01", "02", "03", "0a", "14", "ff"].map(state => ({
93
101
  const viatomBpMonitor = (advertisedName, params) => lepuDevice({
94
102
  id: params.id ?? `viatom-${advertisedName.toLowerCase().replace(/[^a-z0-9]+/g, "-")}`,
95
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",
96
107
  rejectEncryptionAtBytes: [4],
97
108
  pollCommand: RT_DATA,
109
+ pollIntervalMs: 200,
98
110
  minLengthBytes: MIN_LENGTH_BYTES,
99
111
  caseSelectorBytes: CASE_SELECTOR_BYTES,
100
112
  cases: BP2_CASES.map(each => ({
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","lepuNameMatch","lepuDevice","RT_DATA","CASE_SELECTOR_BYTES","MIN_LENGTH_BYTES","RESULT_CODE_INDEX","READING","name","byteIndexes","byteOrder","encoding","unit","result","selector","description","kind","measurementTypeKey","bloodPressure","fields","measuring","rejectFailedResult","reading","frame","resultCode","Number","parseInt","Error","toString","padStart","BP2_CASES","map","state","viatomBpMonitor","advertisedName","params","id","toLowerCase","replace","nameMatch","rejectEncryptionAtBytes","pollCommand","minLengthBytes","caseSelectorBytes","cases","each","decorateReading","expectedDeviceTypes","bp2aMonitor","bp2tMonitor","bp2wMonitor","BP3_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.bp-monitors.ts"],"mappings":"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","ignoreList":[]}
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":[]}