@ovok/native 1.16.1-dev.2185 → 1.16.1-dev.2189

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 (153) hide show
  1. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +13 -0
  2. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  3. package/lib/commonjs/modules/bt-management/hooks/runtime-context.js.map +1 -1
  4. package/lib/commonjs/modules/bt-management/index.js +12 -0
  5. package/lib/commonjs/modules/bt-management/index.js.map +1 -1
  6. package/lib/commonjs/modules/bt-management/services/bt-manager.js +7 -0
  7. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  8. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js +20 -1
  9. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  10. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +4 -0
  11. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  12. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +21 -4
  13. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  14. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.js +75 -0
  15. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.js.map +1 -0
  16. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recorder.js +52 -0
  17. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recorder.js.map +1 -0
  18. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recording-watch.js +17 -15
  19. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.recording-watch.js.map +1 -1
  20. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.waveform.js +27 -0
  21. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.waveform.js.map +1 -0
  22. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js +13 -1
  23. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js.map +1 -1
  24. package/lib/commonjs/modules/bt-management/types/device-waveform.js +6 -0
  25. package/lib/commonjs/modules/bt-management/types/device-waveform.js.map +1 -0
  26. package/lib/commonjs/modules/bt-management/utils/i-16-from-hex.js.map +1 -1
  27. package/lib/commonjs/modules/next/bluetooth/ble-plx/legacy-driver.js +27 -1
  28. package/lib/commonjs/modules/next/bluetooth/ble-plx/legacy-driver.js.map +1 -1
  29. package/lib/commonjs/modules/next/bluetooth/connections.js +32 -1
  30. package/lib/commonjs/modules/next/bluetooth/connections.js.map +1 -1
  31. package/lib/commonjs/modules/next/bluetooth/driver.js.map +1 -1
  32. package/lib/commonjs/modules/next/bluetooth/errors.js.map +1 -1
  33. package/lib/commonjs/modules/next/bluetooth/runtime.js +21 -1
  34. package/lib/commonjs/modules/next/bluetooth/runtime.js.map +1 -1
  35. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +13 -0
  36. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  37. package/lib/module/modules/bt-management/hooks/runtime-context.js.map +1 -1
  38. package/lib/module/modules/bt-management/index.js +1 -0
  39. package/lib/module/modules/bt-management/index.js.map +1 -1
  40. package/lib/module/modules/bt-management/services/bt-manager.js +7 -0
  41. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  42. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js +20 -1
  43. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  44. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +4 -0
  45. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  46. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +21 -4
  47. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  48. package/lib/module/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.js +72 -0
  49. package/lib/module/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.js.map +1 -0
  50. package/lib/module/modules/bt-management/services/devices/lepu/lepu.recorder.js +48 -0
  51. package/lib/module/modules/bt-management/services/devices/lepu/lepu.recorder.js.map +1 -0
  52. package/lib/module/modules/bt-management/services/devices/lepu/lepu.recording-watch.js +17 -15
  53. package/lib/module/modules/bt-management/services/devices/lepu/lepu.recording-watch.js.map +1 -1
  54. package/lib/module/modules/bt-management/services/devices/lepu/lepu.waveform.js +22 -0
  55. package/lib/module/modules/bt-management/services/devices/lepu/lepu.waveform.js.map +1 -0
  56. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js +14 -1
  57. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.js.map +1 -1
  58. package/lib/module/modules/bt-management/types/device-waveform.js +4 -0
  59. package/lib/module/modules/bt-management/types/device-waveform.js.map +1 -0
  60. package/lib/module/modules/bt-management/utils/i-16-from-hex.js.map +1 -1
  61. package/lib/module/modules/next/bluetooth/ble-plx/legacy-driver.js +27 -1
  62. package/lib/module/modules/next/bluetooth/ble-plx/legacy-driver.js.map +1 -1
  63. package/lib/module/modules/next/bluetooth/connections.js +32 -1
  64. package/lib/module/modules/next/bluetooth/connections.js.map +1 -1
  65. package/lib/module/modules/next/bluetooth/driver.js.map +1 -1
  66. package/lib/module/modules/next/bluetooth/errors.js.map +1 -1
  67. package/lib/module/modules/next/bluetooth/runtime.js +21 -1
  68. package/lib/module/modules/next/bluetooth/runtime.js.map +1 -1
  69. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  70. package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts +3 -0
  71. package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
  72. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +1 -0
  73. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  74. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +4 -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-lepu.d.ts.map +1 -1
  77. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
  78. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  79. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +2 -1
  80. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  81. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts +42 -0
  82. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts.map +1 -0
  83. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts +30 -0
  84. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts.map +1 -0
  85. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts +5 -0
  86. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts.map +1 -1
  87. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts +9 -0
  88. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts.map +1 -0
  89. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.d.ts.map +1 -1
  90. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +3 -0
  91. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  92. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +11 -0
  93. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  94. package/lib/typescript/commonjs/src/modules/bt-management/types/device-waveform.d.ts +15 -0
  95. package/lib/typescript/commonjs/src/modules/bt-management/types/device-waveform.d.ts.map +1 -0
  96. package/lib/typescript/commonjs/src/modules/bt-management/utils/i-16-from-hex.d.ts +1 -1
  97. package/lib/typescript/commonjs/src/modules/bt-management/utils/i-16-from-hex.d.ts.map +1 -1
  98. package/lib/typescript/commonjs/src/modules/next/bluetooth/ble-plx/legacy-driver.d.ts.map +1 -1
  99. package/lib/typescript/commonjs/src/modules/next/bluetooth/connections.d.ts +10 -1
  100. package/lib/typescript/commonjs/src/modules/next/bluetooth/connections.d.ts.map +1 -1
  101. package/lib/typescript/commonjs/src/modules/next/bluetooth/driver.d.ts +13 -0
  102. package/lib/typescript/commonjs/src/modules/next/bluetooth/driver.d.ts.map +1 -1
  103. package/lib/typescript/commonjs/src/modules/next/bluetooth/errors.d.ts +1 -1
  104. package/lib/typescript/commonjs/src/modules/next/bluetooth/errors.d.ts.map +1 -1
  105. package/lib/typescript/commonjs/src/modules/next/bluetooth/index.d.ts +1 -1
  106. package/lib/typescript/commonjs/src/modules/next/bluetooth/index.d.ts.map +1 -1
  107. package/lib/typescript/commonjs/src/modules/next/bluetooth/runtime.d.ts +11 -1
  108. package/lib/typescript/commonjs/src/modules/next/bluetooth/runtime.d.ts.map +1 -1
  109. package/lib/typescript/commonjs/src/modules/next/bluetooth/snapshot.d.ts +28 -1
  110. package/lib/typescript/commonjs/src/modules/next/bluetooth/snapshot.d.ts.map +1 -1
  111. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  112. package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts +3 -0
  113. package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
  114. package/lib/typescript/module/src/modules/bt-management/index.d.ts +1 -0
  115. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  116. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +4 -0
  117. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.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/bt-managed-device.d.ts +4 -1
  120. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  121. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +2 -1
  122. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  123. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts +42 -0
  124. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.live-ecg-chunks.d.ts.map +1 -0
  125. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts +30 -0
  126. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recorder.d.ts.map +1 -0
  127. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts +5 -0
  128. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.recording-watch.d.ts.map +1 -1
  129. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts +9 -0
  130. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.waveform.d.ts.map +1 -0
  131. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.d.ts.map +1 -1
  132. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +3 -0
  133. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  134. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +11 -0
  135. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  136. package/lib/typescript/module/src/modules/bt-management/types/device-waveform.d.ts +15 -0
  137. package/lib/typescript/module/src/modules/bt-management/types/device-waveform.d.ts.map +1 -0
  138. package/lib/typescript/module/src/modules/bt-management/utils/i-16-from-hex.d.ts +1 -1
  139. package/lib/typescript/module/src/modules/bt-management/utils/i-16-from-hex.d.ts.map +1 -1
  140. package/lib/typescript/module/src/modules/next/bluetooth/ble-plx/legacy-driver.d.ts.map +1 -1
  141. package/lib/typescript/module/src/modules/next/bluetooth/connections.d.ts +10 -1
  142. package/lib/typescript/module/src/modules/next/bluetooth/connections.d.ts.map +1 -1
  143. package/lib/typescript/module/src/modules/next/bluetooth/driver.d.ts +13 -0
  144. package/lib/typescript/module/src/modules/next/bluetooth/driver.d.ts.map +1 -1
  145. package/lib/typescript/module/src/modules/next/bluetooth/errors.d.ts +1 -1
  146. package/lib/typescript/module/src/modules/next/bluetooth/errors.d.ts.map +1 -1
  147. package/lib/typescript/module/src/modules/next/bluetooth/index.d.ts +1 -1
  148. package/lib/typescript/module/src/modules/next/bluetooth/index.d.ts.map +1 -1
  149. package/lib/typescript/module/src/modules/next/bluetooth/runtime.d.ts +11 -1
  150. package/lib/typescript/module/src/modules/next/bluetooth/runtime.d.ts.map +1 -1
  151. package/lib/typescript/module/src/modules/next/bluetooth/snapshot.d.ts +28 -1
  152. package/lib/typescript/module/src/modules/next/bluetooth/snapshot.d.ts.map +1 -1
  153. package/package.json +1 -1
