@ovok/native 1.6.24 → 1.6.25

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 (106) hide show
  1. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js +1 -1
  2. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -1
  3. package/lib/commonjs/modules/bt-device/constants/supported-devices.js +1 -1
  4. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
  5. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js +7 -1
  6. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  7. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +37 -0
  8. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  9. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +7 -1
  10. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  11. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.device-names.js +13 -4
  12. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.device-names.js.map +1 -1
  13. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.name-match.js +3 -0
  14. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.name-match.js.map +1 -1
  15. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +2 -0
  16. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  17. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.ecg-device.js +24 -3
  18. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.ecg-device.js.map +1 -1
  19. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.ecg-record.js +98 -0
  20. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.ecg-record.js.map +1 -0
  21. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.js +215 -55
  22. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.js.map +1 -1
  23. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +16 -3
  24. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  25. package/lib/commonjs/modules/bt-management/types/clock-sync.js +1 -0
  26. package/lib/commonjs/modules/bt-management/types/clock-sync.js.map +1 -1
  27. package/lib/commonjs/modules/bt-management/utils/convert-ecg-diagnostic-flag.js +19 -27
  28. package/lib/commonjs/modules/bt-management/utils/convert-ecg-diagnostic-flag.js.map +1 -1
  29. package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js +2 -2
  30. package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -1
  31. package/lib/module/modules/bt-device/constants/supported-devices.js +1 -1
  32. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
  33. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js +7 -1
  34. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  35. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +37 -0
  36. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  37. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +7 -1
  38. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  39. package/lib/module/modules/bt-management/services/devices/lepu/lepu.device-names.js +13 -3
  40. package/lib/module/modules/bt-management/services/devices/lepu/lepu.device-names.js.map +1 -1
  41. package/lib/module/modules/bt-management/services/devices/lepu/lepu.name-match.js +4 -1
  42. package/lib/module/modules/bt-management/services/devices/lepu/lepu.name-match.js.map +1 -1
  43. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +2 -0
  44. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  45. package/lib/module/modules/bt-management/services/devices/veroval/veroval.ecg-device.js +24 -3
  46. package/lib/module/modules/bt-management/services/devices/veroval/veroval.ecg-device.js.map +1 -1
  47. package/lib/module/modules/bt-management/services/devices/veroval/veroval.ecg-record.js +92 -0
  48. package/lib/module/modules/bt-management/services/devices/veroval/veroval.ecg-record.js.map +1 -0
  49. package/lib/module/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.js +211 -50
  50. package/lib/module/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.js.map +1 -1
  51. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +16 -3
  52. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  53. package/lib/module/modules/bt-management/types/clock-sync.js +1 -0
  54. package/lib/module/modules/bt-management/types/clock-sync.js.map +1 -1
  55. package/lib/module/modules/bt-management/types/device-measurement-map.js.map +1 -1
  56. package/lib/module/modules/bt-management/utils/convert-ecg-diagnostic-flag.js +19 -27
  57. package/lib/module/modules/bt-management/utils/convert-ecg-diagnostic-flag.js.map +1 -1
  58. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -1
  59. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  60. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  61. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts +8 -0
  62. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  63. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  64. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.device-names.d.ts +9 -3
  65. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.device-names.d.ts.map +1 -1
  66. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.name-match.d.ts.map +1 -1
  67. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +3 -1
  68. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  69. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.ecg-device.d.ts +2 -1
  70. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.ecg-device.d.ts.map +1 -1
  71. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.ecg-record.d.ts +41 -0
  72. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.ecg-record.d.ts.map +1 -0
  73. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.d.ts +50 -18
  74. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.d.ts.map +1 -1
  75. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  76. package/lib/typescript/commonjs/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
  77. package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts +10 -0
  78. package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
  79. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +4 -1
  80. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  81. package/lib/typescript/commonjs/src/modules/bt-management/utils/convert-ecg-diagnostic-flag.d.ts.map +1 -1
  82. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -1
  83. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  84. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  85. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts +8 -0
  86. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  87. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  88. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.device-names.d.ts +9 -3
  89. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.device-names.d.ts.map +1 -1
  90. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.name-match.d.ts.map +1 -1
  91. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +3 -1
  92. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  93. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.ecg-device.d.ts +2 -1
  94. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.ecg-device.d.ts.map +1 -1
  95. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.ecg-record.d.ts +41 -0
  96. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.ecg-record.d.ts.map +1 -0
  97. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.d.ts +50 -18
  98. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.d.ts.map +1 -1
  99. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  100. package/lib/typescript/module/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
  101. package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts +10 -0
  102. package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
  103. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +4 -1
  104. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  105. package/lib/typescript/module/src/modules/bt-management/utils/convert-ecg-diagnostic-flag.d.ts.map +1 -1
  106. package/package.json +1 -1
@@ -27,6 +27,7 @@ export const clockSyncCapabilityForDevice = deviceName => {
27
27
  switch (deviceName) {
28
28
  case IntegratedDevices.BC01:
29
29
  case IntegratedDevices.MYSENSE:
30
+ case IntegratedDevices.VEROVAL_ECG:
30
31
  return "supported";
31
32
  case IntegratedDevices.VEROVAL_ACTIVITY:
32
33
  return "unsupported";
@@ -1 +1 @@
1
- {"version":3,"names":["IntegratedDevices","isClockSyncEnabled","options","enabled","getClockParts","date","timezone","year","getUTCFullYear","month","getUTCMonth","day","getUTCDate","hours","getUTCHours","minutes","getUTCMinutes","seconds","getUTCSeconds","milliseconds","getUTCMilliseconds","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","clockSyncCapabilityForDevice","deviceName","BC01","MYSENSE","VEROVAL_ACTIVITY"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/clock-sync.ts"],"mappings":";;AAAA;;AAEA,SAASA,iBAAiB,QAAQ,yBAAsB;AAkBxD,OAAO,MAAMC,kBAAkB,GAAIC,OAA0B,IAC3DA,OAAO,EAAEC,OAAO,KAAK,KAAK;AAE5B,OAAO,MAAMC,aAAa,GAAGA,CAC3BC,IAAU,EACVC,QAA2B,GAAG,OAAO,KAErCA,QAAQ,KAAK,KAAK,GACd;EACEC,IAAI,EAAEF,IAAI,CAACG,cAAc,CAAC,CAAC;EAC3BC,KAAK,EAAEJ,IAAI,CAACK,WAAW,CAAC,CAAC,GAAG,CAAC;EAC7BC,GAAG,EAAEN,IAAI,CAACO,UAAU,CAAC,CAAC;EACtBC,KAAK,EAAER,IAAI,CAACS,WAAW,CAAC,CAAC;EACzBC,OAAO,EAAEV,IAAI,CAACW,aAAa,CAAC,CAAC;EAC7BC,OAAO,EAAEZ,IAAI,CAACa,aAAa,CAAC,CAAC;EAC7BC,YAAY,EAAEd,IAAI,CAACe,kBAAkB,CAAC;AACxC,CAAC,GACD;EACEb,IAAI,EAAEF,IAAI,CAACgB,WAAW,CAAC,CAAC;EACxBZ,KAAK,EAAEJ,IAAI,CAACiB,QAAQ,CAAC,CAAC,GAAG,CAAC;EAC1BX,GAAG,EAAEN,IAAI,CAACkB,OAAO,CAAC,CAAC;EACnBV,KAAK,EAAER,IAAI,CAACmB,QAAQ,CAAC,CAAC;EACtBT,OAAO,EAAEV,IAAI,CAACoB,UAAU,CAAC,CAAC;EAC1BR,OAAO,EAAEZ,IAAI,CAACqB,UAAU,CAAC,CAAC;EAC1BP,YAAY,EAAEd,IAAI,CAACsB,eAAe,CAAC;AACrC,CAAC;;AAEP;AACA,OAAO,MAAMC,4BAA4B,GACvCC,UAAkB,IACM;EACxB,QAAQA,UAAU;IAChB,KAAK7B,iBAAiB,CAAC8B,IAAI;IAC3B,KAAK9B,iBAAiB,CAAC+B,OAAO;MAC5B,OAAO,WAAW;IACpB,KAAK/B,iBAAiB,CAACgC,gBAAgB;MACrC,OAAO,aAAa;IACtB;MACE,OAAO,SAAS;EACpB;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["IntegratedDevices","isClockSyncEnabled","options","enabled","getClockParts","date","timezone","year","getUTCFullYear","month","getUTCMonth","day","getUTCDate","hours","getUTCHours","minutes","getUTCMinutes","seconds","getUTCSeconds","milliseconds","getUTCMilliseconds","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","clockSyncCapabilityForDevice","deviceName","BC01","MYSENSE","VEROVAL_ECG","VEROVAL_ACTIVITY"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/clock-sync.ts"],"mappings":";;AAAA;;AAEA,SAASA,iBAAiB,QAAQ,yBAAsB;AAkBxD,OAAO,MAAMC,kBAAkB,GAAIC,OAA0B,IAC3DA,OAAO,EAAEC,OAAO,KAAK,KAAK;AAE5B,OAAO,MAAMC,aAAa,GAAGA,CAC3BC,IAAU,EACVC,QAA2B,GAAG,OAAO,KAErCA,QAAQ,KAAK,KAAK,GACd;EACEC,IAAI,EAAEF,IAAI,CAACG,cAAc,CAAC,CAAC;EAC3BC,KAAK,EAAEJ,IAAI,CAACK,WAAW,CAAC,CAAC,GAAG,CAAC;EAC7BC,GAAG,EAAEN,IAAI,CAACO,UAAU,CAAC,CAAC;EACtBC,KAAK,EAAER,IAAI,CAACS,WAAW,CAAC,CAAC;EACzBC,OAAO,EAAEV,IAAI,CAACW,aAAa,CAAC,CAAC;EAC7BC,OAAO,EAAEZ,IAAI,CAACa,aAAa,CAAC,CAAC;EAC7BC,YAAY,EAAEd,IAAI,CAACe,kBAAkB,CAAC;AACxC,CAAC,GACD;EACEb,IAAI,EAAEF,IAAI,CAACgB,WAAW,CAAC,CAAC;EACxBZ,KAAK,EAAEJ,IAAI,CAACiB,QAAQ,CAAC,CAAC,GAAG,CAAC;EAC1BX,GAAG,EAAEN,IAAI,CAACkB,OAAO,CAAC,CAAC;EACnBV,KAAK,EAAER,IAAI,CAACmB,QAAQ,CAAC,CAAC;EACtBT,OAAO,EAAEV,IAAI,CAACoB,UAAU,CAAC,CAAC;EAC1BR,OAAO,EAAEZ,IAAI,CAACqB,UAAU,CAAC,CAAC;EAC1BP,YAAY,EAAEd,IAAI,CAACsB,eAAe,CAAC;AACrC,CAAC;;AAEP;AACA,OAAO,MAAMC,4BAA4B,GACvCC,UAAkB,IACM;EACxB,QAAQA,UAAU;IAChB,KAAK7B,iBAAiB,CAAC8B,IAAI;IAC3B,KAAK9B,iBAAiB,CAAC+B,OAAO;IAC9B,KAAK/B,iBAAiB,CAACgC,WAAW;MAChC,OAAO,WAAW;IACpB,KAAKhC,iBAAiB,CAACiC,gBAAgB;MACrC,OAAO,aAAa;IACtB;MACE,OAAO,SAAS;EACpB;AACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["IntegratedDevices"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/device-measurement-map.ts"],"mappings":";;AAYA,SAASA,iBAAiB,QAAQ,yBAAsB;;AA4CxD;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["IntegratedDevices"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/device-measurement-map.ts"],"mappings":";;AAYA,SAASA,iBAAiB,QAAQ,yBAAsB;;AAgDxD;AACA;AACA;AACA","ignoreList":[]}
@@ -2,33 +2,25 @@
2
2
 
3
3
  import { EcgDiagnosticFlag } from "@ovok/core";
4
4
  export function convertEcgDiagnosticFlag(diagnosticFlag) {
5
- switch (diagnosticFlag) {
6
- case "00000000":
7
- return EcgDiagnosticFlag.REGULAR;
8
- case "ffffffff":
9
- return EcgDiagnosticFlag.POOR_WAVEFORM;
10
- case "feffffff":
11
- return EcgDiagnosticFlag.LEAD_OFF;
12
- case "01000000":
13
- return EcgDiagnosticFlag.HIGH_HR;
14
- case "02000000":
15
- return EcgDiagnosticFlag.LOW_HR;
16
- case "04000000":
17
- return EcgDiagnosticFlag.RR_IRREGULAR;
18
- case "08000000":
19
- return EcgDiagnosticFlag.PVC;
20
- case "00100000":
21
- return EcgDiagnosticFlag.CARDIAC_ARREST;
22
- case "00200000":
23
- return EcgDiagnosticFlag.ATRIAL_FIBRILLATION;
24
- case "00400000":
25
- return EcgDiagnosticFlag.QRS_WIDE;
26
- case "00800000":
27
- return EcgDiagnosticFlag.QTC_LONG;
28
- case "00010000":
29
- return EcgDiagnosticFlag.QTC_SHORT;
30
- default:
31
- return EcgDiagnosticFlag.REGULAR;
5
+ const normalized = diagnosticFlag.toLowerCase();
6
+ if (normalized === "ffffffff") {
7
+ return EcgDiagnosticFlag.POOR_WAVEFORM;
32
8
  }
9
+ if (normalized === "feffffff") {
10
+ return EcgDiagnosticFlag.LEAD_OFF;
11
+ }
12
+ if (!/^[0-9a-f]{8}$/.test(normalized)) {
13
+ return EcgDiagnosticFlag.ERROR;
14
+ }
15
+ const bytes = normalized.match(/../g) ?? [];
16
+ const bitmask = bytes.reduce((value, byte, index) => value | Number.parseInt(byte, 16) << index * 8, 0);
17
+ if (bitmask === 0) {
18
+ return EcgDiagnosticFlag.REGULAR;
19
+ }
20
+
21
+ // @ovok/core currently stores one diagnostic flag. Preserve the most clinically
22
+ // meaningful finding when firmware sets several bits, with AF taking precedence.
23
+ const priority = [[0x20, EcgDiagnosticFlag.ATRIAL_FIBRILLATION], [0x10, EcgDiagnosticFlag.CARDIAC_ARREST], [0x40, EcgDiagnosticFlag.QRS_WIDE], [0x80, EcgDiagnosticFlag.QTC_LONG], [0x100, EcgDiagnosticFlag.QTC_SHORT], [0x01, EcgDiagnosticFlag.HIGH_HR], [0x02, EcgDiagnosticFlag.LOW_HR], [0x04, EcgDiagnosticFlag.RR_IRREGULAR], [0x08, EcgDiagnosticFlag.PVC]];
24
+ return priority.find(([bit]) => (bitmask & bit) !== 0)?.[1] ?? EcgDiagnosticFlag.ERROR;
33
25
  }
34
26
  //# sourceMappingURL=convert-ecg-diagnostic-flag.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["EcgDiagnosticFlag","convertEcgDiagnosticFlag","diagnosticFlag","REGULAR","POOR_WAVEFORM","LEAD_OFF","HIGH_HR","LOW_HR","RR_IRREGULAR","PVC","CARDIAC_ARREST","ATRIAL_FIBRILLATION","QRS_WIDE","QTC_LONG","QTC_SHORT"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/utils/convert-ecg-diagnostic-flag.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,YAAY;AAE9C,OAAO,SAASC,wBAAwBA,CACtCC,cAAsB,EACH;EACnB,QAAQA,cAAc;IACpB,KAAK,UAAU;MACb,OAAOF,iBAAiB,CAACG,OAAO;IAClC,KAAK,UAAU;MACb,OAAOH,iBAAiB,CAACI,aAAa;IACxC,KAAK,UAAU;MACb,OAAOJ,iBAAiB,CAACK,QAAQ;IACnC,KAAK,UAAU;MACb,OAAOL,iBAAiB,CAACM,OAAO;IAClC,KAAK,UAAU;MACb,OAAON,iBAAiB,CAACO,MAAM;IACjC,KAAK,UAAU;MACb,OAAOP,iBAAiB,CAACQ,YAAY;IACvC,KAAK,UAAU;MACb,OAAOR,iBAAiB,CAACS,GAAG;IAC9B,KAAK,UAAU;MACb,OAAOT,iBAAiB,CAACU,cAAc;IACzC,KAAK,UAAU;MACb,OAAOV,iBAAiB,CAACW,mBAAmB;IAC9C,KAAK,UAAU;MACb,OAAOX,iBAAiB,CAACY,QAAQ;IACnC,KAAK,UAAU;MACb,OAAOZ,iBAAiB,CAACa,QAAQ;IACnC,KAAK,UAAU;MACb,OAAOb,iBAAiB,CAACc,SAAS;IACpC;MACE,OAAOd,iBAAiB,CAACG,OAAO;EACpC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["EcgDiagnosticFlag","convertEcgDiagnosticFlag","diagnosticFlag","normalized","toLowerCase","POOR_WAVEFORM","LEAD_OFF","test","ERROR","bytes","match","bitmask","reduce","value","byte","index","Number","parseInt","REGULAR","priority","ATRIAL_FIBRILLATION","CARDIAC_ARREST","QRS_WIDE","QTC_LONG","QTC_SHORT","HIGH_HR","LOW_HR","RR_IRREGULAR","PVC","find","bit"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/utils/convert-ecg-diagnostic-flag.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,YAAY;AAE9C,OAAO,SAASC,wBAAwBA,CACtCC,cAAsB,EACH;EACnB,MAAMC,UAAU,GAAGD,cAAc,CAACE,WAAW,CAAC,CAAC;EAE/C,IAAID,UAAU,KAAK,UAAU,EAAE;IAC7B,OAAOH,iBAAiB,CAACK,aAAa;EACxC;EAEA,IAAIF,UAAU,KAAK,UAAU,EAAE;IAC7B,OAAOH,iBAAiB,CAACM,QAAQ;EACnC;EAEA,IAAI,CAAC,eAAe,CAACC,IAAI,CAACJ,UAAU,CAAC,EAAE;IACrC,OAAOH,iBAAiB,CAACQ,KAAK;EAChC;EAEA,MAAMC,KAAK,GAAGN,UAAU,CAACO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;EAE3C,MAAMC,OAAO,GAAGF,KAAK,CAACG,MAAM,CAC1B,CAACC,KAAK,EAAEC,IAAI,EAAEC,KAAK,KAAKF,KAAK,GAAIG,MAAM,CAACC,QAAQ,CAACH,IAAI,EAAE,EAAE,CAAC,IAAKC,KAAK,GAAG,CAAG,EAC1E,CACF,CAAC;EAED,IAAIJ,OAAO,KAAK,CAAC,EAAE;IACjB,OAAOX,iBAAiB,CAACkB,OAAO;EAClC;;EAEA;EACA;EACA,MAAMC,QAAgD,GAAG,CACvD,CAAC,IAAI,EAAEnB,iBAAiB,CAACoB,mBAAmB,CAAC,EAC7C,CAAC,IAAI,EAAEpB,iBAAiB,CAACqB,cAAc,CAAC,EACxC,CAAC,IAAI,EAAErB,iBAAiB,CAACsB,QAAQ,CAAC,EAClC,CAAC,IAAI,EAAEtB,iBAAiB,CAACuB,QAAQ,CAAC,EAClC,CAAC,KAAK,EAAEvB,iBAAiB,CAACwB,SAAS,CAAC,EACpC,CAAC,IAAI,EAAExB,iBAAiB,CAACyB,OAAO,CAAC,EACjC,CAAC,IAAI,EAAEzB,iBAAiB,CAAC0B,MAAM,CAAC,EAChC,CAAC,IAAI,EAAE1B,iBAAiB,CAAC2B,YAAY,CAAC,EACtC,CAAC,IAAI,EAAE3B,iBAAiB,CAAC4B,GAAG,CAAC,CAC9B;EAED,OACET,QAAQ,CAACU,IAAI,CAAC,CAAC,CAACC,GAAG,CAAC,KAAK,CAACnB,OAAO,GAAGmB,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IACpD9B,iBAAiB,CAACQ,KAAK;AAE3B","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"supported-device-catalog-entries.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/supported-device-catalog-entries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAuF3D,eAAO,MAAM,0BAA0B,8PA0GQ,CAAC"}
1
+ {"version":3,"file":"supported-device-catalog-entries.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/supported-device-catalog-entries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA4F3D,eAAO,MAAM,0BAA0B,8PA0GQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"supported-devices.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/supported-devices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAiDhF,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,yBAAyB,GAAG,eAAe,GAAG;IAEjD,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,gBAAgB,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAeF;;;;;;;GAOG;AACH,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qPAuMkC,CAAC;AAsMhD,+FAA+F;AAC/F,QAAA,MAAM,gBAAgB,EAAE,SAAS,yBAAyB,EAQxD,CAAC;AAEH,QAAA,MAAM,iBAAiB,sCAAmB,CAAC;AAK3C,iFAAiF;AACjF,QAAA,MAAM,0BAA0B,EAAE,SAAS,cAAc,EAMxD,CAAC;AAEF,OAAO,EACL,OAAO,EACP,0BAA0B,EAC1B,iBAAiB,EACjB,gBAAgB,GACjB,CAAC;AACF,YAAY,EAAE,eAAe,EAAE,yBAAyB,EAAE,CAAC"}
1
+ {"version":3,"file":"supported-devices.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/supported-devices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAiDhF,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,yBAAyB,GAAG,eAAe,GAAG;IAEjD,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,gBAAgB,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAeF;;;;;;;GAOG;AACH,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qPAuMkC,CAAC;AAyMhD,+FAA+F;AAC/F,QAAA,MAAM,gBAAgB,EAAE,SAAS,yBAAyB,EAQxD,CAAC;AAEH,QAAA,MAAM,iBAAiB,sCAAmB,CAAC;AAK3C,iFAAiF;AACjF,QAAA,MAAM,0BAA0B,EAAE,SAAS,cAAc,EAMxD,CAAC;AAEF,OAAO,EACL,OAAO,EACP,0BAA0B,EAC1B,iBAAiB,EACjB,gBAAgB,GACjB,CAAC;AACF,YAAY,EAAE,eAAe,EAAE,yBAAyB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bp2.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.device.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAK9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAKvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAUpD,4DAA4D;AAC5D,QAAA,MAAM,4BAA4B,WAAW,CAAC;AAI9C,cAAM,SAAU,SAAQ,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAC5D,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,uBAAuB,CAAqB;IACpD,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAsB;IAC5D,OAAO,CAAC,cAAc,CAGlB;IACJ,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAmB;IACrD,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAS;gBAGzC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAMnD,SAAS,CAAC,aAAa,EAAE,MAAM,IAAI,CAKjC;IAEF,SAAS,CAAC,sBAAsB,QAAO,gBAAgB,CA4BrD;IAEF,SAAS,CAAC,WAAW,EAAE,cAAc,CAAwB;IAC7D,SAAS,CAAC,YAAY,EAAE,MAAM,CAAqB;IAEnD,SAAS,CAAC,mBAAmB,CAC3B,aAAa,EAAE,uBAAuB,CACpC,yBAAyB,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CACnD,EACD,eAAe,EAAE,MAAM,EAAE,GACxB,IAAI,GAAG,OAAO;IA0BjB,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,eAAe;IA2CvB,OAAO,CAAC,yBAAyB;IAuBjC,OAAO,CAAC,+BAA+B;IAwCvC,OAAO,CAAC,kBAAkB,CAYxB;IAEF,OAAO,CAAC,YAAY,CAeF;IAElB,OAAO,CAAC,iBAAiB,CAkDvB;IAEF,OAAO,CAAC,oBAAoB,CAwB1B;IAEF,OAAO,CAAC,kBAAkB,CAIxB;IAEF,OAAO,CAAC,oBAAoB,CAO1B;IAEF,OAAO,CAAC,qBAAqB;CAoD9B;AAED,OAAO,EAAE,SAAS,EAAE,4BAA4B,EAAE,CAAC"}
1
+ {"version":3,"file":"bp2.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.device.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAK9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAKvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAUpD,4DAA4D;AAC5D,QAAA,MAAM,4BAA4B,WAAW,CAAC;AAO9C,cAAM,SAAU,SAAQ,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAC5D,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,uBAAuB,CAAqB;IACpD,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAsB;IAC5D,OAAO,CAAC,cAAc,CAGlB;IACJ,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAmB;IACrD,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAS;gBAGzC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAMnD,SAAS,CAAC,aAAa,EAAE,MAAM,IAAI,CAKjC;IAEF,SAAS,CAAC,sBAAsB,QAAO,gBAAgB,CA4BrD;IAEF,SAAS,CAAC,WAAW,EAAE,cAAc,CAAwB;IAC7D,SAAS,CAAC,YAAY,EAAE,MAAM,CAAqB;IAEnD,SAAS,CAAC,mBAAmB,CAC3B,aAAa,EAAE,uBAAuB,CACpC,yBAAyB,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CACnD,EACD,eAAe,EAAE,MAAM,EAAE,GACxB,IAAI,GAAG,OAAO;IA0BjB,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,eAAe;IA+CvB,OAAO,CAAC,yBAAyB;IAuBjC,OAAO,CAAC,+BAA+B;IAiDvC,OAAO,CAAC,kBAAkB,CAYxB;IAEF,OAAO,CAAC,YAAY,CAeF;IAElB,OAAO,CAAC,iBAAiB,CAkDvB;IAEF,OAAO,CAAC,oBAAoB,CAwB1B;IAEF,OAAO,CAAC,kBAAkB,CAIxB;IAEF,OAAO,CAAC,oBAAoB,CAO1B;IAEF,OAAO,CAAC,qBAAqB;CAoD9B;AAED,OAAO,EAAE,SAAS,EAAE,4BAA4B,EAAE,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { Measurement, MeasurementTypeKey } from "@ovok/core";
2
2
  import { Device } from "react-native-ble-plx";
3
+ import { CommandTimeoutResult } from "../../types/command-sequencer";
3
4
  import { DependentResultHandlerParams } from "../../types/dependent-result-handler-params";
4
5
  import { DeviceCommand } from "../../types/device-command";
5
6
  import { DeviceStatus } from "../../types/device-status";
@@ -21,6 +22,9 @@ interface DataProcessorCallbacks<T extends Measurement> {
21
22
  nextCommand?: (frame: readonly string[]) => readonly DeviceCommand[] | undefined;
22
23
  /** Sends what `nextCommand` decided. */
23
24
  sendCommands?: (commands: readonly DeviceCommand[]) => void;
25
+ commandTimeoutMs?: () => number | undefined;
26
+ onCommandTimeout?: () => CommandTimeoutResult;
27
+ commandProgress?: (frame: readonly string[]) => "ignored" | "partial" | "complete";
24
28
  onError?: (error: Error) => void;
25
29
  handleDependentResult?: (data: DependentResultHandlerParams<T>) => DependentResultHandlerParams<T>;
26
30
  }
@@ -42,12 +46,15 @@ export declare class BTDataProcessor<T extends Measurement> {
42
46
  private readonly frameParser;
43
47
  private readonly measurementState;
44
48
  private stuckDataTimeout;
49
+ private commandTimeout;
45
50
  constructor(device: Device, mainServices: IMedicalDevice["mainService"], stuckDataTimeoutDuration: number, callbacks: DataProcessorCallbacks<T>, frameReader?: FrameReader | undefined);
46
51
  private currentUuid;
47
52
  destroy: () => void;
48
53
  processData: (uuid: string, hexValue: string[]) => void;
49
54
  /** Starts the connection watchdog once a device has received its first command. */
50
55
  armStuckTimeout: () => void;
56
+ /** Starts a protocol-specific response watchdog for the initial command. */
57
+ armCommandTimeout: () => void;
51
58
  /**
52
59
  * Drains every complete frame the buffer holds.
53
60
  *
@@ -80,6 +87,7 @@ export declare class BTDataProcessor<T extends Measurement> {
80
87
  * measurement that happens to read the same is still reported.
81
88
  */
82
89
  private startStuckTimeout;
90
+ private startCommandTimeout;
83
91
  }
84
92
  export {};
85
93
  //# sourceMappingURL=bt-data-processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bt-data-processor.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-data-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAKjF,UAAU,sBAAsB,CAAC,CAAC,SAAS,WAAW;IACpD,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1D,eAAe,CAAC,EAAE,CAChB,MAAM,EAAE,YAAY,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,KACpC,IAAI,CAAC;IACV,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,CACT,UAAU,EAAE,uBAAuB,CAAC,WAAW,CAAC,EAChD,eAAe,EAAE,MAAM,EAAE,KACtB,OAAO,GAAG,IAAI,CAAC;IAEpB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,SAAS,aAAa,EAAE,GAAG,SAAS,CAAC;IAEjF,wCAAwC;IACxC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,KAAK,IAAI,CAAC;IAE5D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,qBAAqB,CAAC,EAAE,CACtB,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,KAClC,4BAA4B,CAAC,CAAC,CAAC,CAAC;CACtC;AAED,qBAAa,eAAe,CAAC,CAAC,SAAS,WAAW;IAe9C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAlB/B;;;;;;;;OAQG;IACH,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,OAAO,CAAC,gBAAgB,CAA4C;gBAEjD,MAAM,EAAE,MAAM,EAC/B,YAAY,EAAE,cAAc,CAAC,aAAa,CAAC,EAC1B,wBAAwB,EAAE,MAAM,EAChC,SAAS,EAAE,sBAAsB,CAAC,CAAC,CAAC,EACpC,WAAW,CAAC,EAAE,WAAW,YAAA;IAU5C,OAAO,CAAC,WAAW,CAAc;IAE1B,OAAO,aAMZ;IAEK,WAAW,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,EAAE,UAgBpD;IAEF,mFAAmF;IAC5E,eAAe,aAEpB;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB,CA0B1B;IAEF;;OAEG;IACH,OAAO,CAAC,eAAe,CAQrB;IAEF;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW,CAMjB;IAEF,OAAO,CAAC,WAAW,CAuBjB;IAEF,OAAO,CAAC,kBAAkB,CAQxB;IAEF;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB,CAevB;CACH"}
1
+ {"version":3,"file":"bt-data-processor.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-data-processor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bt-managed-device.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-managed-device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bt-managed-device.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-managed-device.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAMxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAUjF,8BAAsB,eAAe,CAAC,CAAC,SAAS,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAC/E,YAAW,gBAAgB;aA+FT,MAAM,EAAE,MAAM;IA7FzB,EAAE,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAEP;IACd,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAU;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiC;IAC9D,OAAO,CAAC,4BAA4B,CAAS;IAC7C,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,wBAAwB,CAAiC;IACjE,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,kBAAkB,CAAK;IACxB,UAAU,EAAE,UAAU,CAAC;IAE9B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAE5C;;;;;;;OAOG;IACH,SAAS,CAAC,qBAAqB,CAAC,EAAE,CAChC,IAAI,EAAE,4BAA4B,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAC/D,4BAA4B,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAElE,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAE/D;;;;;;;;;OASG;IACH,SAAS,CAAC,sBAAsB,CAAC,EAAE,MAAM,gBAAgB,CAAC;IAE1D;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IAEpC;;;;;OAKG;IACH,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEhC,8EAA8E;IAC9E,SAAS,CAAC,kBAAkB,UAAS;IAErC;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACrE,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9C,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CACpC,aAAa,EAAE,uBAAuB,CAAC,WAAW,CAAC,EACnD,eAAe,EAAE,MAAM,EAAE,GACxB,IAAI,GAAG,OAAO;IAEV,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC;IACrD,qBAAqB,CAAC,EAAE,CAC7B,MAAM,EAAE,YAAY,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,KACpC,IAAI,CAAC;IACH,QAAQ,CAAC,EAAE,CAChB,IAAI,EAAE,uBAAuB,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAC1D,IAAI,CAAC;IACH,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;gBAE/C,MAAM,EAAE,MAAM,EAE9B,EACE,UAAU,EACV,OAAO,EAAE,eAAe,EACxB,qBAAqB,EAAE,6BAA6B,EACpD,QAAQ,EAAE,gBAAgB,EAC1B,iBAAiB,EAAE,yBAAyB,EAC5C,oBAAoB,EAAE,4BAA4B,EAClD,uBAAuB,EACvB,YAAY,GACb,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAwKnB,OAAO,aAWZ;IAEF,uEAAuE;IAChE,UAAU,sBAYf;IAEF,OAAO,CAAC,eAAe,CA2GrB;IAEK,OAAO,QAAO,OAAO,CAAC,IAAI,CAAC,CAchC;CACH"}
@@ -9,12 +9,18 @@
9
9
  *
10
10
  * It is that function's vocabulary, not a catalogue of everything the vendor sells: a few
11
11
  * products - the ER3 and the M12 among them - are identified elsewhere in that app and never
12
- * reach this list. `lepuNameMatch` accepts a name that is absent, and derives no exclusions
13
- * for it, which is correct exactly when no name here extends it.
12
+ * reach this list. The first-word names below are compared against the complete first token of
13
+ * the advertisement, not as an open-ended prefix: `O2` must not claim `O2Ring`, and `BabyO2`
14
+ * must not claim `BabyO2N`.
14
15
  *
15
16
  * They are held here as a flat vocabulary rather than an ordered cascade, because
16
17
  * `lepuNameMatch` derives the exclusions from the list itself. Adding a name automatically
17
18
  * narrows every name it extends, which an ordered list would leave to whoever inserted it.
18
19
  */
19
- export declare const LEPU_DEVICE_NAMES: readonly string[];
20
+ declare const LEPU_DEVICE_NAMES: readonly string[];
21
+ /** Names the vendor matches by the complete first word of the advertisement. */
22
+ declare const LEPU_FIRST_WORD_DEVICE_NAMES: readonly string[];
23
+ /** Fetal-doppler and massager names from the vendor vocabulary, kept out of the SDK catalog. */
24
+ declare const LEPU_CATALOG_EXCLUDED_DEVICE_NAMES: readonly string[];
25
+ export { LEPU_CATALOG_EXCLUDED_DEVICE_NAMES, LEPU_DEVICE_NAMES, LEPU_FIRST_WORD_DEVICE_NAMES, };
20
26
  //# sourceMappingURL=lepu.device-names.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lepu.device-names.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.device-names.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAsM9C,CAAC"}
1
+ {"version":3,"file":"lepu.device-names.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.device-names.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,iBAAiB,EAAE,SAAS,MAAM,EA0OvC,CAAC;AAEF,gFAAgF;AAChF,QAAA,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAqClD,CAAC;AAEF,gGAAgG;AAChG,QAAA,MAAM,kCAAkC,EAAE,SAAS,MAAM,EAGxD,CAAC;AAEF,OAAO,EACL,kCAAkC,EAClC,iBAAiB,EACjB,4BAA4B,GAC7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lepu.name-match.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.name-match.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,MAAM,EACZ,aAAY,SAAS,MAAM,EAAsB,KAChD,MASF,CAAC"}
1
+ {"version":3,"file":"lepu.name-match.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.name-match.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,MAAM,EACZ,aAAY,SAAS,MAAM,EAAsB,KAChD,MAaF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { CustomCaseSpec } from "../../../types/custom-case-spec";
2
- import { CustomDeviceDefinition } from "../../../types/custom-device-definition";
2
+ import { CustomDeviceDefinition, CustomReadingDecorator } from "../../../types/custom-device-definition";
3
3
  /**
4
4
  * The characteristics each group of products exposes, read from the vendor's own managers.
5
5
  *
@@ -43,6 +43,8 @@ declare const lepuTransports: {
43
43
  };
44
44
  type LepuTransportName = keyof typeof lepuTransports;
45
45
  interface LepuDeviceParams {
46
+ /** Adds protocol metadata or rejects a decoded reading before it is emitted. */
47
+ decorateReading?: CustomReadingDecorator;
46
48
  /** Reported back as deviceData.name, and must not collide with a built-in device. */
47
49
  id?: string;
48
50
  /** The name the hardware advertises. */
@@ -1 +1 @@
1
- {"version":3,"file":"lepu.transports.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.transports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAyEjF;;;;;;;GAOG;AACH,QAAA,MAAM,cAAc;;;;;;;IAQlB,8EAA8E;;;;;;;;;;;;;;;;;;;;;;;;;CA4B9B,CAAC;AAEnD,KAAK,iBAAiB,GAAG,MAAM,OAAO,cAAc,CAAC;AAErD,UAAU,gBAAgB;IAExB,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B,oFAAoF;IACpF,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAE9B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC;IAElC,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,mFAAmF;IACnF,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,YAAY,CAAC,EAAE,KAAK,CAAC;IAErB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE/B;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B,KAAK,EAAE,cAAc,EAAE,CAAC;IAExB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAID,QAAA,MAAM,UAAU,GAAI,QAAQ,gBAAgB,KAAG,sBA8C9C,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"lepu.transports.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.transports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,yCAAyC,CAAC;AAyEjD;;;;;;;GAOG;AACH,QAAA,MAAM,cAAc;;;;;;;IAQlB,8EAA8E;;;;;;;;;;;;;;;;;;;;;;;;;CA4B9B,CAAC;AAEnD,KAAK,iBAAiB,GAAG,MAAM,OAAO,cAAc,CAAC;AAErD,UAAU,gBAAgB;IAExB,gFAAgF;IAChF,eAAe,CAAC,EAAE,sBAAsB,CAAC;IAEzC,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B,oFAAoF;IACpF,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAE9B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC;IAElC,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,mFAAmF;IACnF,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,YAAY,CAAC,EAAE,KAAK,CAAC;IAErB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE/B;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B,KAAK,EAAE,cAAc,EAAE,CAAC;IAExB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAID,QAAA,MAAM,UAAU,GAAI,QAAQ,gBAAgB,KAAG,sBAgD9C,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -22,9 +22,10 @@ export declare class VerovalEcgDevice extends BTManagedDevice<IntegratedDevices.
22
22
  protected mainServices: IService[];
23
23
  protected validatePackage: () => boolean;
24
24
  protected createCommandSequencer: () => VerovalEcgTransfer;
25
+ private readonly clockSync;
25
26
  constructor(device: Device, params: CreateDeviceParams<IntegratedDevices.VEROVAL_ECG>);
26
27
  /** Nothing is reported per packet; the transfer reports the recording when it is whole. */
27
28
  protected handleSuccessResult(): void;
28
- private reportRecording;
29
+ private reportRecord;
29
30
  }
30
31
  //# sourceMappingURL=veroval.ecg-device.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"veroval.ecg-device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.ecg-device.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAgC5D;;;;;;;;;;GAUG;AACH,qBAAa,gBAAiB,SAAQ,eAAe,CAAC,iBAAiB,CAAC,WAAW,CAAC;IAClF,SAAS,CAAC,gBAAgB,SAAoB;IAC9C,UAAmB,YAAY,SAAiB;IAChD,SAAS,CAAC,aAAa,YAAa;IAEpC,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,CAKhC;IAEF,UAAmB,eAAe,QAAO,OAAO,CAAS;IAEzD,UAAmB,sBAAsB,2BAIpC;gBAGH,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,WAAW,CAAC;IAK3D,2FAA2F;IAC3F,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAIrC,OAAO,CAAC,eAAe,CAerB;CACH"}
1
+ {"version":3,"file":"veroval.ecg-device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.ecg-device.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAUvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAgC5D;;;;;;;;;;GAUG;AACH,qBAAa,gBAAiB,SAAQ,eAAe,CAAC,iBAAiB,CAAC,WAAW,CAAC;IAClF,SAAS,CAAC,gBAAgB,SAAoB;IAC9C,UAAmB,YAAY,SAAiB;IAChD,SAAS,CAAC,aAAa,YAAa;IAEpC,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,CAKhC;IAEF,UAAmB,eAAe,QAAO,OAAO,CAAS;IAEzD,UAAmB,sBAAsB,2BAKpC;IAEL,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiE;gBAGzF,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,WAAW,CAAC;IAM3D,2FAA2F;IAC3F,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAIrC,OAAO,CAAC,YAAY,CA2ClB;CACH"}
@@ -0,0 +1,41 @@
1
+ import { BloodPressureMeasurement, EcgDiagnosticFlag, EcgMeasurement } from "@ovok/core";
2
+ declare const HEADER_BYTES = 80;
3
+ declare const ECG_RECORD_TYPE = 38;
4
+ declare const RECORD_TYPE_OFFSET = 71;
5
+ declare const RAW_SIZE_OFFSET = 40;
6
+ declare const USER_OFFSET = 44;
7
+ declare const BP_ERROR_OFFSET = 62;
8
+ declare const BP_PULSE_OFFSET = 63;
9
+ declare const BP_SYSTOLIC_OFFSET = 64;
10
+ declare const BP_DIASTOLIC_OFFSET = 66;
11
+ interface VerovalEcgHeader {
12
+ bytes: readonly string[];
13
+ sequence: number;
14
+ recordedAt?: Date;
15
+ memorySlot: 1 | 2;
16
+ rawSize: number;
17
+ heartRate: number;
18
+ diagnosticResult?: EcgDiagnosticFlag;
19
+ calibration?: {
20
+ physicalMinimumMicrovolts: number;
21
+ physicalMaximumMicrovolts: number;
22
+ digitalMinimum: number;
23
+ digitalMaximum: number;
24
+ };
25
+ isEcg: boolean;
26
+ hasError: boolean;
27
+ }
28
+ interface VerovalEcgRecord extends EcgMeasurement {
29
+ id: string;
30
+ memorySlot: 1 | 2;
31
+ }
32
+ interface VerovalBloodPressureRecord extends BloodPressureMeasurement {
33
+ id: string;
34
+ memorySlot: 1 | 2;
35
+ }
36
+ declare const parseVerovalEcgHeader: (bytes: readonly string[]) => VerovalEcgHeader | undefined;
37
+ declare const verovalRecordId: (header: VerovalEcgHeader) => string;
38
+ declare const parseVerovalBloodPressureRecord: (header: VerovalEcgHeader) => VerovalBloodPressureRecord | undefined;
39
+ export { BP_DIASTOLIC_OFFSET, BP_ERROR_OFFSET, BP_PULSE_OFFSET, BP_SYSTOLIC_OFFSET, ECG_RECORD_TYPE, HEADER_BYTES, parseVerovalBloodPressureRecord, parseVerovalEcgHeader, RECORD_TYPE_OFFSET, RAW_SIZE_OFFSET, USER_OFFSET, verovalRecordId, };
40
+ export type { VerovalBloodPressureRecord, VerovalEcgHeader, VerovalEcgRecord, };
41
+ //# sourceMappingURL=veroval.ecg-record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"veroval.ecg-record.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.ecg-record.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EAEf,MAAM,YAAY,CAAC;AAIpB,QAAA,MAAM,YAAY,KAAK,CAAC;AACxB,QAAA,MAAM,eAAe,KAAK,CAAC;AAE3B,QAAA,MAAM,kBAAkB,KAAK,CAAC;AAC9B,QAAA,MAAM,eAAe,KAAK,CAAC;AAC3B,QAAA,MAAM,WAAW,KAAK,CAAC;AAEvB,QAAA,MAAM,eAAe,KAAK,CAAC;AAC3B,QAAA,MAAM,eAAe,KAAK,CAAC;AAC3B,QAAA,MAAM,kBAAkB,KAAK,CAAC;AAC9B,QAAA,MAAM,mBAAmB,KAAK,CAAC;AAuF/B,UAAU,gBAAgB;IACxB,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC,WAAW,CAAC,EAAE;QACZ,yBAAyB,EAAE,MAAM,CAAC;QAClC,yBAAyB,EAAE,MAAM,CAAC;QAClC,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,gBAAiB,SAAQ,cAAc;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;CACnB;AAED,UAAU,0BAA2B,SAAQ,wBAAwB;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;CACnB;AAED,QAAA,MAAM,qBAAqB,GACzB,OAAO,SAAS,MAAM,EAAE,KACvB,gBAAgB,GAAG,SAqBrB,CAAC;AAEF,QAAA,MAAM,eAAe,GAAI,QAAQ,gBAAgB,KAAG,MAC4C,CAAC;AAEjG,QAAA,MAAM,+BAA+B,GACnC,QAAQ,gBAAgB,KACvB,0BAA0B,GAAG,SAc/B,CAAC;AAEF,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,+BAA+B,EAC/B,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,eAAe,GAChB,CAAC;AACF,YAAY,EACV,0BAA0B,EAC1B,gBAAgB,EAChB,gBAAgB,GACjB,CAAC"}
@@ -1,35 +1,67 @@
1
- import { CommandSequencer } from "../../../types/command-sequencer";
1
+ import { ClockSyncOptions } from "../../../types/clock-sync";
2
+ import { CommandSequencer, CommandTimeoutResult } from "../../../types/command-sequencer";
2
3
  import { DeviceCommand } from "../../../types/device-command";
4
+ import { VerovalEcgHeader } from "./veroval.ecg-record";
5
+ declare const DOWNLOAD_WAIT = 0;
6
+ declare const DOWNLOAD_MODE = 1;
7
+ declare const DOWNLOAD_HEADER = 2;
8
+ declare const DOWNLOAD_RAW = 3;
9
+ declare const HEADER_PACKETS = 5;
10
+ declare const PACKETS_PER_SEGMENT = 16;
11
+ declare const SEGMENT_BYTES: number;
12
+ declare const COMMAND_TIMEOUT_MS = 3000;
13
+ declare const RAW_TIMEOUT_MS = 2000;
14
+ declare const SET_TIME_DELAY_MS = 1500;
3
15
  interface EcgTransferParams {
4
16
  /** The characteristic requests are written to. */
5
17
  write: Omit<DeviceCommand, "frame">;
6
- /** Called once, with the recording's bytes, when every segment has arrived. */
7
- onRecording: (bytes: readonly string[]) => void;
18
+ /** Called once for every valid blood-pressure header or completed ECG. */
19
+ onRecord: (record: {
20
+ header: VerovalEcgHeader;
21
+ raw?: readonly string[];
22
+ }) => void;
23
+ clockSync?: ClockSyncOptions;
8
24
  }
9
25
  /**
10
- * Downloads a recording from the Veroval ECG.
26
+ * Downloads all records from the Veroval ECG/BP monitor.
11
27
  *
12
- * The exchange is a fixed walk rather than a conversation: ask for the download mode, then
13
- * the header, then each second of the recording in turn. The device answers each request
14
- * with a known number of twenty-byte packets, sixteen payload bytes each, so the transfer is
15
- * paced by counting them. Notifications for live measurements, standby and device settings
16
- * share the characteristic, so only the download group and command advance the transfer.
17
- *
18
- * A recording is thirty-four seconds at 128 Hz. Nothing is reported until all of it has
19
- * arrived: a partial ECG that looked whole would be worse than none, and the count is what
20
- * says it is whole.
28
+ * The mode reply gives the number of records in each user memory. Headers are collected first;
29
+ * only then does the device enter raw-download mode. This matters because a blood-pressure
30
+ * record is complete in its header while an ECG needs one or more raw segments.
21
31
  */
22
- export declare class VerovalEcgTransfer implements CommandSequencer {
32
+ declare class VerovalEcgTransfer implements CommandSequencer {
23
33
  private readonly params;
24
34
  private phase;
25
- private packets;
35
+ private headerPacket;
36
+ private headerBytes;
37
+ private recordIndex;
38
+ private expectedRecords;
39
+ private headers;
40
+ private ecgHeaders;
41
+ private ecgIndex;
26
42
  private segment;
27
- private recording;
43
+ private rawPacket;
44
+ private segmentBytes;
45
+ private rawBytes;
46
+ private lastCommand;
47
+ private pendingTimeout;
48
+ private retries;
49
+ private settings;
28
50
  constructor(params: EcgTransferParams);
29
51
  initialCommands: () => readonly DeviceCommand[];
30
52
  nextCommand: (frame: readonly string[]) => readonly DeviceCommand[] | undefined;
31
- private finishSegment;
53
+ commandTimeoutMs: () => number | undefined;
54
+ onCommandTimeout: () => CommandTimeoutResult;
55
+ commandProgress: (frame: readonly string[]) => "ignored" | "partial" | "complete";
56
+ private nextSettings;
57
+ private nextMode;
58
+ private nextHeader;
59
+ private nextRaw;
60
+ private requestMode;
61
+ private requestHeader;
62
+ private requestRaw;
32
63
  private requestSegment;
64
+ private remember;
33
65
  }
34
- export {};
66
+ export { COMMAND_TIMEOUT_MS, DOWNLOAD_HEADER, DOWNLOAD_MODE, DOWNLOAD_RAW, DOWNLOAD_WAIT, HEADER_PACKETS, PACKETS_PER_SEGMENT, RAW_TIMEOUT_MS, SEGMENT_BYTES, SET_TIME_DELAY_MS, VerovalEcgTransfer, };
35
67
  //# sourceMappingURL=veroval.ecg-transfer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"veroval.ecg-transfer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAiE9D,UAAU,iBAAiB;IAEzB,kDAAkD;IAClD,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAEpC,+EAA+E;IAC/E,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;CACjD;AAID;;;;;;;;;;;;GAYG;AACH,qBAAa,kBAAmB,YAAW,gBAAgB;IAMtC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAL1C,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,SAAS,CAAgB;gBAEG,MAAM,EAAE,iBAAiB;IAEtD,eAAe,QAAO,SAAS,aAAa,EAAE,CAEnD;IAEK,WAAW,GAChB,OAAO,SAAS,MAAM,EAAE,KACvB,SAAS,aAAa,EAAE,GAAG,SAAS,CAuCrC;IAEF,OAAO,CAAC,aAAa,CAWnB;IAEF,OAAO,CAAC,cAAc,CAQpB;CACH"}
1
+ {"version":3,"file":"veroval.ecg-transfer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAqC,MAAM,2BAA2B,CAAC;AAChG,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,OAAO,EAAyB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAS/E,QAAA,MAAM,aAAa,IAAI,CAAC;AACxB,QAAA,MAAM,aAAa,IAAI,CAAC;AACxB,QAAA,MAAM,eAAe,IAAI,CAAC;AAC1B,QAAA,MAAM,YAAY,IAAI,CAAC;AAcvB,QAAA,MAAM,cAAc,IAAI,CAAC;AACzB,QAAA,MAAM,mBAAmB,KAAK,CAAC;AAC/B,QAAA,MAAM,aAAa,QAAsC,CAAC;AAE1D,QAAA,MAAM,kBAAkB,OAAQ,CAAC;AACjC,QAAA,MAAM,cAAc,OAAQ,CAAC;AAE7B,QAAA,MAAM,iBAAiB,OAAQ,CAAC;AA0EhC,UAAU,iBAAiB;IAEzB,kDAAkD;IAClD,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAEpC,0EAA0E;IAC1E,QAAQ,EAAE,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,gBAAgB,CAAC;QACzB,GAAG,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KACzB,KAAK,IAAI,CAAC;IAEX,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAID;;;;;;GAMG;AACH,cAAM,kBAAmB,YAAW,gBAAgB;IAkB/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAjB1C,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAa;gBAEO,MAAM,EAAE,iBAAiB;IAItD,eAAe,QAAO,SAAS,aAAa,EAAE,CAG5B;IAElB,WAAW,GAChB,OAAO,SAAS,MAAM,EAAE,KACvB,SAAS,aAAa,EAAE,GAAG,SAAS,CAkBrC;IAEK,gBAAgB,QAAO,MAAM,GAAG,SAAS,CACU;IAEnD,gBAAgB,QAAO,oBAAoB,CAwBhD;IAEK,eAAe,GACpB,OAAO,SAAS,MAAM,EAAE,KACvB,SAAS,GAAG,SAAS,GAAG,UAAU,CAgCnC;IAEF,OAAO,CAAC,YAAY,CAiBlB;IAEF,OAAO,CAAC,QAAQ,CAsBd;IAEF,OAAO,CAAC,UAAU,CAoDhB;IAEF,OAAO,CAAC,OAAO,CAgDb;IAEF,OAAO,CAAC,WAAW,CAIf;IAEJ,OAAO,CAAC,aAAa,CASnB;IAEF,OAAO,CAAC,UAAU,CAahB;IAEF,OAAO,CAAC,cAAc,CAcpB;IAEF,OAAO,CAAC,QAAQ,CAcd;CACH;AAED,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,kBAAkB,GACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"viatom.bp-monitors.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAsFjF,UAAU,cAAc;IAEtB,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;;;;;GAMG;AACH,QAAA,MAAM,eAAe,GACnB,gBAAgB,MAAM,EACtB,QAAQ,cAAc,KACrB,sBAWC,CAAC;AAEL,gDAAgD;AAChD,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,kFAAkF;AAClF,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,kFAAkF;AAClF,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAgBrC,CAAC;AAEF,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,eAAe,GAChB,CAAC"}
1
+ {"version":3,"file":"viatom.bp-monitors.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,sBAAsB,EAEvB,MAAM,yCAAyC,CAAC;AA0GjD,UAAU,cAAc;IAEtB,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;;;;;GAMG;AACH,QAAA,MAAM,eAAe,GACnB,gBAAgB,MAAM,EACtB,QAAQ,cAAc,KACrB,sBAYC,CAAC;AAEL,gDAAgD;AAChD,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,kFAAkF;AAClF,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,kFAAkF;AAClF,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAgBrC,CAAC;AAEF,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,eAAe,GAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"clock-sync.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/clock-sync.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;AAE1E,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,KAAK,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAE/B,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,wEAAwE;IACxE,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IAEjB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB,GAAI,UAAU,gBAAgB,KAAG,OACpC,CAAC;AAE7B,eAAO,MAAM,aAAa,GACxB,MAAM,IAAI,EACV,WAAU,iBAA2B;;;;;;;;CAoBhC,CAAC;AAER,qFAAqF;AACrF,eAAO,MAAM,4BAA4B,GACvC,YAAY,MAAM,KACjB,mBAUF,CAAC"}
1
+ {"version":3,"file":"clock-sync.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/clock-sync.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;AAE1E,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,KAAK,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAE/B,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,wEAAwE;IACxE,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IAEjB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB,GAAI,UAAU,gBAAgB,KAAG,OACpC,CAAC;AAE7B,eAAO,MAAM,aAAa,GACxB,MAAM,IAAI,EACV,WAAU,iBAA2B;;;;;;;;CAoBhC,CAAC;AAER,qFAAqF;AACrF,eAAO,MAAM,4BAA4B,GACvC,YAAY,MAAM,KACjB,mBAWF,CAAC"}
@@ -1,4 +1,8 @@
1
1
  import { DeviceCommand } from "./device-command";
2
+ export interface CommandTimeoutResult {
3
+ commands?: readonly DeviceCommand[];
4
+ terminal?: boolean;
5
+ }
2
6
  /**
3
7
  * Decides what to send a device, and when.
4
8
  *
@@ -22,6 +26,12 @@ export interface CommandSequencer {
22
26
  * on the hardware actually present.
23
27
  */
24
28
  nextCommand(frame: readonly string[]): readonly DeviceCommand[] | undefined;
29
+ /** The response timeout for the currently outstanding command, when a protocol needs one. */
30
+ commandTimeoutMs?(): number | undefined;
31
+ /** Re-sends the current command or ends the exchange after a response timeout. */
32
+ onCommandTimeout?(): CommandTimeoutResult;
33
+ /** Describes whether a frame is ignored, partial, or completes the outstanding command. */
34
+ commandProgress?(frame: readonly string[]): "ignored" | "partial" | "complete";
25
35
  /** True when a timeout-style disconnect is the device's normal completion signal. */
26
36
  isNormalDisconnect?(): boolean;
27
37
  /** True when accepted results are records downloaded from device history. */
@@ -1 +1 @@
1
- {"version":3,"file":"command-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/command-sequencer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB;IAE/B,6FAA6F;IAC7F,eAAe,IAAI,SAAS,aAAa,EAAE,CAAC;IAE5C;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,aAAa,EAAE,GAAG,SAAS,CAAC;IAE5E,qFAAqF;IACrF,kBAAkB,CAAC,IAAI,OAAO,CAAC;IAE/B,6EAA6E;IAC7E,iBAAiB,CAAC,IAAI,OAAO,CAAC;CAC/B"}
1
+ {"version":3,"file":"command-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/command-sequencer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB;IAE/B,6FAA6F;IAC7F,eAAe,IAAI,SAAS,aAAa,EAAE,CAAC;IAE5C;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,aAAa,EAAE,GAAG,SAAS,CAAC;IAE5E,6FAA6F;IAC7F,gBAAgB,CAAC,IAAI,MAAM,GAAG,SAAS,CAAC;IAExC,kFAAkF;IAClF,gBAAgB,CAAC,IAAI,oBAAoB,CAAC;IAE1C,2FAA2F;IAC3F,eAAe,CAAC,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAE/E,qFAAqF;IACrF,kBAAkB,CAAC,IAAI,OAAO,CAAC;IAE/B,6EAA6E;IAC7E,iBAAiB,CAAC,IAAI,OAAO,CAAC;CAC/B"}
@@ -15,6 +15,9 @@ type ActivityStepCountMeasurement = {
15
15
  start?: Date;
16
16
  end?: Date;
17
17
  };
18
+ type VerovalEcgMeasurement = EcgMeasurement & {
19
+ memorySlot?: number;
20
+ };
18
21
  interface DeviceMeasurementMap {
19
22
  [IntegratedDevices.F4]: BodyWeightMeasurement;
20
23
  [IntegratedDevices.BP2]: BloodPressureMeasurement | EcgMeasurement;
@@ -29,7 +32,7 @@ interface DeviceMeasurementMap {
29
32
  [IntegratedDevices.COSINUSS]: never;
30
33
  [IntegratedDevices.BC01]: UrineAnalyzeMeasurement;
31
34
  [IntegratedDevices.VEROVAL_DUO_CONTROL]: BloodPressureMeasurement;
32
- [IntegratedDevices.VEROVAL_ECG]: EcgMeasurement;
35
+ [IntegratedDevices.VEROVAL_ECG]: VerovalEcgMeasurement | BloodPressureMeasurement;
33
36
  [IntegratedDevices.VEROVAL_ACTIVITY]: ActivityHeartRateMeasurement | ActivityStepCountMeasurement;
34
37
  [IntegratedDevices.FORA_SCALE]: never;
35
38
  [IntegratedDevices.RPM_SCALE]: never;
@@ -1 +1 @@
1
- {"version":3,"file":"device-measurement-map.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/device-measurement-map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device-measurement-map.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/device-measurement-map.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"convert-ecg-diagnostic-flag.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/utils/convert-ecg-diagnostic-flag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,MAAM,GACrB,iBAAiB,CA6BnB"}
1
+ {"version":3,"file":"convert-ecg-diagnostic-flag.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/utils/convert-ecg-diagnostic-flag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,MAAM,GACrB,iBAAiB,CA4CnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"supported-device-catalog-entries.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/supported-device-catalog-entries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAuF3D,eAAO,MAAM,0BAA0B,8PA0GQ,CAAC"}
1
+ {"version":3,"file":"supported-device-catalog-entries.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/supported-device-catalog-entries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA4F3D,eAAO,MAAM,0BAA0B,8PA0GQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"supported-devices.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/supported-devices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAiDhF,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,yBAAyB,GAAG,eAAe,GAAG;IAEjD,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,gBAAgB,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAeF;;;;;;;GAOG;AACH,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qPAuMkC,CAAC;AAsMhD,+FAA+F;AAC/F,QAAA,MAAM,gBAAgB,EAAE,SAAS,yBAAyB,EAQxD,CAAC;AAEH,QAAA,MAAM,iBAAiB,sCAAmB,CAAC;AAK3C,iFAAiF;AACjF,QAAA,MAAM,0BAA0B,EAAE,SAAS,cAAc,EAMxD,CAAC;AAEF,OAAO,EACL,OAAO,EACP,0BAA0B,EAC1B,iBAAiB,EACjB,gBAAgB,GACjB,CAAC;AACF,YAAY,EAAE,eAAe,EAAE,yBAAyB,EAAE,CAAC"}
1
+ {"version":3,"file":"supported-devices.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/supported-devices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAiDhF,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,yBAAyB,GAAG,eAAe,GAAG;IAEjD,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,gBAAgB,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAeF;;;;;;;GAOG;AACH,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qPAuMkC,CAAC;AAyMhD,+FAA+F;AAC/F,QAAA,MAAM,gBAAgB,EAAE,SAAS,yBAAyB,EAQxD,CAAC;AAEH,QAAA,MAAM,iBAAiB,sCAAmB,CAAC;AAK3C,iFAAiF;AACjF,QAAA,MAAM,0BAA0B,EAAE,SAAS,cAAc,EAMxD,CAAC;AAEF,OAAO,EACL,OAAO,EACP,0BAA0B,EAC1B,iBAAiB,EACjB,gBAAgB,GACjB,CAAC;AACF,YAAY,EAAE,eAAe,EAAE,yBAAyB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bp2.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.device.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAK9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAKvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAUpD,4DAA4D;AAC5D,QAAA,MAAM,4BAA4B,WAAW,CAAC;AAI9C,cAAM,SAAU,SAAQ,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAC5D,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,uBAAuB,CAAqB;IACpD,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAsB;IAC5D,OAAO,CAAC,cAAc,CAGlB;IACJ,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAmB;IACrD,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAS;gBAGzC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAMnD,SAAS,CAAC,aAAa,EAAE,MAAM,IAAI,CAKjC;IAEF,SAAS,CAAC,sBAAsB,QAAO,gBAAgB,CA4BrD;IAEF,SAAS,CAAC,WAAW,EAAE,cAAc,CAAwB;IAC7D,SAAS,CAAC,YAAY,EAAE,MAAM,CAAqB;IAEnD,SAAS,CAAC,mBAAmB,CAC3B,aAAa,EAAE,uBAAuB,CACpC,yBAAyB,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CACnD,EACD,eAAe,EAAE,MAAM,EAAE,GACxB,IAAI,GAAG,OAAO;IA0BjB,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,eAAe;IA2CvB,OAAO,CAAC,yBAAyB;IAuBjC,OAAO,CAAC,+BAA+B;IAwCvC,OAAO,CAAC,kBAAkB,CAYxB;IAEF,OAAO,CAAC,YAAY,CAeF;IAElB,OAAO,CAAC,iBAAiB,CAkDvB;IAEF,OAAO,CAAC,oBAAoB,CAwB1B;IAEF,OAAO,CAAC,kBAAkB,CAIxB;IAEF,OAAO,CAAC,oBAAoB,CAO1B;IAEF,OAAO,CAAC,qBAAqB;CAoD9B;AAED,OAAO,EAAE,SAAS,EAAE,4BAA4B,EAAE,CAAC"}
1
+ {"version":3,"file":"bp2.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.device.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAK9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAKvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAUpD,4DAA4D;AAC5D,QAAA,MAAM,4BAA4B,WAAW,CAAC;AAO9C,cAAM,SAAU,SAAQ,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAC5D,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,uBAAuB,CAAqB;IACpD,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAsB;IAC5D,OAAO,CAAC,cAAc,CAGlB;IACJ,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAmB;IACrD,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAS;gBAGzC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAMnD,SAAS,CAAC,aAAa,EAAE,MAAM,IAAI,CAKjC;IAEF,SAAS,CAAC,sBAAsB,QAAO,gBAAgB,CA4BrD;IAEF,SAAS,CAAC,WAAW,EAAE,cAAc,CAAwB;IAC7D,SAAS,CAAC,YAAY,EAAE,MAAM,CAAqB;IAEnD,SAAS,CAAC,mBAAmB,CAC3B,aAAa,EAAE,uBAAuB,CACpC,yBAAyB,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CACnD,EACD,eAAe,EAAE,MAAM,EAAE,GACxB,IAAI,GAAG,OAAO;IA0BjB,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,eAAe;IA+CvB,OAAO,CAAC,yBAAyB;IAuBjC,OAAO,CAAC,+BAA+B;IAiDvC,OAAO,CAAC,kBAAkB,CAYxB;IAEF,OAAO,CAAC,YAAY,CAeF;IAElB,OAAO,CAAC,iBAAiB,CAkDvB;IAEF,OAAO,CAAC,oBAAoB,CAwB1B;IAEF,OAAO,CAAC,kBAAkB,CAIxB;IAEF,OAAO,CAAC,oBAAoB,CAO1B;IAEF,OAAO,CAAC,qBAAqB;CAoD9B;AAED,OAAO,EAAE,SAAS,EAAE,4BAA4B,EAAE,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { Measurement, MeasurementTypeKey } from "@ovok/core";
2
2
  import { Device } from "react-native-ble-plx";
3
+ import { CommandTimeoutResult } from "../../types/command-sequencer";
3
4
  import { DependentResultHandlerParams } from "../../types/dependent-result-handler-params";
4
5
  import { DeviceCommand } from "../../types/device-command";
5
6
  import { DeviceStatus } from "../../types/device-status";
@@ -21,6 +22,9 @@ interface DataProcessorCallbacks<T extends Measurement> {
21
22
  nextCommand?: (frame: readonly string[]) => readonly DeviceCommand[] | undefined;
22
23
  /** Sends what `nextCommand` decided. */
23
24
  sendCommands?: (commands: readonly DeviceCommand[]) => void;
25
+ commandTimeoutMs?: () => number | undefined;
26
+ onCommandTimeout?: () => CommandTimeoutResult;
27
+ commandProgress?: (frame: readonly string[]) => "ignored" | "partial" | "complete";
24
28
  onError?: (error: Error) => void;
25
29
  handleDependentResult?: (data: DependentResultHandlerParams<T>) => DependentResultHandlerParams<T>;
26
30
  }
@@ -42,12 +46,15 @@ export declare class BTDataProcessor<T extends Measurement> {
42
46
  private readonly frameParser;
43
47
  private readonly measurementState;
44
48
  private stuckDataTimeout;
49
+ private commandTimeout;
45
50
  constructor(device: Device, mainServices: IMedicalDevice["mainService"], stuckDataTimeoutDuration: number, callbacks: DataProcessorCallbacks<T>, frameReader?: FrameReader | undefined);
46
51
  private currentUuid;
47
52
  destroy: () => void;
48
53
  processData: (uuid: string, hexValue: string[]) => void;
49
54
  /** Starts the connection watchdog once a device has received its first command. */
50
55
  armStuckTimeout: () => void;
56
+ /** Starts a protocol-specific response watchdog for the initial command. */
57
+ armCommandTimeout: () => void;
51
58
  /**
52
59
  * Drains every complete frame the buffer holds.
53
60
  *
@@ -80,6 +87,7 @@ export declare class BTDataProcessor<T extends Measurement> {
80
87
  * measurement that happens to read the same is still reported.
81
88
  */
82
89
  private startStuckTimeout;
90
+ private startCommandTimeout;
83
91
  }
84
92
  export {};
85
93
  //# sourceMappingURL=bt-data-processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bt-data-processor.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-data-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAKjF,UAAU,sBAAsB,CAAC,CAAC,SAAS,WAAW;IACpD,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1D,eAAe,CAAC,EAAE,CAChB,MAAM,EAAE,YAAY,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,KACpC,IAAI,CAAC;IACV,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,CACT,UAAU,EAAE,uBAAuB,CAAC,WAAW,CAAC,EAChD,eAAe,EAAE,MAAM,EAAE,KACtB,OAAO,GAAG,IAAI,CAAC;IAEpB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,SAAS,aAAa,EAAE,GAAG,SAAS,CAAC;IAEjF,wCAAwC;IACxC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,KAAK,IAAI,CAAC;IAE5D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,qBAAqB,CAAC,EAAE,CACtB,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,KAClC,4BAA4B,CAAC,CAAC,CAAC,CAAC;CACtC;AAED,qBAAa,eAAe,CAAC,CAAC,SAAS,WAAW;IAe9C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAlB/B;;;;;;;;OAQG;IACH,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,OAAO,CAAC,gBAAgB,CAA4C;gBAEjD,MAAM,EAAE,MAAM,EAC/B,YAAY,EAAE,cAAc,CAAC,aAAa,CAAC,EAC1B,wBAAwB,EAAE,MAAM,EAChC,SAAS,EAAE,sBAAsB,CAAC,CAAC,CAAC,EACpC,WAAW,CAAC,EAAE,WAAW,YAAA;IAU5C,OAAO,CAAC,WAAW,CAAc;IAE1B,OAAO,aAMZ;IAEK,WAAW,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,EAAE,UAgBpD;IAEF,mFAAmF;IAC5E,eAAe,aAEpB;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB,CA0B1B;IAEF;;OAEG;IACH,OAAO,CAAC,eAAe,CAQrB;IAEF;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW,CAMjB;IAEF,OAAO,CAAC,WAAW,CAuBjB;IAEF,OAAO,CAAC,kBAAkB,CAQxB;IAEF;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB,CAevB;CACH"}
1
+ {"version":3,"file":"bt-data-processor.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-data-processor.ts"],"names":[],"mappings":"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"}