@@ -6,6 +6,7 @@ const LOW_NIBBLE = 0x0f;
6
6
  const CLOSED = "closed";
7
7
  /** Follows a recorder's open recording through its poll answers. */
8
8
  class LepuRecordingWatch {
9
+ seconds = 0;
9
10
  constructor(status, onRecordingChanged) {
10
11
  this.status = status;
11
12
  this.onRecordingChanged = onRecordingChanged;
@@ -15,26 +16,27 @@ class LepuRecordingWatch {
15
16
  observe = pollAnswer => {
16
17
  const previous = this.state;
17
18
  this.state = hexToByte(pollAnswer[this.status.byteIndex] ?? "00") & LOW_NIBBLE;
19
+ this.seconds = le32FromHex(pollAnswer, this.status.secondsByteIndex);
18
20
  this.leadOffSince = this.isLeadOff() ? this.leadOffSince ?? new Date() : undefined;
19
- this.report(this.recordingIn(pollAnswer));
21
+ this.report(this.recordingIn());
20
22
  return this.state === this.status.savedState && previous !== this.status.savedState;
21
23
  };
22
24
 
23
25
  /** Whether a recording is open, so that stopping it means something. */
24
- isOpen = () => this.state === this.status.recordingState || this.isLeadOff();
25
- recordingIn = pollAnswer => {
26
- if (!this.isOpen()) {
27
- return undefined;
28
- }
29
- const seconds = le32FromHex(pollAnswer, this.status.secondsByteIndex);
30
- return {
31
- seconds,
32
- ...(this.leadOffSince ? {
33
- leadOffSince: this.leadOffSince
34
- } : {}),
35
- storesOnStop: seconds >= this.status.minimumStoredSeconds
36
- };
37
- };
26
+ isOpen = () => this.isRecording() || this.isLeadOff();
27
+
28
+ /** Whether the electrodes have contact and samples are being recorded. */
29
+ isRecording = () => this.state === this.status.recordingState;
30
+
31
+ /** Seconds recorded, as of the last answer. */
32
+ recordedSeconds = () => this.seconds;
33
+ recordingIn = () => this.isOpen() ? {
34
+ seconds: this.seconds,
35
+ ...(this.leadOffSince ? {
36
+ leadOffSince: this.leadOffSince
37
+ } : {}),
38
+ storesOnStop: this.seconds >= this.status.minimumStoredSeconds
39
+ } : undefined;
38
40
  isLeadOff = () => this.state === this.status.leadOffState;
39
41
 
40
42
  /** Reports a change in what the app would act on, not every tick of the seconds. */
@@ -1 +1 @@
1
- {"version":3,"names":["hexToByte","le32FromHex","LOW_NIBBLE","CLOSED","LepuRecordingWatch","constructor","status","onRecordingChanged","observe","pollAnswer","previous","state","byteIndex","leadOffSince","isLeadOff","Date","undefined","report","recordingIn","savedState","isOpen","recordingState","seconds","secondsByteIndex","storesOnStop","minimumStoredSeconds","leadOffState","recording","key","changed","reported"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.recording-watch.ts"],"mappings":";;AAEA,SAASA,SAAS,QAAQ,+BAA4B;AACtD,SAASC,WAAW,QAAQ,kCAA+B;AAE3D,MAAMC,UAAU,GAAG,IAAI;AACvB,MAAMC,MAAM,GAAG,QAAQ;AAMvB;AACA,MAAMC,kBAAkB,CAAC;EAKhBC,WAAWA,CACCC,MAAuB,EACvBC,kBAA8D,EAC/E;IAAA,KAFiBD,MAAuB,GAAvBA,MAAuB;IAAA,KACvBC,kBAA8D,GAA9DA,kBAA8D;EAC9E;;EAEH;EACOC,OAAO,GAAIC,UAA6B,IAAc;IAC3D,MAAMC,QAAQ,GAAG,IAAI,CAACC,KAAK;IAE3B,IAAI,CAACA,KAAK,GAAGX,SAAS,CAACS,UAAU,CAAC,IAAI,CAACH,MAAM,CAACM,SAAS,CAAC,IAAI,IAAI,CAAC,GAAGV,UAAU;IAC9E,IAAI,CAACW,YAAY,GAAG,IAAI,CAACC,SAAS,CAAC,CAAC,GAAI,IAAI,CAACD,YAAY,IAAI,IAAIE,IAAI,CAAC,CAAC,GAAIC,SAAS;IACpF,IAAI,CAACC,MAAM,CAAC,IAAI,CAACC,WAAW,CAACT,UAAU,CAAC,CAAC;IAEzC,OAAO,IAAI,CAACE,KAAK,KAAK,IAAI,CAACL,MAAM,CAACa,UAAU,IAAIT,QAAQ,KAAK,IAAI,CAACJ,MAAM,CAACa,UAAU;EACrF,CAAC;;EAED;EACOC,MAAM,GAAGA,CAAA,KACd,IAAI,CAACT,KAAK,KAAK,IAAI,CAACL,MAAM,CAACe,cAAc,IAAI,IAAI,CAACP,SAAS,CAAC,CAAC;EAEvDI,WAAW,GAAIT,UAA6B,IAA4B;IAC9E,IAAI,CAAC,IAAI,CAACW,MAAM,CAAC,CAAC,EAAE;MAClB,OAAOJ,SAAS;IAClB;IAEA,MAAMM,OAAO,GAAGrB,WAAW,CAACQ,UAAU,EAAE,IAAI,CAACH,MAAM,CAACiB,gBAAgB,CAAC;IAErE,OAAO;MACLD,OAAO;MACP,IAAI,IAAI,CAACT,YAAY,GAAG;QAAEA,YAAY,EAAE,IAAI,CAACA;MAAa,CAAC,GAAG,CAAC,CAAC,CAAC;MACjEW,YAAY,EAAEF,OAAO,IAAI,IAAI,CAAChB,MAAM,CAACmB;IACvC,CAAC;EACH,CAAC;EAEOX,SAAS,GAAGA,CAAA,KAAe,IAAI,CAACH,KAAK,KAAK,IAAI,CAACL,MAAM,CAACoB,YAAY;;EAE1E;EACQT,MAAM,GAAIU,SAAgC,IAAW;IAC3D,MAAMC,GAAG,GAAGD,SAAS,GACjB,GAAGA,SAAS,CAACd,YAAY,KAAKG,SAAS,IAAIW,SAAS,CAACH,YAAY,EAAE,GACnErB,MAAM;IAEV,MAAM0B,OAAO,GAAGD,GAAG,MAAM,IAAI,CAACE,QAAQ,IAAI3B,MAAM,CAAC;IAEjD,IAAI,CAAC2B,QAAQ,GAAGF,GAAG;IAEnB,IAAIC,OAAO,EAAE;MACX,IAAI,CAACtB,kBAAkB,CAACoB,SAAS,CAAC;IACpC;EACF,CAAC;AACH;AAEA,SAASvB,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["hexToByte","le32FromHex","LOW_NIBBLE","CLOSED","LepuRecordingWatch","seconds","constructor","status","onRecordingChanged","observe","pollAnswer","previous","state","byteIndex","secondsByteIndex","leadOffSince","isLeadOff","Date","undefined","report","recordingIn","savedState","isOpen","isRecording","recordingState","recordedSeconds","storesOnStop","minimumStoredSeconds","leadOffState","recording","key","changed","reported"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.recording-watch.ts"],"mappings":";;AAEA,SAASA,SAAS,QAAQ,+BAA4B;AACtD,SAASC,WAAW,QAAQ,kCAA+B;AAE3D,MAAMC,UAAU,GAAG,IAAI;AACvB,MAAMC,MAAM,GAAG,QAAQ;AAMvB;AACA,MAAMC,kBAAkB,CAAC;EAEfC,OAAO,GAAG,CAAC;EAIZC,WAAWA,CACCC,MAAuB,EACvBC,kBAA8D,EAC/E;IAAA,KAFiBD,MAAuB,GAAvBA,MAAuB;IAAA,KACvBC,kBAA8D,GAA9DA,kBAA8D;EAC9E;;EAEH;EACOC,OAAO,GAAIC,UAA6B,IAAc;IAC3D,MAAMC,QAAQ,GAAG,IAAI,CAACC,KAAK;IAE3B,IAAI,CAACA,KAAK,GAAGZ,SAAS,CAACU,UAAU,CAAC,IAAI,CAACH,MAAM,CAACM,SAAS,CAAC,IAAI,IAAI,CAAC,GAAGX,UAAU;IAC9E,IAAI,CAACG,OAAO,GAAGJ,WAAW,CAACS,UAAU,EAAE,IAAI,CAACH,MAAM,CAACO,gBAAgB,CAAC;IACpE,IAAI,CAACC,YAAY,GAAG,IAAI,CAACC,SAAS,CAAC,CAAC,GAAI,IAAI,CAACD,YAAY,IAAI,IAAIE,IAAI,CAAC,CAAC,GAAIC,SAAS;IACpF,IAAI,CAACC,MAAM,CAAC,IAAI,CAACC,WAAW,CAAC,CAAC,CAAC;IAE/B,OAAO,IAAI,CAACR,KAAK,KAAK,IAAI,CAACL,MAAM,CAACc,UAAU,IAAIV,QAAQ,KAAK,IAAI,CAACJ,MAAM,CAACc,UAAU;EACrF,CAAC;;EAED;EACOC,MAAM,GAAGA,CAAA,KAAe,IAAI,CAACC,WAAW,CAAC,CAAC,IAAI,IAAI,CAACP,SAAS,CAAC,CAAC;;EAErE;EACOO,WAAW,GAAGA,CAAA,KAAe,IAAI,CAACX,KAAK,KAAK,IAAI,CAACL,MAAM,CAACiB,cAAc;;EAE7E;EACOC,eAAe,GAAGA,CAAA,KAAc,IAAI,CAACpB,OAAO;EAE3Ce,WAAW,GAAGA,CAAA,KACpB,IAAI,CAACE,MAAM,CAAC,CAAC,GACT;IACEjB,OAAO,EAAE,IAAI,CAACA,OAAO;IACrB,IAAI,IAAI,CAACU,YAAY,GAAG;MAAEA,YAAY,EAAE,IAAI,CAACA;IAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IACjEW,YAAY,EAAE,IAAI,CAACrB,OAAO,IAAI,IAAI,CAACE,MAAM,CAACoB;EAC5C,CAAC,GACDT,SAAS;EAEPF,SAAS,GAAGA,CAAA,KAAe,IAAI,CAACJ,KAAK,KAAK,IAAI,CAACL,MAAM,CAACqB,YAAY;;EAE1E;EACQT,MAAM,GAAIU,SAAgC,IAAW;IAC3D,MAAMC,GAAG,GAAGD,SAAS,GACjB,GAAGA,SAAS,CAACd,YAAY,KAAKG,SAAS,IAAIW,SAAS,CAACH,YAAY,EAAE,GACnEvB,MAAM;IAEV,MAAM4B,OAAO,GAAGD,GAAG,MAAM,IAAI,CAACE,QAAQ,IAAI7B,MAAM,CAAC;IAEjD,IAAI,CAAC6B,QAAQ,GAAGF,GAAG;IAEnB,IAAIC,OAAO,EAAE;MACX,IAAI,CAACvB,kBAAkB,CAACqB,SAAS,CAAC;IACpC;EACF,CAAC;AACH;AAEA,SAASzB,kBAAkB","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ import { i16FromHex } from "../../../utils/i-16-from-hex.js";
4
+ import { le16FromHex } from "../../../utils/le-16-from-hex.js";
5
+ const SAMPLE_BYTES = 2;
6
+ const COUNT_BYTES = 2;
7
+ const CHECKSUM_BYTES = 1;
8
+
9
+ /** The raw sample counts a poll answer carries, never more than the frame holds. */
10
+ const waveformSamples = (pollAnswer, waveform) => {
11
+ const first = waveform.countByteIndex + COUNT_BYTES;
12
+ const declared = le16FromHex(pollAnswer, waveform.countByteIndex);
13
+ const available = Math.floor((pollAnswer.length - CHECKSUM_BYTES - first) / SAMPLE_BYTES);
14
+ return Array.from({
15
+ length: Math.max(0, Math.min(declared, available))
16
+ }, (_, index) => i16FromHex(pollAnswer, first + index * SAMPLE_BYTES));
17
+ };
18
+
19
+ /** One count in millivolts; the no-signal marker reads as 0. */
20
+ const millivoltsOf = (count, waveform) => count === waveform.noSignalCount ? 0 : count * waveform.millivoltsPerCount;
21
+ export { millivoltsOf, waveformSamples };
22
+ //# sourceMappingURL=lepu.waveform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["i16FromHex","le16FromHex","SAMPLE_BYTES","COUNT_BYTES","CHECKSUM_BYTES","waveformSamples","pollAnswer","waveform","first","countByteIndex","declared","available","Math","floor","length","Array","from","max","min","_","index","millivoltsOf","count","noSignalCount","millivoltsPerCount"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.waveform.ts"],"mappings":";;AACA,SAASA,UAAU,QAAQ,iCAA8B;AACzD,SAASC,WAAW,QAAQ,kCAA+B;AAI3D,MAAMC,YAAY,GAAG,CAAC;AACtB,MAAMC,WAAW,GAAG,CAAC;AACrB,MAAMC,cAAc,GAAG,CAAC;;AAExB;AACA,MAAMC,eAAe,GAAGA,CAACC,UAA6B,EAAEC,QAAkB,KAAe;EACvF,MAAMC,KAAK,GAAGD,QAAQ,CAACE,cAAc,GAAGN,WAAW;EACnD,MAAMO,QAAQ,GAAGT,WAAW,CAACK,UAAU,EAAEC,QAAQ,CAACE,cAAc,CAAC;EACjE,MAAME,SAAS,GAAGC,IAAI,CAACC,KAAK,CAAC,CAACP,UAAU,CAACQ,MAAM,GAAGV,cAAc,GAAGI,KAAK,IAAIN,YAAY,CAAC;EAEzF,OAAOa,KAAK,CAACC,IAAI,CAAC;IAAEF,MAAM,EAAEF,IAAI,CAACK,GAAG,CAAC,CAAC,EAAEL,IAAI,CAACM,GAAG,CAACR,QAAQ,EAAEC,SAAS,CAAC;EAAE,CAAC,EAAE,CAACQ,CAAC,EAAEC,KAAK,KACjFpB,UAAU,CAACM,UAAU,EAAEE,KAAK,GAAGY,KAAK,GAAGlB,YAAY,CAAC,CAAC;AACzD,CAAC;;AAED;AACA,MAAMmB,YAAY,GAAGA,CAACC,KAAa,EAAEf,QAAkB,KACrDe,KAAK,KAAKf,QAAQ,CAACgB,aAAa,GAAG,CAAC,GAAGD,KAAK,GAAGf,QAAQ,CAACiB,kBAAkB;AAE5E,SAASH,YAAY,EAAEhB,eAAe","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ import { VIATOM_ECG_MILLIVOLTS_PER_COUNT } from "./viatom.ecg-files.js";
4
+
3
5
  /** The run status, with the current state in its low nibble. */
4
6
  const RUN_STATUS_BYTE = 15;
5
7
  const RECORDING_STATE = 2;
@@ -9,6 +11,11 @@ const SAVED_STATE = 4;
9
11
  /** The seconds recorded so far, u32 little-endian, right before the run status. */
10
12
  const RECORD_SECONDS_BYTE = 11;
11
13
 
14
+ /** After the 18-byte parameter block: the sample count, then int16 samples. */
15
+ const WAVEFORM_COUNT_BYTE = 25;
16
+ const SAMPLES_PER_SECOND = 125;
17
+ const NO_SIGNAL_COUNT = 0x7fff;
18
+
12
19
  /** Ends a recording and stores it when it is long enough. */
13
20
  const STOP_MEASUREMENT = 0x05;
14
21
 
@@ -25,7 +32,13 @@ const viatomRecordingStatus = advertisedName => ({
25
32
  leadOffState: LEAD_OFF_STATE,
26
33
  savedState: SAVED_STATE,
27
34
  minimumStoredSeconds: HOLTER_MODEL_NAMES.has(advertisedName) ? HOLTER_MINIMUM_STORED_SECONDS : MINIMUM_STORED_SECONDS,
28
- stopCommand: STOP_MEASUREMENT
35
+ stopCommand: STOP_MEASUREMENT,
36
+ waveform: {
37
+ countByteIndex: WAVEFORM_COUNT_BYTE,
38
+ sampleRateHz: SAMPLES_PER_SECOND,
39
+ millivoltsPerCount: VIATOM_ECG_MILLIVOLTS_PER_COUNT,
40
+ noSignalCount: NO_SIGNAL_COUNT
41
+ }
29
42
  });
30
43
  export { RECORDING_STATE, RUN_STATUS_BYTE, viatomRecordingStatus };
31
44
  //# sourceMappingURL=viatom.ecg-recording-status.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["RUN_STATUS_BYTE","RECORDING_STATE","LEAD_OFF_STATE","SAVED_STATE","RECORD_SECONDS_BYTE","STOP_MEASUREMENT","HOLTER_MODEL_NAMES","Set","HOLTER_MINIMUM_STORED_SECONDS","MINIMUM_STORED_SECONDS","viatomRecordingStatus","advertisedName","byteIndex","secondsByteIndex","recordingState","leadOffState","savedState","minimumStoredSeconds","has","stopCommand"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.ts"],"mappings":";;AAEA;AACA,MAAMA,eAAe,GAAG,EAAE;AAC1B,MAAMC,eAAe,GAAG,CAAC;AACzB,MAAMC,cAAc,GAAG,CAAC;AACxB,MAAMC,WAAW,GAAG,CAAC;;AAErB;AACA,MAAMC,mBAAmB,GAAG,EAAE;;AAE9B;AACA,MAAMC,gBAAgB,GAAG,IAAI;;AAE7B;AACA,MAAMC,kBAAkB,GAAG,IAAIC,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AACnE,MAAMC,6BAA6B,GAAG,GAAG;AACzC,MAAMC,sBAAsB,GAAG,EAAE;;AAEjC;AACA,MAAMC,qBAAqB,GACzBC,cAAsB,KAC8B;EACpDC,SAAS,EAAEZ,eAAe;EAC1Ba,gBAAgB,EAAET,mBAAmB;EACrCU,cAAc,EAAEb,eAAe;EAC/Bc,YAAY,EAAEb,cAAc;EAC5Bc,UAAU,EAAEb,WAAW;EACvBc,oBAAoB,EAAEX,kBAAkB,CAACY,GAAG,CAACP,cAAc,CAAC,GACxDH,6BAA6B,GAC7BC,sBAAsB;EAC1BU,WAAW,EAAEd;AACf,CAAC,CAAC;AAEF,SAASJ,eAAe,EAAED,eAAe,EAAEU,qBAAqB","ignoreList":[]}
1
+ {"version":3,"names":["VIATOM_ECG_MILLIVOLTS_PER_COUNT","RUN_STATUS_BYTE","RECORDING_STATE","LEAD_OFF_STATE","SAVED_STATE","RECORD_SECONDS_BYTE","WAVEFORM_COUNT_BYTE","SAMPLES_PER_SECOND","NO_SIGNAL_COUNT","STOP_MEASUREMENT","HOLTER_MODEL_NAMES","Set","HOLTER_MINIMUM_STORED_SECONDS","MINIMUM_STORED_SECONDS","viatomRecordingStatus","advertisedName","byteIndex","secondsByteIndex","recordingState","leadOffState","savedState","minimumStoredSeconds","has","stopCommand","waveform","countByteIndex","sampleRateHz","millivoltsPerCount","noSignalCount"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-recording-status.ts"],"mappings":";;AAEA,SAASA,+BAA+B,QAAQ,uBAAoB;;AAEpE;AACA,MAAMC,eAAe,GAAG,EAAE;AAC1B,MAAMC,eAAe,GAAG,CAAC;AACzB,MAAMC,cAAc,GAAG,CAAC;AACxB,MAAMC,WAAW,GAAG,CAAC;;AAErB;AACA,MAAMC,mBAAmB,GAAG,EAAE;;AAE9B;AACA,MAAMC,mBAAmB,GAAG,EAAE;AAC9B,MAAMC,kBAAkB,GAAG,GAAG;AAC9B,MAAMC,eAAe,GAAG,MAAM;;AAE9B;AACA,MAAMC,gBAAgB,GAAG,IAAI;;AAE7B;AACA,MAAMC,kBAAkB,GAAG,IAAIC,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AACnE,MAAMC,6BAA6B,GAAG,GAAG;AACzC,MAAMC,sBAAsB,GAAG,EAAE;;AAEjC;AACA,MAAMC,qBAAqB,GACzBC,cAAsB,KAC8B;EACpDC,SAAS,EAAEf,eAAe;EAC1BgB,gBAAgB,EAAEZ,mBAAmB;EACrCa,cAAc,EAAEhB,eAAe;EAC/BiB,YAAY,EAAEhB,cAAc;EAC5BiB,UAAU,EAAEhB,WAAW;EACvBiB,oBAAoB,EAAEX,kBAAkB,CAACY,GAAG,CAACP,cAAc,CAAC,GACxDH,6BAA6B,GAC7BC,sBAAsB;EAC1BU,WAAW,EAAEd,gBAAgB;EAC7Be,QAAQ,EAAE;IACRC,cAAc,EAAEnB,mBAAmB;IACnCoB,YAAY,EAAEnB,kBAAkB;IAChCoB,kBAAkB,EAAE3B,+BAA+B;IACnD4B,aAAa,EAAEpB;EACjB;AACF,CAAC,CAAC;AAEF,SAASN,eAAe,EAAED,eAAe,EAAEa,qBAAqB","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=device-waveform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/device-waveform.ts"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["le16FromHex","i16FromHex","hex","i","v"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/utils/i-16-from-hex.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,qBAAkB;;AAE9C;AACA,OAAO,MAAMC,UAAU,GAAGA,CAACC,GAAa,EAAEC,CAAS,KAAa;EAC9D,MAAMC,CAAC,GAAGJ,WAAW,CAACE,GAAG,EAAEC,CAAC,CAAC;EAE7B,OAAOC,CAAC,GAAG,MAAM,GAAGA,CAAC,GAAG,OAAO,GAAGA,CAAC;AACrC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["le16FromHex","i16FromHex","hex","i","v"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/utils/i-16-from-hex.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,qBAAkB;;AAE9C;AACA,OAAO,MAAMC,UAAU,GAAGA,CAACC,GAAsB,EAAEC,CAAS,KAAa;EACvE,MAAMC,CAAC,GAAGJ,WAAW,CAACE,GAAG,EAAEC,CAAC,CAAC;EAE7B,OAAOC,CAAC,GAAG,MAAM,GAAGA,CAAC,GAAG,OAAO,GAAGA,CAAC;AACrC,CAAC","ignoreList":[]}
@@ -51,7 +51,33 @@ const legacyDriver = (creator, deviceName) => (peripheral, signal) => {
51
51
  }) => events.push({
52
52
  kind: "error",
53
53
  error: fromBleError(error)
54
- })
54
+ }),
55
+ onWaveform: ({
56
+ samples,
57
+ sampleRateHz,
58
+ millivoltsPerCount,
59
+ at
60
+ }) => events.push({
61
+ kind: "waveform",
62
+ waveform: {
63
+ samples,
64
+ sampleRateHz,
65
+ millivoltsPerCount,
66
+ at
67
+ }
68
+ }),
69
+ onConnectionEvent: ({
70
+ kind,
71
+ recording
72
+ }) => {
73
+ if (kind === "recording") {
74
+ events.push({
75
+ kind: "recording",
76
+ recording: recording ?? null,
77
+ stop: () => managed.stopRecording()
78
+ });
79
+ }
80
+ }
55
81
  });
56
82
  signal.addEventListener("abort", stop, {
57
83
  once: true
@@ -1 +1 @@
1
- {"version":3,"names":["DeviceStatus","Channel","isTimestamped","fromBleError","bleDeviceOf","STATUSES","CONNECTED","MEASURING","DISCONNECTED","legacyDriver","creator","deviceName","peripheral","signal","stop","events","end","removeEventListener","managed","disconnect","createDevice","device","onResult","id","data","reading","push","kind","onDeviceStatusChanged","status","mapped","onError","error","addEventListener","once","connect","catch","fail"],"sourceRoot":"../../../../../../src","sources":["modules/next/bluetooth/ble-plx/legacy-driver.ts"],"mappings":";;AAKA,SAASA,YAAY,QAAQ,+CAA4C;AACzE,SAASC,OAAO,QAAQ,eAAY;AACpC,SAA8BC,aAAa,QAAQ,cAAW;AAE9D,SAASC,YAAY,QAAQ,iBAAc;AAC3C,SAASC,WAAW,QAAQ,qBAAkB;AAE9C,MAAMC,QAAmF,GAAG;EAC1F,CAACL,YAAY,CAACM,SAAS,GAAG,WAAW;EACrC,CAACN,YAAY,CAACO,SAAS,GAAG,WAAW;EACrC,CAACP,YAAY,CAACQ,YAAY,GAAG;AAC/B,CAAC;;AAED;AACA,MAAMC,YAAY,GAAGA,CAACC,OAAiD,EAAEC,UAAqB,KAC5F,CAACC,UAAU,EAAEC,MAAM,KAAK;EACtB,MAAMC,IAAI,GAAGA,CAAA,KAAMC,MAAM,CAACC,GAAG,CAAC,CAAC;EAE/B,MAAMD,MAAM,GAAG,IAAId,OAAO,CAAc,MAAM;IAC5CY,MAAM,CAACI,mBAAmB,CAAC,OAAO,EAAEH,IAAI,CAAC;IACzC,KAAKI,OAAO,CAACC,UAAU,CAAC,CAAC;EAC3B,CAAC,CAAC;EAEF,MAAMD,OAAO,GAAGR,OAAO,CAACU,YAAY,CAAC;IACnCC,MAAM,EAAEjB,WAAW,CAACQ,UAAU,CAAC;IAC/BD,UAAU;IACVW,QAAQ,EAAEA,CAAC;MAAEC,EAAE;MAAEC;IAAK,CAAC,KAAK;MAC1B,MAAMC,OAAO,GAAGD,IAAmB;MAEnCT,MAAM,CAACW,IAAI,CAAC;QAAEC,IAAI,EAAE,SAAS;QAAEJ,EAAE,EAAErB,aAAa,CAACuB,OAAO,CAAC,GAAGF,EAAE,GAAG,IAAI;QAAEE;MAAQ,CAAC,CAAC;IACnF,CAAC;IACDG,qBAAqB,EAAEA,CAAC;MAAEC;IAAO,CAAC,KAAK;MACrC,MAAMC,MAAM,GAAGzB,QAAQ,CAACwB,MAAM,CAAC;MAE/B,IAAIC,MAAM,EAAE;QACVf,MAAM,CAACW,IAAI,CAAC;UAAEC,IAAI,EAAE,QAAQ;UAAEE,MAAM,EAAEC;QAAO,CAAC,CAAC;MACjD;MACA,IAAID,MAAM,KAAK7B,YAAY,CAACQ,YAAY,EAAE;QACxCO,MAAM,CAACC,GAAG,CAAC,CAAC;MACd;IACF,CAAC;IACDe,OAAO,EAAEA,CAAC;MAAEC;IAAM,CAAC,KAAKjB,MAAM,CAACW,IAAI,CAAC;MAAEC,IAAI,EAAE,OAAO;MAAEK,KAAK,EAAE7B,YAAY,CAAC6B,KAAK;IAAE,CAAC;EACnF,CAAC,CAAC;EAEFnB,MAAM,CAACoB,gBAAgB,CAAC,OAAO,EAAEnB,IAAI,EAAE;IAAEoB,IAAI,EAAE;EAAK,CAAC,CAAC;EACtDhB,OAAO,CAACiB,OAAO,CAAC,CAAC,CAACC,KAAK,CAAEJ,KAAc,IAAKjB,MAAM,CAACsB,IAAI,CAAClC,YAAY,CAAC6B,KAAK,CAAC,CAAC,CAAC;EAE7E,OAAOjB,MAAM;AACf,CAAC;AAEH,SAASN,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["DeviceStatus","Channel","isTimestamped","fromBleError","bleDeviceOf","STATUSES","CONNECTED","MEASURING","DISCONNECTED","legacyDriver","creator","deviceName","peripheral","signal","stop","events","end","removeEventListener","managed","disconnect","createDevice","device","onResult","id","data","reading","push","kind","onDeviceStatusChanged","status","mapped","onError","error","onWaveform","samples","sampleRateHz","millivoltsPerCount","at","waveform","onConnectionEvent","recording","stopRecording","addEventListener","once","connect","catch","fail"],"sourceRoot":"../../../../../../src","sources":["modules/next/bluetooth/ble-plx/legacy-driver.ts"],"mappings":"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","ignoreList":[]}
@@ -7,11 +7,13 @@ const endedBeforeConnecting = () => new BluetoothError("connection-failed", "The
7
7
  /** One driver run per connected device, its events folded into the snapshot. */
8
8
  class Connections {
9
9
  sessions = new Map();
10
- constructor(store, readings, policy, onEnded) {
10
+ recordingStops = new Map();
11
+ constructor(store, readings, policy, onEnded, onWaveform) {
11
12
  this.store = store;
12
13
  this.readings = readings;
13
14
  this.policy = policy;
14
15
  this.onEnded = onEnded;
16
+ this.onWaveform = onWaveform;
15
17
  }
16
18
  isActive(id) {
17
19
  return this.sessions.has(id);
@@ -32,6 +34,21 @@ class Connections {
32
34
  await session?.ended;
33
35
  }
34
36
 
37
+ /**
38
+ * Stops the recording a connected device holds open.
39
+ *
40
+ * @throws BluetoothError `no-open-recording` when the device holds none.
41
+ */
42
+ async stopRecording(id) {
43
+ const stop = this.recordingStops.get(id);
44
+ if (!stop || !this.store.device(id)?.recording) {
45
+ throw new BluetoothError("no-open-recording", "The device holds no open recording to stop");
46
+ }
47
+ await stop().catch(error => {
48
+ throw asBluetoothError(error, "no-open-recording");
49
+ });
50
+ }
51
+
35
52
  /** Disconnects every device; resolves once every connection has ended. */
36
53
  async disconnectAll() {
37
54
  await Promise.all([...this.sessions.keys()].map(id => this.disconnect(id)));
@@ -67,6 +84,10 @@ class Connections {
67
84
  failConnecting(failure);
68
85
  }).finally(() => {
69
86
  this.sessions.delete(id);
87
+ this.recordingStops.delete(id);
88
+ this.store.updateDevice(id, {
89
+ recording: undefined
90
+ });
70
91
  this.onEnded(id);
71
92
  });
72
93
  const session = {
@@ -94,6 +115,16 @@ class Connections {
94
115
  this.store.updateDevice(id, {
95
116
  information: event.information
96
117
  });
118
+ } else if (event.kind === "waveform") {
119
+ this.onWaveform({
120
+ deviceId: id,
121
+ ...event.waveform
122
+ });
123
+ } else if (event.kind === "recording") {
124
+ this.recordingStops.set(id, event.stop);
125
+ this.store.updateDevice(id, {
126
+ recording: event.recording ?? undefined
127
+ });
97
128
  } else if (event.kind === "reading") {
98
129
  const device = this.store.device(id);
99
130
  if (device) {
@@ -1 +1 @@
1
- {"version":3,"names":["asBluetoothError","BluetoothError","keepReadings","endedBeforeConnecting","Connections","sessions","Map","constructor","store","readings","policy","onEnded","isActive","id","has","connect","peripheral","driver","current","get","controller","signal","aborted","ended","start","connected","disconnect","session","abort","disconnectAll","Promise","all","keys","map","AbortController","markConnected","undefined","failConnecting","resolve","reject","updateDevice","connection","error","run","then","catch","failure","finally","delete","set","event","apply","kind","status","information","device","receive","reading"],"sourceRoot":"../../../../../src","sources":["modules/next/bluetooth/connections.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["asBluetoothError","BluetoothError","keepReadings","endedBeforeConnecting","Connections","sessions","Map","recordingStops","constructor","store","readings","policy","onEnded","onWaveform","isActive","id","has","connect","peripheral","driver","current","get","controller","signal","aborted","ended","start","connected","disconnect","session","abort","stopRecording","stop","device","recording","catch","error","disconnectAll","Promise","all","keys","map","AbortController","markConnected","undefined","failConnecting","resolve","reject","updateDevice","connection","run","then","failure","finally","delete","set","event","apply","kind","status","information","deviceId","waveform","receive","reading"],"sourceRoot":"../../../../../src","sources":["modules/next/bluetooth/connections.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["stableHash","isTimestamped","reading","temporal","recordedAt","start","end","some","value","Date","readingId","key","peripheral","id","gattDriver","protocol","signal","link","openLink","kind","status","deviceInformation","information","close"],"sourceRoot":"../../../../../src","sources":["modules/next/bluetooth/driver.ts"],"mappings":";;AAIA,SAASA,UAAU,QAAQ,kBAAe;;AAG1C;;AAsCA;;AAGA;;AAGA;AACA,MAAMC,aAAa,GAAIC,OAAoB,IAAc;EACvD,MAAMC,QAAQ,GAAGD,OAAmE;EAEpF,OAAO,CAACC,QAAQ,CAACC,UAAU,EAAED,QAAQ,CAACE,KAAK,EAAEF,QAAQ,CAACG,GAAG,CAAC,CAACC,IAAI,CAAEC,KAAK,IAAKA,KAAK,YAAYC,IAAI,CAAC;AACnG,CAAC;;AAED;AACA,MAAMC,SAAS,GAAGA,CAACC,GAAW,EAAEC,UAAsB,EAAEV,OAAoB,KAC1ED,aAAa,CAACC,OAAO,CAAC,GAAG,QAAQF,UAAU,CAAC;EAAEW,GAAG;EAAEC,UAAU,EAAEA,UAAU,CAACC,EAAE;EAAEX;AAAQ,CAAC,CAAC,EAAE,GAAG,IAAI;;AAEnG;AACA,MAAMY,UAAU,GAAGA,CAACH,GAAW,EAAEI,QAAwB,KACvD,iBAAiBH,UAAU,EAAEI,MAAM,EAAE;EACnC,MAAMC,IAAI,GAAG,MAAML,UAAU,CAACM,QAAQ,CAACF,MAAM,CAAC;EAE9C,IAAI;IACF,MAAM;MAAEG,IAAI,EAAE,QAAQ;MAAEC,MAAM,EAAE;IAAY,CAAC;IAC7C,IAAIH,IAAI,CAACI,iBAAiB,EAAE;MAC1B,MAAM;QAAEF,IAAI,EAAE,aAAa;QAAEG,WAAW,EAAEL,IAAI,CAACI;MAAkB,CAAC;IACpE;IACA,WAAW,MAAMnB,OAAO,IAAIa,QAAQ,CAACE,IAAI,CAAC,EAAE;MAC1C,MAAM;QAAEE,IAAI,EAAE,SAAS;QAAEN,EAAE,EAAEH,SAAS,CAACC,GAAG,EAAEC,UAAU,EAAEV,OAAO,CAAC;QAAEA;MAAQ,CAAC;IAC7E;IACA,MAAM;MAAEiB,IAAI,EAAE,QAAQ;MAAEC,MAAM,EAAE;IAAe,CAAC;EAClD,CAAC,SAAS;IACR,MAAMH,IAAI,CAACM,KAAK,CAAC,CAAC;EACpB;AACF,CAAC;AAEH,SAAST,UAAU,EAAEb,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["stableHash","isTimestamped","reading","temporal","recordedAt","start","end","some","value","Date","readingId","key","peripheral","id","gattDriver","protocol","signal","link","openLink","kind","status","deviceInformation","information","close"],"sourceRoot":"../../../../../src","sources":["modules/next/bluetooth/driver.ts"],"mappings":";;AAKA,SAASA,UAAU,QAAQ,kBAAe;;AAG1C;;AAyDA;;AAGA;;AAGA;AACA,MAAMC,aAAa,GAAIC,OAAoB,IAAc;EACvD,MAAMC,QAAQ,GAAGD,OAAmE;EAEpF,OAAO,CAACC,QAAQ,CAACC,UAAU,EAAED,QAAQ,CAACE,KAAK,EAAEF,QAAQ,CAACG,GAAG,CAAC,CAACC,IAAI,CAAEC,KAAK,IAAKA,KAAK,YAAYC,IAAI,CAAC;AACnG,CAAC;;AAED;AACA,MAAMC,SAAS,GAAGA,CAACC,GAAW,EAAEC,UAAsB,EAAEV,OAAoB,KAC1ED,aAAa,CAACC,OAAO,CAAC,GAAG,QAAQF,UAAU,CAAC;EAAEW,GAAG;EAAEC,UAAU,EAAEA,UAAU,CAACC,EAAE;EAAEX;AAAQ,CAAC,CAAC,EAAE,GAAG,IAAI;;AAEnG;AACA,MAAMY,UAAU,GAAGA,CAACH,GAAW,EAAEI,QAAwB,KACvD,iBAAiBH,UAAU,EAAEI,MAAM,EAAE;EACnC,MAAMC,IAAI,GAAG,MAAML,UAAU,CAACM,QAAQ,CAACF,MAAM,CAAC;EAE9C,IAAI;IACF,MAAM;MAAEG,IAAI,EAAE,QAAQ;MAAEC,MAAM,EAAE;IAAY,CAAC;IAC7C,IAAIH,IAAI,CAACI,iBAAiB,EAAE;MAC1B,MAAM;QAAEF,IAAI,EAAE,aAAa;QAAEG,WAAW,EAAEL,IAAI,CAACI;MAAkB,CAAC;IACpE;IACA,WAAW,MAAMnB,OAAO,IAAIa,QAAQ,CAACE,IAAI,CAAC,EAAE;MAC1C,MAAM;QAAEE,IAAI,EAAE,SAAS;QAAEN,EAAE,EAAEH,SAAS,CAACC,GAAG,EAAEC,UAAU,EAAEV,OAAO,CAAC;QAAEA;MAAQ,CAAC;IAC7E;IACA,MAAM;MAAEiB,IAAI,EAAE,QAAQ;MAAEC,MAAM,EAAE;IAAe,CAAC;EAClD,CAAC,SAAS;IACR,MAAMH,IAAI,CAACM,KAAK,CAAC,CAAC;EACpB;AACF,CAAC;AAEH,SAAST,UAAU,EAAEb,aAAa","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["BluetoothError","Error","name","constructor","code","message","cause","asBluetoothError","error","String"],"sourceRoot":"../../../../../src","sources":["modules/next/bluetooth/errors.ts"],"mappings":";;AAAA;;AAiBA;AACA,MAAMA,cAAc,SAASC,KAAK,CAAC;EACjC;EACgBC,IAAI,GAAG,gBAAgB;EAEhCC,WAAWA,CAEhB;EACgBC,IAAwB,EACxCC,OAAe,EACfC,KAAe,EACf;IACA,KAAK,CAACD,OAAO,EAAE;MAAEC;IAAM,CAAC,CAAC;IAAC,KAJVF,IAAwB,GAAxBA,IAAwB;EAK1C;AACF;;AAEA;AACA,MAAMG,gBAAgB,GAAGA,CAACC,KAAc,EAAEJ,IAAwB,KAChEI,KAAK,YAAYR,cAAc,GAC3BQ,KAAK,GACL,IAAIR,cAAc,CAACI,IAAI,EAAEI,KAAK,YAAYP,KAAK,GAAGO,KAAK,CAACH,OAAO,GAAGI,MAAM,CAACD,KAAK,CAAC,EAAEA,KAAK,CAAC;AAE7F,SAASD,gBAAgB,EAAEP,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["BluetoothError","Error","name","constructor","code","message","cause","asBluetoothError","error","String"],"sourceRoot":"../../../../../src","sources":["modules/next/bluetooth/errors.ts"],"mappings":";;AAAA;;AAkBA;AACA,MAAMA,cAAc,SAASC,KAAK,CAAC;EACjC;EACgBC,IAAI,GAAG,gBAAgB;EAEhCC,WAAWA,CAEhB;EACgBC,IAAwB,EACxCC,OAAe,EACfC,KAAe,EACf;IACA,KAAK,CAACD,OAAO,EAAE;MAAEC;IAAM,CAAC,CAAC;IAAC,KAJVF,IAAwB,GAAxBA,IAAwB;EAK1C;AACF;;AAEA;AACA,MAAMG,gBAAgB,GAAGA,CAACC,KAAc,EAAEJ,IAAwB,KAChEI,KAAK,YAAYR,cAAc,GAC3BQ,KAAK,GACL,IAAIR,cAAc,CAACI,IAAI,EAAEI,KAAK,YAAYP,KAAK,GAAGO,KAAK,CAACH,OAAO,GAAGI,MAAM,CAACD,KAAK,CAAC,EAAEA,KAAK,CAAC;AAE7F,SAASD,gBAAgB,EAAEP,cAAc","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ /* eslint-disable max-lines */
4
+
3
5
  import { AutoConnectBackoff } from "./auto-connect.js";
4
6
  import { Connections } from "./connections.js";
5
7
  import { matchDevice } from "./devices.js";
@@ -22,12 +24,13 @@ class BluetoothRuntime {
22
24
  held = new Set();
23
25
  backoff = new AutoConnectBackoff();
24
26
  retryTimers = new Set();
27
+ waveformListeners = new Set();
25
28
  scanRequest = 0;
26
29
  disposed = false;
27
30
  constructor(options) {
28
31
  this.options = options;
29
32
  this.readings = new ReadingLog(this.store, options.sink);
30
- this.connections = new Connections(this.store, this.readings, options.resultPolicy ?? everyReading, id => this.connectionEnded(id));
33
+ this.connections = new Connections(this.store, this.readings, options.resultPolicy ?? everyReading, id => this.connectionEnded(id), waveform => this.waveformListeners.forEach(listener => listener(waveform)));
31
34
  this.paired = new PairedDevices(paired => this.store.set({
32
35
  paired
33
36
  }), options.pairedStorage);
@@ -47,6 +50,12 @@ class BluetoothRuntime {
47
50
  /** Calls `listener` after every state change; returns the unsubscribe. */
48
51
  subscribe = listener => this.store.subscribe(listener);
49
52
 
53
+ /** Calls `listener` with the live ECG samples of recording devices, for display; returns the unsubscribe. */
54
+ subscribeWaveform = listener => {
55
+ this.waveformListeners.add(listener);
56
+ return () => this.waveformListeners.delete(listener);
57
+ };
58
+
50
59
  /** Reads the permission without prompting. */
51
60
  async checkPermission() {
52
61
  return this.recordPermission(await this.options.permissions.check());
@@ -106,6 +115,17 @@ class BluetoothRuntime {
106
115
  await this.connections.connect(peripheral, match.driver);
107
116
  }
108
117
 
118
+ /**
119
+ * Stops the recording a connected recorder holds open, for instance once the user confirms it while
120
+ * its `recording.leadOffSince` is set. The stored recording then arrives as a reading.
121
+ *
122
+ * @throws BluetoothError `no-open-recording` when the device holds none; `runtime-disposed` after `dispose`.
123
+ */
124
+ async stopRecording(deviceId) {
125
+ this.assertLive();
126
+ await this.connections.stopRecording(deviceId);
127
+ }
128
+
109
129
  /** Disconnects a device; a paired one stays disconnected until `connect` or `pair` is called again. */
110
130
  async disconnect(deviceId) {
111
131
  this.held.add(deviceId);
@@ -1 +1 @@
1
- {"version":3,"names":["AutoConnectBackoff","Connections","matchDevice","BluetoothError","PairedDevices","ReadingLog","everyReading","ScanLoop","SnapshotStore","BluetoothRuntime","store","known","Map","held","Set","backoff","retryTimers","scanRequest","disposed","constructor","options","readings","sink","connections","resultPolicy","id","connectionEnded","paired","set","pairedStorage","scan","scanner","peripheral","found","unwatchAdapter","watchState","adapter","sync","checkPermission","catch","undefined","getSnapshot","get","subscribe","listener","recordPermission","permissions","check","requestPermission","request","openPermissionSettings","openSettings","startScan","assertLive","permission","scanning","stopScan","connect","deviceId","match","require","delete","driver","disconnect","add","pair","forget","remove","retrySaves","dispose","close","forEach","clearTimeout","disconnectAll","devices","advertisement","device","key","name","connection","error","connectIfPaired","waiting","has","isActive","allows","succeeded","restartScan","timer","setTimeout","failed","running","restart"],"sourceRoot":"../../../../../src","sources":["modules/next/bluetooth/runtime.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AutoConnectBackoff","Connections","matchDevice","BluetoothError","PairedDevices","ReadingLog","everyReading","ScanLoop","SnapshotStore","BluetoothRuntime","store","known","Map","held","Set","backoff","retryTimers","waveformListeners","scanRequest","disposed","constructor","options","readings","sink","connections","resultPolicy","id","connectionEnded","waveform","forEach","listener","paired","set","pairedStorage","scan","scanner","peripheral","found","unwatchAdapter","watchState","adapter","sync","checkPermission","catch","undefined","getSnapshot","get","subscribe","subscribeWaveform","add","delete","recordPermission","permissions","check","requestPermission","request","openPermissionSettings","openSettings","startScan","assertLive","permission","scanning","stopScan","connect","deviceId","match","require","driver","stopRecording","disconnect","pair","forget","remove","retrySaves","dispose","close","clearTimeout","disconnectAll","devices","advertisement","device","key","name","connection","error","connectIfPaired","waiting","has","isActive","allows","succeeded","restartScan","timer","setTimeout","failed","running","restart"],"sourceRoot":"../../../../../src","sources":["modules/next/bluetooth/runtime.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"bt-provider-child-wrapper.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/components/bt-provider-child-wrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAsCjF,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,SAAS,cAAc,EAAE,EAAE,mWAqBvE,KAAK,CAAC,iBAAiB,CACxB,2BAA2B,CAAC,CAAC,CAAC,GAAG;IAAE,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,CACxE,sBAkiBF,CAAC"}
1
+ {"version":3,"file":"bt-provider-child-wrapper.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/components/bt-provider-child-wrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAsCjF,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,SAAS,cAAc,EAAE,EAAE,mWAqBvE,KAAK,CAAC,iBAAiB,CACxB,2BAA2B,CAAC,CAAC,CAAC,GAAG;IAAE,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,CACxE,sBAijBF,CAAC"}
@@ -7,6 +7,7 @@ import { DeviceData } from "../types/device-data";
7
7
  import { DeviceKey } from "../types/device-key";
8
8
  import { DeviceStatus } from "../types/device-status";
9
9
  import { DeviceStatusChangeCallback } from "../types/device-status-change-callback";
10
+ import { DeviceWaveform } from "../types/device-waveform";
10
11
  import { ErrorCallback } from "../types/error-callback";
11
12
  import { ResultCallback } from "../types/result-callback";
12
13
  /** Typed union exposed when a host listens to every accepted device. */
@@ -60,6 +61,8 @@ export interface RuntimeEventMap {
60
61
  result: RuntimeResult;
61
62
  /** A connection lifecycle event occurred. */
62
63
  connection: RuntimeConnectionEvent;
64
+ /** A recording device sent live ECG samples; for display, never stored. */
65
+ waveform: DeviceWaveform;
63
66
  }
64
67
  /** Name of an event the runtime emits. */
65
68
  export type RuntimeEvent = keyof RuntimeEventMap;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-context.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/hooks/runtime-context.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-context.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/hooks/runtime-context.tsx"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@ export * from "./types/bluetooth-error";
41
41
  export * from "./types/bluetooth-permission-status";
42
42
  export * from "./types/device-status-change-callback";
43
43
  export * from "./types/device-connection-event";
44
+ export * from "./types/device-waveform";
44
45
  export * from "./types/result-policy";
45
46
  export * from "./types/measurement-series";
46
47
  export * from "./types/clock-sync";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/bt-management/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/bt-management/index.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { ClockSyncOptions } from "../types/clock-sync";
5
5
  import { DeviceConnectionEvent } from "../types/device-connection-event";
6
6
  import { DeviceKeyOf } from "../types/device-key-of";
7
7
  import { DeviceStatusChangeCallback } from "../types/device-status-change-callback";
8
+ import { DeviceWaveform } from "../types/device-waveform";
8
9
  import { ErrorCallback } from "../types/error-callback";
9
10
  import { OpenSeries } from "../types/measurement-series";
10
11
  import { ResultCallback } from "../types/result-callback";
@@ -150,6 +151,8 @@ declare class BTManager<T extends readonly AcceptedDevice[]> {
150
151
  onDeviceStatusChanged: (callback?: (data: DeviceStatusChangeCallback) => void) => void;
151
152
  /** Sets the callback called for device connection events. */
152
153
  onConnectionEvent: (callback?: (data: DeviceConnectionEvent) => void) => void;
154
+ /** Sets the callback called with the live ECG samples of recording devices; for display, never saved. */
155
+ onWaveform: (callback?: (waveform: DeviceWaveform) => void) => void;
153
156
  /** Sets the callback called with each result; series that closed while nobody listened are delivered first. */
154
157
  onResult: (callback?: (data: ResultCallback<DeviceKeyOf<T>>) => void) => void;
155
158
  private onResultCallback?;
@@ -157,6 +160,7 @@ declare class BTManager<T extends readonly AcceptedDevice[]> {
157
160
  private onDeviceFoundCallback?;
158
161
  private onDeviceStatusChangedCallback?;
159
162
  private onConnectionEventCallback?;
163
+ private onWaveformCallback?;
160
164
  private onScanResult;
161
165
  private queueAutoConnect;
162
166
  /** Connecting without a timeout leaves the request with the system until the device is in range. */
@@ -1 +1 @@
1
- {"version":3,"file":"bt-manager.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/bt-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bt-manager.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/bt-manager.ts"],"names":[],"mappings":"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"}
@@ -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;AA4M9D;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,IAAI,MAAM,EACV,MAAM,gBAAgB,EACtB,cAAc,SAAS,MAAM,EAAE,KAC9B,cAAc,GAAG,SA8GnB,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;AAsP9D;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,IAAI,MAAM,EACV,MAAM,gBAAgB,EACtB,cAAc,SAAS,MAAM,EAAE,KAC9B,cAAc,GAAG,SA8GnB,CAAC"}
@@ -8,6 +8,7 @@ import { DeviceData } from "../../types/device-data";
8
8
  import { DeviceKey } from "../../types/device-key";
9
9
  import { MeasurementTypeForDevices } from "../../types/device-measurement-map";
10
10
  import { DeviceStatus } from "../../types/device-status";
11
+ import { DeviceWaveform } from "../../types/device-waveform";
11
12
  import { FrameReader } from "../../types/frame-reader";
12
13
  import { IBTManagedDevice } from "../../types/i-bt-managed-device";
13
14
  import { IMedicalDevice } from "../../types/i-medical-device";
@@ -118,13 +119,15 @@ export declare abstract class BTManagedDevice<T extends DeviceKey = IntegratedDe
118
119
  onDeviceDisconnected?: () => void;
119
120
  /** Called for connection lifecycle events such as connected, bonded or history download. */
120
121
  onConnectionEvent?: (data: DeviceConnectionEvent) => void;
122
+ /** Called with the ECG samples of each realtime answer while a recorder records; for display only. */
123
+ onWaveform?: (waveform: DeviceWaveform) => void;
121
124
  /** How results of this kind are reported. */
122
125
  protected policyFor: (measurementTypeKey: MeasurementTypeKey) => ResultPolicy;
123
126
  /** Reports a sequencer's result; the cast to this device's result type lives here once. */
124
127
  protected reportResult: (result: object) => void;
125
128
  constructor(
126
129
  /** The underlying BLE device. */
127
- device: Device, { deviceName, onError: onErrorCallback, onDeviceStatusChanged: onDeviceStatusChangedCallback, onResult: onResultCallback, onSeriesValue: onSeriesValueCallback, onConnectionEvent: onConnectionEventCallback, onDeviceDisconnected: onDeviceDisconnectedCallback, oneReadingPerConnection, resultPolicy, clockSync, }: CreateDeviceParams<T>);
130
+ device: Device, { deviceName, onError: onErrorCallback, onDeviceStatusChanged: onDeviceStatusChangedCallback, onResult: onResultCallback, onSeriesValue: onSeriesValueCallback, onConnectionEvent: onConnectionEventCallback, onWaveform: onWaveformCallback, onDeviceDisconnected: onDeviceDisconnectedCallback, oneReadingPerConnection, resultPolicy, clockSync, }: CreateDeviceParams<T>);
128
131
  /** Stops the connection and data processing and clears the callbacks. */
129
132
  destroy: () => void;
130
133
  /** Stops this device's subscriptions and closes its BLE connection. */