@ovok/native 1.16.1-dev.2175 → 1.16.1-dev.2179

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 (89) hide show
  1. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js +16 -6
  2. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  3. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.frame-reader.js +2 -2
  4. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.frame-reader.js.map +1 -1
  5. package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -1
  6. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +33 -12
  7. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  8. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.advertisement.js +19 -2
  9. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.advertisement.js.map +1 -1
  10. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js +18 -3
  11. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js.map +1 -1
  12. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.encryption-handshake.js +103 -0
  13. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.encryption-handshake.js.map +1 -0
  14. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.frame-reader.js +4 -2
  15. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.frame-reader.js.map +1 -1
  16. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.session.js +49 -0
  17. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.session.js.map +1 -0
  18. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +4 -4
  19. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +0 -1
  20. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  21. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +19 -8
  22. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  23. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js +16 -6
  24. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  25. package/lib/module/modules/bt-management/services/devices/bp2/bp2.frame-reader.js +2 -3
  26. package/lib/module/modules/bt-management/services/devices/bp2/bp2.frame-reader.js.map +1 -1
  27. package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -1
  28. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +33 -12
  29. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  30. package/lib/module/modules/bt-management/services/devices/lepu/lepu.advertisement.js +17 -1
  31. package/lib/module/modules/bt-management/services/devices/lepu/lepu.advertisement.js.map +1 -1
  32. package/lib/module/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js +18 -3
  33. package/lib/module/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js.map +1 -1
  34. package/lib/module/modules/bt-management/services/devices/lepu/lepu.encryption-handshake.js +99 -0
  35. package/lib/module/modules/bt-management/services/devices/lepu/lepu.encryption-handshake.js.map +1 -0
  36. package/lib/module/modules/bt-management/services/devices/lepu/lepu.frame-reader.js +4 -2
  37. package/lib/module/modules/bt-management/services/devices/lepu/lepu.frame-reader.js.map +1 -1
  38. package/lib/module/modules/bt-management/services/devices/lepu/lepu.session.js +45 -0
  39. package/lib/module/modules/bt-management/services/devices/lepu/lepu.session.js.map +1 -0
  40. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +4 -4
  41. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +0 -1
  42. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  43. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +19 -8
  44. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  45. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts +1 -0
  46. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  47. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.frame-reader.d.ts +2 -1
  48. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.frame-reader.d.ts.map +1 -1
  49. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts +2 -2
  50. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -1
  51. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +6 -0
  52. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  53. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.advertisement.d.ts +8 -1
  54. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.advertisement.d.ts.map +1 -1
  55. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts +2 -1
  56. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts.map +1 -1
  57. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.encryption-handshake.d.ts +20 -0
  58. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.encryption-handshake.d.ts.map +1 -0
  59. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.frame-reader.d.ts +3 -1
  60. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.frame-reader.d.ts.map +1 -1
  61. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.session.d.ts +17 -0
  62. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.session.d.ts.map +1 -0
  63. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  64. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  65. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +4 -1
  66. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  67. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts +1 -0
  68. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  69. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.frame-reader.d.ts +2 -1
  70. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.frame-reader.d.ts.map +1 -1
  71. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts +2 -2
  72. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -1
  73. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +6 -0
  74. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  75. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.advertisement.d.ts +8 -1
  76. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.advertisement.d.ts.map +1 -1
  77. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts +2 -1
  78. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts.map +1 -1
  79. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.encryption-handshake.d.ts +20 -0
  80. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.encryption-handshake.d.ts.map +1 -0
  81. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.frame-reader.d.ts +3 -1
  82. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.frame-reader.d.ts.map +1 -1
  83. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.session.d.ts +17 -0
  84. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.session.d.ts.map +1 -0
  85. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  86. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  87. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +4 -1
  88. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  89. package/package.json +1 -1
@@ -17,6 +17,8 @@ var _i16FromHex = require("../../../utils/i-16-from-hex.js");
17
17
  var _le16FromHex = require("../../../utils/le-16-from-hex.js");
18
18
  var _le32FromHex = require("../../../utils/le-32-from-hex.js");
19
19
  var _btManagedDevice = require("../bt-managed-device.js");
20
+ var _lepuEncryptionHandshake = require("../lepu/lepu.encryption-handshake.js");
21
+ var _lepuSession = require("../lepu/lepu.session.js");
20
22
  var _bp2Files = require("./bp2.files.js");
21
23
  var _bp2FrameReader = require("./bp2.frame-reader.js");
22
24
  var _bp2HistorySequencer = require("./bp2.history-sequencer.js");
@@ -67,11 +69,12 @@ class BP2Device extends _btManagedDevice.BTManagedDevice {
67
69
  this.reportedFileNames.clear();
68
70
  const service = _bp2MainServices.bp2MainServices[0];
69
71
  const write = service.writeUuid;
70
- return new _bp2HistorySequencer.BP2HistorySequencer({
71
- write: {
72
- serviceUuid: service.uuid,
73
- characteristicUuid: write.uuid
74
- },
72
+ const commandTarget = {
73
+ serviceUuid: service.uuid,
74
+ characteristicUuid: write.uuid
75
+ };
76
+ const history = new _bp2HistorySequencer.BP2HistorySequencer({
77
+ write: commandTarget,
75
78
  onFile: this.handleHistoryFile,
76
79
  onError: this.handleHistoryError,
77
80
  onTransferFinished: this.reportPendingResults,
@@ -83,8 +86,15 @@ class BP2Device extends _btManagedDevice.BTManagedDevice {
83
86
  skipFiles: this.deliveredFileNames,
84
87
  clockSync: this.clockSync
85
88
  });
89
+ return (0, _lepuEncryptionHandshake.withLepuEncryption)(history, {
90
+ write: commandTarget,
91
+ session: this.lepuSession,
92
+ manufacturerData: this.device.manufacturerData ?? undefined,
93
+ onRefused: this.handleHistoryError
94
+ });
86
95
  };
87
- frameReader = new _bp2FrameReader.BP2FrameReader();
96
+ lepuSession = new _lepuSession.LepuSession();
97
+ frameReader = new _bp2FrameReader.BP2FrameReader(this.lepuSession);
88
98
  preferredMtu = _preferredMtu.PREFERRED_MTU;
89
99
  handleSuccessResult(successResult, collectedValues) {
90
100
  this.collectedValues = collectedValues;
@@ -1 +1 @@
1
- {"version":3,"names":["_next","require","_sentryLogger","_bloodPressureTranslatedExceptionMap","_measurementFeedback","_preferredMtu","_bloodPressureStates","_caseType","_deviceStatus","_hexToByte","_i16FromHex","_le16FromHex","_le32FromHex","_btManagedDevice","_bp2Files","_bp2FrameReader","_bp2HistorySequencer","_bp2MainServices","BP2_ECG_MILLIVOLTS_PER_COUNT","exports","BP2_LIVE_ECG_SAMPLES_PER_SECOND","BP2_FILE_ECG_SAMPLES_PER_SECOND","BP2_ECG_NO_VALUE","BP2_BP_NO_VALUE","BP2_PULSE_NO_VALUES","Set","BP2Device","BTManagedDevice","collectedValues","diagramPoints","duration","historyMode","historyRequested","pendingResults","Map","reportedFileNames","mainServices","bp2MainServices","stuckDataTimeout","constructor","device","params","clockSync","deliveredFileNames","deliveredEcgFileNames","onStreamStart","lastLiveResultSignature","undefined","createCommandSequencer","clear","service","write","writeUuid","BP2HistorySequencer","serviceUuid","uuid","characteristicUuid","onFile","handleHistoryFile","onError","handleHistoryError","onTransferFinished","reportPendingResults","shouldStartTransfer","onTransferRequested","onOrphanStreamEnd","skipFiles","frameReader","BP2FrameReader","preferredMtu","PREFERRED_MTU","handleSuccessResult","successResult","measurementTypeKey","caseType","Error","MeasurementTypeKey","ecg","handleEcgResult","bloodPressure","handleBloodPressureResult","CaseType","RESULT","addDeviceTimestamp","error","checkIfHasErrorForEcg","queueHistoryResult","onResult","handleEcgStream","lenL","hexToByte","lenH","dataLen","dataStart","dataEnd","data","slice","le32FromHex","sentryLogger","onDeviceStatusChanged","DeviceStatus","MEASURING","samplingNum","le16FromHex","samplesStart","i","byteIndexInData","sampleVal","i16FromHex","push","checkIfHasErrorForBloodPressure","result","recordedAt","length","recordedAtFromLocalSeconds","bpMeasurement","status","diastolic","systolic","heartRate","MeasurementFeedbackKey","DEVICE_ERROR","BloodPressureStates","REGULAR","errorString","bloodPressureTranslatedExceptionMap","get","DEVICE_INTERRUPTED","has","signature","signatureFor","set","join","diagnosticResult","file","name","decoded","decodeBP2File","content","pending","add","matchesPendingResult","delete","pendingBloodPressure","decodedBloodPressure","pendingEcg","decodedEcg","reason","forEach","samplesPerSecond","ecgMeasurement","EcgDiagnosticFlag","POOR_WAVEFORM","LEAD_OFF","INSUFFICIENT_DATA_LENGTH","expectedSamples","toleranceSamples"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_next","require","_sentryLogger","_bloodPressureTranslatedExceptionMap","_measurementFeedback","_preferredMtu","_bloodPressureStates","_caseType","_deviceStatus","_hexToByte","_i16FromHex","_le16FromHex","_le32FromHex","_btManagedDevice","_lepuEncryptionHandshake","_lepuSession","_bp2Files","_bp2FrameReader","_bp2HistorySequencer","_bp2MainServices","BP2_ECG_MILLIVOLTS_PER_COUNT","exports","BP2_LIVE_ECG_SAMPLES_PER_SECOND","BP2_FILE_ECG_SAMPLES_PER_SECOND","BP2_ECG_NO_VALUE","BP2_BP_NO_VALUE","BP2_PULSE_NO_VALUES","Set","BP2Device","BTManagedDevice","collectedValues","diagramPoints","duration","historyMode","historyRequested","pendingResults","Map","reportedFileNames","mainServices","bp2MainServices","stuckDataTimeout","constructor","device","params","clockSync","deliveredFileNames","deliveredEcgFileNames","onStreamStart","lastLiveResultSignature","undefined","createCommandSequencer","clear","service","write","writeUuid","commandTarget","serviceUuid","uuid","characteristicUuid","history","BP2HistorySequencer","onFile","handleHistoryFile","onError","handleHistoryError","onTransferFinished","reportPendingResults","shouldStartTransfer","onTransferRequested","onOrphanStreamEnd","skipFiles","withLepuEncryption","session","lepuSession","manufacturerData","onRefused","LepuSession","frameReader","BP2FrameReader","preferredMtu","PREFERRED_MTU","handleSuccessResult","successResult","measurementTypeKey","caseType","Error","MeasurementTypeKey","ecg","handleEcgResult","bloodPressure","handleBloodPressureResult","CaseType","RESULT","addDeviceTimestamp","error","checkIfHasErrorForEcg","queueHistoryResult","onResult","handleEcgStream","lenL","hexToByte","lenH","dataLen","dataStart","dataEnd","data","slice","le32FromHex","sentryLogger","onDeviceStatusChanged","DeviceStatus","MEASURING","samplingNum","le16FromHex","samplesStart","i","byteIndexInData","sampleVal","i16FromHex","push","checkIfHasErrorForBloodPressure","result","recordedAt","length","recordedAtFromLocalSeconds","bpMeasurement","status","diastolic","systolic","heartRate","MeasurementFeedbackKey","DEVICE_ERROR","BloodPressureStates","REGULAR","errorString","bloodPressureTranslatedExceptionMap","get","DEVICE_INTERRUPTED","has","signature","signatureFor","set","join","diagnosticResult","file","name","decoded","decodeBP2File","content","pending","add","matchesPendingResult","delete","pendingBloodPressure","decodedBloodPressure","pendingEcg","decodedEcg","reason","forEach","samplesPerSecond","ecgMeasurement","EcgDiagnosticFlag","POOR_WAVEFORM","LEAD_OFF","INSUFFICIENT_DATA_LENGTH","expectedSamples","toleranceSamples"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.device.ts"],"mappings":";;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AASA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,oCAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AAIA,IAAAO,aAAA,GAAAP,OAAA;AAIA,IAAAQ,UAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,YAAA,GAAAV,OAAA;AACA,IAAAW,YAAA,GAAAX,OAAA;AACA,IAAAY,gBAAA,GAAAZ,OAAA;AACA,IAAAa,wBAAA,GAAAb,OAAA;AACA,IAAAc,YAAA,GAAAd,OAAA;AAEA,IAAAe,SAAA,GAAAf,OAAA;AACA,IAAAgB,eAAA,GAAAhB,OAAA;AACA,IAAAiB,oBAAA,GAAAjB,OAAA;AACA,IAAAkB,gBAAA,GAAAlB,OAAA;AAnCA;;AAqCA;AACA;AACA;AACA;AACA;AACA,MAAMmB,4BAA4B,GAAAC,OAAA,CAAAD,4BAAA,GAAG,QAAQ;;AAE7C;AACA,MAAME,+BAA+B,GAAG,GAAG;;AAE3C;AACA,MAAMC,+BAA+B,GAAG,GAAG;AAC3C,MAAMC,gBAAgB,GAAG,MAAM;AAC/B,MAAMC,eAAe,GAAG,MAAM;AAC9B,MAAMC,mBAAmB,GAAG,IAAIC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAEF,eAAe,CAAC,CAAC;AAEnE,MAAMG,SAAS,SAASC,gCAAe,CAAwB;EACrDC,eAAe,GAAa,EAAE;EAC9BC,aAAa,GAAa,EAAE;EAC5BC,QAAQ,GAAW,CAAC;EACpBC,WAAW,GAAG,KAAK;EACnBC,gBAAgB,GAAG,KAAK;EAIxBC,cAAc,GAAG,IAAIC,GAAG,CAG9B,CAAC;EACKC,iBAAiB,GAAG,IAAIV,GAAG,CAAS,CAAC;EAEnCW,YAAY,GAAeC,gCAAe;EAC1CC,gBAAgB,GAAW,KAAK;EAEnCC,WAAWA,CAChBC,MAAc,EACdC,MAAiD,EACjD;IACA,KAAK,CAACD,MAAM,EAAEC,MAAM,CAAC;IACrB,IAAI,CAACC,SAAS,GAAGD,MAAM,CAACC,SAAS;IACjC,IAAI,CAACC,kBAAkB,GAAG,IAAIlB,GAAG,CAAC,CAChC,IAAIgB,MAAM,CAACG,qBAAqB,IAAI,EAAE,CAAC,EACvC,IAAIH,MAAM,CAACE,kBAAkB,IAAI,EAAE,CAAC,CACrC,CAAC;EACJ;EAEUE,aAAa,GAAeA,CAAA,KAAM;IAC1C,IAAI,CAACjB,eAAe,GAAG,EAAE;IACzB,IAAI,CAACC,aAAa,GAAG,EAAE;IACvB,IAAI,CAACC,QAAQ,GAAG,CAAC;IACjB,IAAI,CAACgB,uBAAuB,GAAGC,SAAS;EAC1C,CAAC;EAESC,sBAAsB,GAAGA,CAAA,KAAwB;IACzD,IAAI,CAACjB,WAAW,GAAG,IAAI;IACvB,IAAI,CAACC,gBAAgB,GAAG,KAAK;IAC7B,IAAI,CAACc,uBAAuB,GAAGC,SAAS;IACxC,IAAI,CAACd,cAAc,CAACgB,KAAK,CAAC,CAAC;IAC3B,IAAI,CAACd,iBAAiB,CAACc,KAAK,CAAC,CAAC;IAE9B,MAAMC,OAAO,GAAGb,gCAAe,CAAC,CAAC,CAAE;IACnC,MAAMc,KAAK,GAAGD,OAAO,CAACE,SAAU;IAEhC,MAAMC,aAAa,GAAG;MACpBC,WAAW,EAAEJ,OAAO,CAACK,IAAI;MACzBC,kBAAkB,EAAEL,KAAK,CAACI;IAC5B,CAAC;IAED,MAAME,OAAO,GAAG,IAAIC,wCAAmB,CAAC;MACtCP,KAAK,EAAEE,aAAa;MACpBM,MAAM,EAAE,IAAI,CAACC,iBAAiB;MAC9BC,OAAO,EAAE,IAAI,CAACC,kBAAkB;MAChCC,kBAAkB,EAAE,IAAI,CAACC,oBAAoB;MAC7CC,mBAAmB,EAAEA,CAAA,KAAM,IAAI,CAACjC,gBAAgB;MAChDkC,mBAAmB,EAAEA,CAAA,KAAM;QACzB,IAAI,CAAClC,gBAAgB,GAAG,KAAK;MAC/B,CAAC;MACDmC,iBAAiB,EAAEA,CAAA,KAAMpB,SAAS;MAClCqB,SAAS,EAAE,IAAI,CAACzB,kBAAkB;MAClCD,SAAS,EAAE,IAAI,CAACA;IAClB,CAAC,CAAC;IAEF,OAAO,IAAA2B,2CAAkB,EAACZ,OAAO,EAAE;MACjCN,KAAK,EAAEE,aAAa;MACpBiB,OAAO,EAAE,IAAI,CAACC,WAAW;MACzBC,gBAAgB,EAAE,IAAI,CAAChC,MAAM,CAACgC,gBAAgB,IAAIzB,SAAS;MAC3D0B,SAAS,EAAE,IAAI,CAACX;IAClB,CAAC,CAAC;EACJ,CAAC;EAEgBS,WAAW,GAAG,IAAIG,wBAAW,CAAC,CAAC;EACtCC,WAAW,GAAmB,IAAIC,8BAAc,CAAC,IAAI,CAACL,WAAW,CAAC;EAClEM,YAAY,GAAWC,2BAAa;EAEpCC,mBAAmBA,CAC3BC,aAEC,EACDpD,eAAyB,EACT;IAChB,IAAI,CAACA,eAAe,GAAGA,eAAe;IAEtC,IAAI,CAACoD,aAAa,CAACC,kBAAkB,IAAI,CAACD,aAAa,CAACE,QAAQ,EAAE;MAChE,IAAI,CAACrB,OAAO,GACV,IAAIsB,KAAK,CACP,0CAA0CH,aAAa,CAACE,QAAQ,EAClE,CACF,CAAC;MAED;IACF;IAEA,IAAIF,aAAa,CAACC,kBAAkB,KAAKG,wBAAkB,CAACC,GAAG,EAAE;MAC/D,OAAO,IAAI,CAACC,eAAe,CAACN,aAAa,CAAC;IAC5C;IAEA,IAAIA,aAAa,CAACC,kBAAkB,KAAKG,wBAAkB,CAACG,aAAa,EAAE;MACzE,OAAO,IAAI,CAACC,yBAAyB,CACnCR,aACF,CAAC;IACH;IAEA;EACF;EAEQM,eAAeA,CACrBN,aAAsD,EAChD;IACN,IAAIA,aAAa,CAACE,QAAQ,KAAKO,kBAAQ,CAACC,MAAM,EAAE;MAC9CV,aAAa,CAACnD,aAAa,GAAG,IAAI,CAACA,aAAa;MAChDmD,aAAa,CAAClD,QAAQ,GAAG,IAAI,CAACA,QAAQ;MACtC,IAAI,CAAC6D,kBAAkB,CAACX,aAAa,CAAC;MAEtC,MAAMY,KAAK,GAAG,IAAI,CAACC,qBAAqB,CACtCb,aAAa,EACb5D,+BACF,CAAC;MAED,IAAIwE,KAAK,EAAE;QACT,IAAI,CAAC/B,OAAO,GAAG+B,KAAK,CAAC;QAErB;MACF;MAEA,IAAI,IAAI,CAAC7D,WAAW,EAAE;QACpB,IAAI,CAAC+D,kBAAkB,CAACd,aAAa,CAAC;QAEtC;MACF;MAEA,IAAI,CAACe,QAAQ,GAAGf,aAAa,CAAC;MAE9B;IACF;IAEA,IAAI,CAACgB,eAAe,CAAC,CAAC;EACxB;EAEQA,eAAeA,CAAA,EAAS;IAC9B;IACA,MAAMC,IAAI,GAAG,IAAAC,oBAAS,EAAC,IAAI,CAACtE,eAAe,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;IACzD,MAAMuE,IAAI,GAAG,IAAAD,oBAAS,EAAC,IAAI,CAACtE,eAAe,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;IACzD,MAAMwE,OAAO,GAAGH,IAAI,GAAIE,IAAI,IAAI,CAAE;;IAElC;IACA,MAAME,SAAS,GAAG,IAAI;IACtB,MAAMC,OAAO,GAAGD,SAAS,GAAGD,OAAO;IACnC,MAAMG,IAAI,GAAG,IAAI,CAAC3E,eAAe,CAAC4E,KAAK,CAACH,SAAS,EAAEC,OAAO,CAAC;;IAE3D;IACA,MAAMxE,QAAQ,GAAG,IAAA2E,wBAAW,EAACF,IAAI,EAAE,IAAI,CAAC;IAExC,IAAIzE,QAAQ,GAAG,IAAI,CAACA,QAAQ,EAAE;MAC5B,IAAA4E,0BAAY,EAAC,MAAM,EAAE,sCAAsC,CAAC;MAC5D,IAAI,CAAC7E,aAAa,GAAG,EAAE;MACvB,IAAI,CAAC8E,qBAAqB,GACxBC,0BAAY,CAACC,SAAS,EACtBzB,wBAAkB,CAACC,GACrB,CAAC;IACH;IAEA,IAAI,CAACvD,QAAQ,GAAGA,QAAQ;;IAExB;IACA,MAAMgF,WAAW,GAAG,IAAAC,wBAAW,EAACR,IAAI,EAAE,IAAI,CAAC;;IAE3C;IACA,MAAMS,YAAY,GAAG,IAAI;IAEzB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,WAAW,EAAEG,CAAC,EAAE,EAAE;MACpC,MAAMC,eAAe,GAAGF,YAAY,GAAGC,CAAC,GAAG,CAAC;MAC5C,MAAME,SAAS,GAAG,IAAAC,sBAAU,EAACb,IAAI,EAAEW,eAAe,CAAC;MAEnD,IAAI,CAACrF,aAAa,CAACwF,IAAI,CACrBF,SAAS,KAAK7F,gBAAgB,GAC1B,CAAC,GACD6F,SAAS,GAAGjG,4BAClB,CAAC;IACH;EACF;EAEQsE,yBAAyBA,CAC/BR,aAAgE,EAC1D;IACN,IAAIA,aAAa,CAACE,QAAQ,KAAKO,kBAAQ,CAACC,MAAM,EAAE;MAC9C;IACF;IACA,IAAI,CAACC,kBAAkB,CAACX,aAAa,CAAC;IACtC,MAAMY,KAAK,GAAG,IAAI,CAAC0B,+BAA+B,CAACtC,aAAa,CAAC;IAEjE,IAAIY,KAAK,EAAE;MACT,IAAI,CAAC/B,OAAO,GAAG+B,KAAK,CAAC;MAErB;IACF;IAEA,IAAI,IAAI,CAAC7D,WAAW,EAAE;MACpB,IAAI,CAAC+D,kBAAkB,CAACd,aAAa,CAAC;MAEtC;IACF;IAEA,IAAI,CAACe,QAAQ,GAAGf,aAAa,CAAC;EAChC;EAEQW,kBAAkB,GAAI4B,MAAmB,IAAW;IAC1D,MAAMC,UAAU,GACd,IAAI,CAAC5F,eAAe,CAAC6F,MAAM,IAAI,EAAE,GAC7B,IAAAC,oCAA0B,EAAC,IAAAjB,wBAAW,EAAC,IAAI,CAAC7E,eAAe,EAAE,EAAE,CAAC,CAAC,GACjEmB,SAAS;IAEf,IAAIyE,UAAU,EAAE;MACdD,MAAM,CAACC,UAAU,GAAGA,UAAU;IAChC;EACF,CAAC;EAEOF,+BAA+BA,CACrCtC,aAAgE,EAC5C;IACpB,MAAM2C,aAAa,GAAG3C,aAAa;;IAEnC;IACA,IACE2C,aAAa,CAACC,MAAM,KAAK7E,SAAS,IAClC4E,aAAa,CAACE,SAAS,KAAK9E,SAAS,IACrC4E,aAAa,CAACG,QAAQ,KAAK/E,SAAS,IACpC4E,aAAa,CAACI,SAAS,KAAKhF,SAAS,EACrC;MACA,OAAOiF,2CAAsB,CAACC,YAAY;IAC5C;;IAEA;IACA,IAAIN,aAAa,CAACC,MAAM,KAAKM,wCAAmB,CAACC,OAAO,EAAE;MACxD,MAAMC,WAAW,GAAGC,wEAAmC,CAACC,GAAG,CACzDX,aAAa,CAACC,MAAM,IAAIM,wCAAmB,CAACD,YAC9C,CAAC;MAED,IAAIG,WAAW,KAAKrF,SAAS,EAAE;QAC7B,OAAOqF,WAAW;MACpB,CAAC,MAAM;QACL,OAAOJ,2CAAsB,CAACC,YAAY;MAC5C;IACF;;IAEA;IACA,IACEN,aAAa,CAACI,SAAS,KAAK,CAAC,IAC7BJ,aAAa,CAACE,SAAS,KAAK,CAAC,IAC7BF,aAAa,CAACG,QAAQ,KAAK,CAAC,EAC5B;MACA,OAAOE,2CAAsB,CAACO,kBAAkB;IAClD;IAEA,IACEZ,aAAa,CAACG,QAAQ,KAAKvG,eAAe,IAC1CoG,aAAa,CAACE,SAAS,KAAKtG,eAAe,IAC1CoG,aAAa,CAACI,SAAS,KAAKhF,SAAS,IACpCvB,mBAAmB,CAACgH,GAAG,CAACb,aAAa,CAACI,SAAS,CAAE,EACnD;MACA,OAAOC,2CAAsB,CAACC,YAAY;IAC5C;IAEA,OAAOlF,SAAS;EAClB;EAEQ+C,kBAAkB,GACxByB,MAA4C,IACnC;IACT,MAAMkB,SAAS,GAAG,IAAI,CAACC,YAAY,CAACnB,MAAM,CAAC;IAE3C,IAAIkB,SAAS,KAAK,IAAI,CAAC3F,uBAAuB,EAAE;MAC9C;IACF;IAEA,IAAI,CAACA,uBAAuB,GAAG2F,SAAS;IACxC,IAAI,CAACxG,cAAc,CAAC0G,GAAG,CAACpB,MAAM,CAACtC,kBAAkB,EAAEsC,MAAM,CAAC;IAC1D,IAAI,CAACvF,gBAAgB,GAAG,IAAI;EAC9B,CAAC;EAEO0G,YAAY,GAClBnB,MAA4C,IAE5CA,MAAM,CAACtC,kBAAkB,KAAKG,wBAAkB,CAACG,aAAa,GAC1D,CACEgC,MAAM,CAACtC,kBAAkB,EACxBsC,MAAM,CAA8BO,QAAQ,EAC5CP,MAAM,CAA8BM,SAAS,EAC7CN,MAAM,CAA8BQ,SAAS,EAC7CR,MAAM,CAA8BK,MAAM,CAC5C,CAACgB,IAAI,CAAC,GAAG,CAAC,GACX,CACErB,MAAM,CAACtC,kBAAkB,EACxBsC,MAAM,CAAoBQ,SAAS,EACnCR,MAAM,CAAoBsB,gBAAgB,EAC1CtB,MAAM,CAAoBzF,QAAQ,EAClCyF,MAAM,CAAoB1F,aAAa,EAAE+G,IAAI,CAAC,GAAG,CAAC,CACpD,CAACA,IAAI,CAAC,GAAG,CAAC;EAEThF,iBAAiB,GAAIkF,IAG5B,IAAW;IACV,IAAI,IAAI,CAAC3G,iBAAiB,CAACqG,GAAG,CAACM,IAAI,CAACC,IAAI,CAAC,EAAE;MACzC;IACF;IAEA,MAAMC,OAAO,GAAG,IAAAC,uBAAa,EAACH,IAAI,CAACC,IAAI,EAAED,IAAI,CAACI,OAAO,CAAC;IAEtD,IAAI,CAACF,OAAO,EAAE;MACZ;IACF;IAEA,MAAMG,OAAO,GAAG,IAAI,CAAClH,cAAc,CAACqG,GAAG,CAACU,OAAO,CAAC/D,kBAAkB,CAAC;IAEnE,IAAI,CAAC9C,iBAAiB,CAACiH,GAAG,CAACN,IAAI,CAACC,IAAI,CAAC;IAErC,MAAMxB,MAAM,GAAG;MACb,GAAGyB,OAAO;MACV9D,QAAQ,EAAEO,kBAAQ,CAACC;IACrB,CAAyC;IAEzC,MAAME,KAAK,GACT2B,MAAM,CAACtC,kBAAkB,KAAKG,wBAAkB,CAACG,aAAa,GAC1D,IAAI,CAAC+B,+BAA+B,CAClCC,MACF,CAAC,GACD,IAAI,CAAC1B,qBAAqB,CACxB0B,MAAM,EACNlG,+BACF,CAAC;IAEP,IAAIuE,KAAK,EAAE;MACT,IAAI,CAAC/B,OAAO,GAAG+B,KAAK,CAAC;MAErB;IACF;IAEA,IAAIuD,OAAO,IAAI,IAAI,CAACE,oBAAoB,CAACF,OAAO,EAAEH,OAAO,CAAC,EAAE;MAC1D,IAAI,CAAC/G,cAAc,CAACqH,MAAM,CAAC/B,MAAM,CAACtC,kBAAkB,CAAC;IACvD;IACA,IAAI,CAACc,QAAQ,GACXwB,MACF,CAAC;EACH,CAAC;EAEO8B,oBAAoB,GAAGA,CAC7BF,OAA6C,EAC7CH,OAAoB,KACR;IACZ,IAAIA,OAAO,CAAC/D,kBAAkB,KAAKG,wBAAkB,CAACG,aAAa,EAAE;MACnE,MAAMgE,oBAAoB,GAAGJ,OAAmC;MAChE,MAAMK,oBAAoB,GAAGR,OAAmC;MAEhE,OACEO,oBAAoB,CAACzB,QAAQ,KAAK0B,oBAAoB,CAAC1B,QAAQ,IAC/DyB,oBAAoB,CAAC1B,SAAS,KAAK2B,oBAAoB,CAAC3B,SAAS,IACjE0B,oBAAoB,CAACxB,SAAS,KAAKyB,oBAAoB,CAACzB,SAAS,IACjEwB,oBAAoB,CAAC3B,MAAM,KAAK4B,oBAAoB,CAAC5B,MAAM;IAE/D;IAEA,MAAM6B,UAAU,GAAGN,OAAyB;IAC5C,MAAMO,UAAU,GAAGV,OAAyB;IAE5C,OACES,UAAU,CAAC1B,SAAS,KAAK2B,UAAU,CAAC3B,SAAS,IAC7C0B,UAAU,CAACZ,gBAAgB,KAAKa,UAAU,CAACb,gBAAgB,IAC3DY,UAAU,CAAC3H,QAAQ,KAAK4H,UAAU,CAAC5H,QAAQ;EAE/C,CAAC;EAEOgC,kBAAkB,GAAI6F,MAAc,IAAW;IACrD,IAAI,CAAC9F,OAAO,GAAG,IAAIsB,KAAK,CAAC,gBAAgBwE,MAAM,EAAE,CAAC,CAAC;IAEnD,IAAI,CAAC3F,oBAAoB,CAAC,CAAC;EAC7B,CAAC;EAEOA,oBAAoB,GAAGA,CAAA,KAAY;IACzC,IAAI,CAAC/B,cAAc,CAAC2H,OAAO,CAAErC,MAAM,IACjC,IAAI,CAACxB,QAAQ,GACXwB,MACF,CACF,CAAC;IACD,IAAI,CAACtF,cAAc,CAACgB,KAAK,CAAC,CAAC;EAC7B,CAAC;EAEO4C,qBAAqBA,CAC3Bb,aAAsD,EACtD6E,gBAAwB,EACJ;IACpB,MAAMC,cAAc,GAAG9E,aAAa;IAEpC,IAAI8E,cAAc,CAACjB,gBAAgB,KAAKkB,uBAAiB,CAACC,aAAa,EAAE;MACvE,OAAOhC,2CAAsB,CAACgC,aAAa;IAC7C;IACA,IAAIF,cAAc,CAACjB,gBAAgB,KAAKkB,uBAAiB,CAACE,QAAQ,EAAE;MAClE,OAAOjC,2CAAsB,CAACiC,QAAQ;IACxC;;IAEA;IACA,IACEH,cAAc,CAACjB,gBAAgB,KAAK9F,SAAS,IAC7C+G,cAAc,CAAC/B,SAAS,KAAKhF,SAAS,IACtC+G,cAAc,CAACjI,aAAa,KAAKkB,SAAS,EAC1C;MACA,OAAOiF,2CAAsB,CAACC,YAAY;IAC5C;;IAEA;IACA,IAAI6B,cAAc,CAAC/B,SAAS,KAAK,CAAC,EAAE;MAClC,OAAOC,2CAAsB,CAACO,kBAAkB;IAClD;IAEA,IAAIuB,cAAc,CAAChI,QAAQ,KAAKiB,SAAS,IAAI+G,cAAc,CAAChI,QAAQ,GAAG,EAAE,EAAE;MACzE,OAAOkG,2CAAsB,CAACkC,wBAAwB;IACxD;IAEA,IAAIJ,cAAc,CAACjI,aAAa,CAAC4F,MAAM,KAAK,CAAC,EAAE;MAC7C,OAAOO,2CAAsB,CAACkC,wBAAwB;IACxD;IAEA,IAAIJ,cAAc,CAAChI,QAAQ,GAAG,CAAC,EAAE;MAC/B,MAAMqI,eAAe,GAAGL,cAAc,CAAChI,QAAQ,GAAG+H,gBAAgB;MAClE,MAAMO,gBAAgB,GAAGP,gBAAgB;MAEzC,IACEC,cAAc,CAACjI,aAAa,CAAC4F,MAAM,GAAG0C,eAAe,GAAGC,gBAAgB,IACxEN,cAAc,CAACjI,aAAa,CAAC4F,MAAM,GAAG0C,eAAe,GAAGC,gBAAgB,EACxE;QACA,OAAOpC,2CAAsB,CAACkC,wBAAwB;MACxD;IACF,CAAC,MAAM,IAAIJ,cAAc,CAACjI,aAAa,CAAC4F,MAAM,GAAG,IAAI,EAAE;MACrD,OAAOO,2CAAsB,CAACkC,wBAAwB;IACxD;IAEA,OAAOnH,SAAS;EAClB;AACF;AAAC5B,OAAA,CAAAO,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -15,8 +15,8 @@ const BP2_START_BYTES = ["a5"];
15
15
  * thing that makes it a BP2 is which start byte it accepts.
16
16
  */
17
17
  class BP2FrameReader extends _lepuFrameReader.LepuFrameReader {
18
- constructor() {
19
- super(BP2_START_BYTES);
18
+ constructor(session) {
19
+ super(BP2_START_BYTES, session);
20
20
  }
21
21
  }
22
22
  exports.BP2FrameReader = BP2FrameReader;
@@ -1 +1 @@
1
- {"version":3,"names":["_lepuFrameReader","require","BP2_START_BYTES","BP2FrameReader","LepuFrameReader","constructor","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.frame-reader.ts"],"mappings":";;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAEA;AACA,MAAMC,eAAe,GAAG,CAAC,IAAI,CAAC;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,cAAc,SAASC,gCAAe,CAAC;EAC3CC,WAAWA,CAAA,EAAG;IACnB,KAAK,CAACH,eAAe,CAAC;EACxB;AACF;AAACI,OAAA,CAAAH,cAAA,GAAAA,cAAA","ignoreList":[]}
1
+ {"version":3,"names":["_lepuFrameReader","require","BP2_START_BYTES","BP2FrameReader","LepuFrameReader","constructor","session","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.frame-reader.ts"],"mappings":";;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAGA;AACA,MAAMC,eAAe,GAAG,CAAC,IAAI,CAAC;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,cAAc,SAASC,gCAAe,CAAC;EAC3CC,WAAWA,CAACC,OAAqB,EAAE;IACxC,KAAK,CAACJ,eAAe,EAAEI,OAAO,CAAC;EACjC;AACF;AAACC,OAAA,CAAAJ,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_sentryLogger","require","_lepuAdvertisement","_lepuCommandBuilder","_lepuIdentityGate","_lepuTransports","DEFAULT_START_BYTE","recordLepuIdentity","deviceData","info","sn","serialNumber","sentryLogger","deviceType","protocolMaxLength","exports","createLepuSequencer","lepu","report","clockSync","manufacturerData","selected","selectLepu","LepuIdentityGate","write","serviceUuid","characteristicUuid","builder","LepuCommandBuilder","requestStartByte","startBytes","fixedSequence","protocol","writeWithoutResponse","setClockBeforeInfo","clockSyncProtocol","expectedDeviceTypes","pollCommand","undefined","pollIntervalMs","rejectEncryptionAtBytes","onIdentified","onRefused","manufacturerDataProtocol","viatomOxygenUsesV2","transport","lepuTransports","aw1","writeUuid"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom-lepu-sequencer.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAKA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AAEA,IAAAG,iBAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AAEA;AACA,MAAMK,kBAAkB,GAAG,IAAI;AAO/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAGA,CACzBC,UAAsB,EACtBC,IAAoB,KACX;EACTD,UAAU,CAACE,EAAE,GAAGD,IAAI,CAACE,YAAY;EAEjC,IAAAC,0BAAY,EAAC,MAAM,EAAE,sCAAsC,EAAE;IAC3DC,UAAU,EAAEJ,IAAI,CAACI,UAAU;IAC3BC,iBAAiB,EAAEL,IAAI,CAACK;EAC1B,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVAC,OAAA,CAAAR,kBAAA,GAAAA,kBAAA;AAWA,MAAMS,mBAAmB,GAAGA,CAC1BC,IAAoB,EACpBC,MAAsB,EACtBC,SAA4B,EAC5BC,gBAAyB,KACJ;EACrB,MAAMC,QAAQ,GAAGC,UAAU,CAACL,IAAI,EAAEG,gBAAgB,CAAC;EAEnD,OAAO,IAAIG,kCAAgB,CAAC;IAC1BC,KAAK,EAAE;MACLC,WAAW,EAAEJ,QAAQ,CAACG,KAAK,CAACC,WAAW;MACvCC,kBAAkB,EAAEL,QAAQ,CAACG,KAAK,CAACE;IACrC,CAAC;IACDC,OAAO,EAAE,IAAIC,sCAAkB,CAC7BP,QAAQ,CAACQ,gBAAgB,IAAIR,QAAQ,CAACS,UAAU,CAAC,CAAC,CAAC,IAAIxB,kBAAkB,EACzE;MAAEyB,aAAa,EAAEV,QAAQ,CAACW,QAAQ,KAAK;IAAgB,CACzD,CAAC;IACDA,QAAQ,EAAEX,QAAQ,CAACW,QAAQ;IAC3BC,oBAAoB,EAAEZ,QAAQ,CAACY,oBAAoB;IACnDC,kBAAkB,EAAEb,QAAQ,CAACa,kBAAkB;IAC/CC,iBAAiB,EAAEd,QAAQ,CAACc,iBAAiB;IAC7ChB,SAAS;IACTiB,mBAAmB,EAAEf,QAAQ,CAACe,mBAAmB;IACjD,IAAIf,QAAQ,CAACgB,WAAW,KAAKC,SAAS,GAClC,CAAC,CAAC,GACF;MAAED,WAAW,EAAEhB,QAAQ,CAACgB;IAAY,CAAC,CAAC;IAC1C,IAAIhB,QAAQ,CAACkB,cAAc,KAAKD,SAAS,GACrC,CAAC,CAAC,GACF;MAAEC,cAAc,EAAElB,QAAQ,CAACkB;IAAe,CAAC,CAAC;IAChDnB,gBAAgB;IAChBoB,uBAAuB,EAAEnB,QAAQ,CAACmB,uBAAuB;IACzDC,YAAY,EAAEvB,MAAM,CAACuB,YAAY;IACjCC,SAAS,EAAExB,MAAM,CAACwB;EACpB,CAAC,CAAC;AACJ,CAAC;AAAC3B,OAAA,CAAAC,mBAAA,GAAAA,mBAAA;AAEF,MAAMM,UAAU,GAAGA,CACjBL,IAAoB,EACpBG,gBAAyB,KACN;EACnB,IACEH,IAAI,CAAC0B,wBAAwB,KAAK,eAAe,IACjD,CAAC,IAAAC,qCAAkB,EAACxB,gBAAgB,CAAC,EACrC;IACA,OAAOH,IAAI;EACb;EAEA,MAAM4B,SAAS,GAAGC,8BAAc,CAACC,GAAG;EAEpC,OAAO;IACL,GAAG9B,IAAI;IACPe,QAAQ,EAAE,IAAI;IACdF,UAAU,EAAE,CAAC,IAAI,CAAC;IAClBD,gBAAgB,EAAE,IAAI;IACtBL,KAAK,EAAE;MACLC,WAAW,EAAEoB,SAAS,CAACpB,WAAW;MAClCC,kBAAkB,EAAEmB,SAAS,CAACG;IAChC,CAAC;IACDX,WAAW,EAAE,IAAI;IACjBJ,oBAAoB,EAAE,IAAI;IAC1BC,kBAAkB,EAAE;EACtB,CAAC;AACH,CAAC;AAACnB,OAAA,CAAAO,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["_sentryLogger","require","_lepuAdvertisement","_lepuCommandBuilder","_lepuIdentityGate","_lepuTransports","DEFAULT_START_BYTE","recordLepuIdentity","deviceData","info","sn","serialNumber","sentryLogger","deviceType","protocolMaxLength","exports","createLepuSequencer","lepu","report","clockSync","manufacturerData","selected","selectLepu","LepuIdentityGate","write","serviceUuid","characteristicUuid","builder","LepuCommandBuilder","requestStartByte","startBytes","fixedSequence","protocol","writeWithoutResponse","setClockBeforeInfo","clockSyncProtocol","expectedDeviceTypes","pollCommand","undefined","pollIntervalMs","rejectEncryptionAtBytes","onIdentified","onRefused","manufacturerDataProtocol","viatomOxygenUsesV2","transport","lepuTransports","aw1","writeUuid"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom-lepu-sequencer.ts"],"mappings":"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","ignoreList":[]}
@@ -13,7 +13,9 @@ var _bp2Files = require("../bp2/bp2.files.js");
13
13
  var _btManagedDevice = require("../bt-managed-device.js");
14
14
  var _lepuCommandBuilder = require("../lepu/lepu.command-builder.js");
15
15
  var _lepuEcgTransfer = require("../lepu/lepu.ecg-transfer.js");
16
+ var _lepuEncryptionHandshake = require("../lepu/lepu.encryption-handshake.js");
16
17
  var _lepuFrameReader = require("../lepu/lepu.frame-reader.js");
18
+ var _lepuSession = require("../lepu/lepu.session.js");
17
19
  var _tmbCommandSequencer = require("../tmb/tmb.command-sequencer.js");
18
20
  var _tmbFrameReader = require("../tmb/tmb.frame-reader.js");
19
21
  var _viatomBp3Files = require("../viatom/viatom.bp3-files.js");
@@ -32,8 +34,10 @@ var _customLepuSequencer = require("./custom-lepu-sequencer.js");
32
34
  */
33
35
  class CustomDevice extends _btManagedDevice.BTManagedDevice {
34
36
  reportedHistoryIds = new Set();
37
+ recordingEnded = false;
35
38
  validators = new Map();
36
39
  sessionAggregates = new Map();
40
+ lepuSession = new _lepuSession.LepuSession();
37
41
  constructor(device, params, definition) {
38
42
  super(device, {
39
43
  ...params,
@@ -98,11 +102,11 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
98
102
  if (!lepu) {
99
103
  return;
100
104
  }
101
- this.frameReader = new _lepuFrameReader.LepuFrameReader(lepu.startBytes);
105
+ this.frameReader = new _lepuFrameReader.LepuFrameReader(lepu.startBytes, this.lepuSession);
102
106
  this.createCommandSequencer = () => {
103
107
  if (lepu.fileTransfer !== undefined) {
104
108
  this.reportedHistoryIds.clear();
105
- return new _lepuEcgTransfer.LepuEcgTransferSequencer({
109
+ return this.withEncryption(lepu, new _lepuEcgTransfer.LepuEcgTransferSequencer({
106
110
  write: {
107
111
  serviceUuid: lepu.write.serviceUuid,
108
112
  characteristicUuid: lepu.write.characteristicUuid
@@ -117,13 +121,9 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
117
121
  onFile: lepu.fileTransfer === "ecg" ? this.reportViatomEcgFile : lepu.fileTransfer === "bp2" ? this.reportViatomBp2File : this.reportViatomBp3File,
118
122
  skipFiles: lepu.fileTransfer === "bp3" ? undefined : this.deliveredFileNames,
119
123
  acceptFile: lepu.fileTransfer === "ecg" ? name => lepu.ecgFileDecoder !== undefined && /^R/i.test(name) : lepu.fileTransfer === "bp3" ? name => /^bp\.list$/i.test(name) : undefined,
120
- pollCommand: lepu.fileTransfer === "ecg" ? undefined : lepu.pollCommand,
121
- pollIntervalMs: lepu.fileTransfer === "ecg" ? undefined : lepu.pollIntervalMs,
122
- afterTransfer: lepu.fileTransfer === "ecg" && lepu.pollCommand ? () => [{
123
- serviceUuid: lepu.write.serviceUuid,
124
- characteristicUuid: lepu.write.characteristicUuid,
125
- frame: new _lepuCommandBuilder.LepuCommandBuilder(lepu.startBytes[0] ?? "a5").build(lepu.pollCommand)
126
- }] : undefined,
124
+ pollCommand: lepu.pollCommand,
125
+ pollIntervalMs: lepu.pollIntervalMs,
126
+ shouldStartTransfer: lepu.fileTransfer === "ecg" ? this.takeRecordingEnded : undefined,
127
127
  onError: reason => this.onError?.(new Error(`Viatom ECG: ${reason}`)),
128
128
  onProgress: progress => this.onConnectionEvent?.({
129
129
  deviceData: this.deviceData,
@@ -133,16 +133,29 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
133
133
  total: progress.totalBytes
134
134
  }
135
135
  })
136
- });
136
+ }));
137
137
  }
138
- return (0, _customLepuSequencer.createLepuSequencer)(lepu, {
138
+ return this.withEncryption(lepu, (0, _customLepuSequencer.createLepuSequencer)(lepu, {
139
139
  onIdentified: this.onIdentified,
140
140
  onRefused: this.onIdentityRefused
141
- }, clockSync, this.device.manufacturerData ?? undefined);
141
+ }, clockSync, this.device.manufacturerData ?? undefined));
142
142
  };
143
143
  }
144
+
145
+ /** The standard family runs the vendor's encryption handshake first when it advertises one. */
146
+ withEncryption = (lepu, sequencer) => lepu.protocol === undefined ? (0, _lepuEncryptionHandshake.withLepuEncryption)(sequencer, {
147
+ write: {
148
+ serviceUuid: lepu.write.serviceUuid,
149
+ characteristicUuid: lepu.write.characteristicUuid
150
+ },
151
+ session: this.lepuSession,
152
+ manufacturerData: this.device.manufacturerData ?? undefined,
153
+ startByte: lepu.startBytes[0],
154
+ onRefused: this.onIdentityRefused
155
+ }) : sequencer;
144
156
  reportViatomEcgFile = file => {
145
157
  const decoded = (0, _viatomEcgFiles.decodeViatomEcgRecording)(file.content);
158
+ this.deliveredFileNames.add(file.name);
146
159
  if (decoded.samples.length === 0) {
147
160
  this.onError?.(new Error(`Viatom ECG: file "${file.name}" does not decode to its recorded length.`));
148
161
  return;
@@ -268,8 +281,16 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
268
281
  });
269
282
  }
270
283
 
284
+ /** True once after a measurement ends, when the device may have stored a new record. */
285
+ takeRecordingEnded = () => {
286
+ const ended = this.recordingEnded;
287
+ this.recordingEnded = false;
288
+ return ended;
289
+ };
290
+
271
291
  /** Emits a completed session before the state machine returns to CONNECTED. */
272
292
  handleMeasurementEnd() {
293
+ this.recordingEnded = true;
273
294
  const policy = this.sessionPolicy;
274
295
  if (!policy) {
275
296
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["_next","require","_caseType","_createFrameValidator","_parseMeasurement","_rejectCustomReading","_bp2Files","_btManagedDevice","_lepuCommandBuilder","_lepuEcgTransfer","_lepuFrameReader","_tmbCommandSequencer","_tmbFrameReader","_viatomBp3Files","_viatomEcgFiles","_customLepuSequencer","CustomDevice","BTManagedDevice","reportedHistoryIds","Set","validators","Map","sessionAggregates","constructor","device","params","definition","oneReadingPerConnection","frameHandler","createFrameHandler","sessionPolicy","deviceData","clockSync","deliveredFileNames","deliveredEcgFileNames","selectedLepu","lepu","selectLepu","manufacturerData","undefined","mainServices","manufacturerDataProtocol","filter","service","uuid","write","serviceUuid","frameReader","stuckDataTimeout","reportsBondedEvent","syncsCurrentTime","preferredMtu","declareLepuProtocol","declareTmbProtocol","declareSequencerFactory","frames","forEach","frame","set","createFrameValidator","create","createCommandSequencer","deviceId","id","recordCursorStorage","tmb","TmbFrameReader","TmbCommandSequencer","protocol","LepuFrameReader","startBytes","fileTransfer","clear","LepuEcgTransferSequencer","characteristicUuid","builder","LepuCommandBuilder","rejectEncryptionAtBytes","expectedDeviceTypes","onIdentified","onRefused","onIdentityRefused","onFile","reportViatomEcgFile","reportViatomBp2File","reportViatomBp3File","skipFiles","acceptFile","name","ecgFileDecoder","test","pollCommand","pollIntervalMs","afterTransfer","build","onError","reason","Error","onProgress","progress","onConnectionEvent","kind","current","receivedBytes","total","totalBytes","createLepuSequencer","file","decoded","decodeViatomEcgRecording","content","samples","length","onResult","measurementTypeKey","MeasurementTypeKey","ecg","caseType","CaseType","RESULT","diagramPoints","duration","recordedAt","recordedAtFromViatomFileName","recordingId","decodeBP2File","reportHistoryOnce","decodeViatomBp3File","has","add","info","recordLepuIdentity","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","parsingCase","requiresStream","isMeasuring","OTHER","handleFrame","parsedData","handlerOnly","captureSessionSample","STREAM","shouldReportDependentResult","reportFrame","error","_data","handleSuccessResult","successResult","collectedValues","emit","reading","handleMeasurementEnd","policy","aggregates","values","sessionStartedAt","aggregate","count","minSamples","summary","sample","Object","fromEntries","sums","entries","map","sessionAverage","decorateReading","value","decimals","fields","Math","trunc","Number","toFixed","measurements","frameRecordedAt","Date","measurement","createMeasurement","rejection","measurementRejection","policyFor","key","existing","readingFields","fieldNames","recordOffset","decorate","repeated","repeatedRecords","report","records","floor","from","recordBytes","record","parseMeasurement","discard","reportMeasurement","discardedReadingError","parsedFields","rejectCustomReading","find","message","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_next","require","_caseType","_createFrameValidator","_parseMeasurement","_rejectCustomReading","_bp2Files","_btManagedDevice","_lepuCommandBuilder","_lepuEcgTransfer","_lepuEncryptionHandshake","_lepuFrameReader","_lepuSession","_tmbCommandSequencer","_tmbFrameReader","_viatomBp3Files","_viatomEcgFiles","_customLepuSequencer","CustomDevice","BTManagedDevice","reportedHistoryIds","Set","recordingEnded","validators","Map","sessionAggregates","lepuSession","LepuSession","constructor","device","params","definition","oneReadingPerConnection","frameHandler","createFrameHandler","sessionPolicy","deviceData","clockSync","deliveredFileNames","deliveredEcgFileNames","selectedLepu","lepu","selectLepu","manufacturerData","undefined","mainServices","manufacturerDataProtocol","filter","service","uuid","write","serviceUuid","frameReader","stuckDataTimeout","reportsBondedEvent","syncsCurrentTime","preferredMtu","declareLepuProtocol","declareTmbProtocol","declareSequencerFactory","frames","forEach","frame","set","createFrameValidator","create","createCommandSequencer","deviceId","id","recordCursorStorage","tmb","TmbFrameReader","TmbCommandSequencer","protocol","LepuFrameReader","startBytes","fileTransfer","clear","withEncryption","LepuEcgTransferSequencer","characteristicUuid","builder","LepuCommandBuilder","rejectEncryptionAtBytes","expectedDeviceTypes","onIdentified","onRefused","onIdentityRefused","onFile","reportViatomEcgFile","reportViatomBp2File","reportViatomBp3File","skipFiles","acceptFile","name","ecgFileDecoder","test","pollCommand","pollIntervalMs","shouldStartTransfer","takeRecordingEnded","onError","reason","Error","onProgress","progress","onConnectionEvent","kind","current","receivedBytes","total","totalBytes","createLepuSequencer","sequencer","withLepuEncryption","session","startByte","file","decoded","decodeViatomEcgRecording","content","add","samples","length","onResult","measurementTypeKey","MeasurementTypeKey","ecg","caseType","CaseType","RESULT","diagramPoints","duration","recordedAt","recordedAtFromViatomFileName","recordingId","decodeBP2File","reportHistoryOnce","decodeViatomBp3File","has","info","recordLepuIdentity","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","parsingCase","requiresStream","isMeasuring","OTHER","handleFrame","parsedData","handlerOnly","captureSessionSample","STREAM","shouldReportDependentResult","reportFrame","error","_data","handleSuccessResult","successResult","collectedValues","emit","reading","ended","handleMeasurementEnd","policy","aggregates","values","sessionStartedAt","aggregate","count","minSamples","summary","sample","Object","fromEntries","sums","entries","map","sessionAverage","decorateReading","value","decimals","fields","Math","trunc","Number","toFixed","measurements","frameRecordedAt","Date","measurement","createMeasurement","rejection","measurementRejection","policyFor","key","existing","readingFields","fieldNames","recordOffset","decorate","repeated","repeatedRecords","report","records","floor","from","recordBytes","record","parseMeasurement","discard","reportMeasurement","discardedReadingError","parsedFields","rejectCustomReading","find","message","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
@@ -3,13 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.viatomOxygenUsesV2 = exports.manufacturerBytes = exports.advertisementRequiresEncryption = void 0;
6
+ exports.viatomOxygenUsesV2 = exports.manufacturerBytes = exports.advertisesLepuEncryption = exports.advertisementRequiresEncryption = void 0;
7
7
  var _base64ToHex = require("../../../utils/base-64-to-hex.js");
8
8
  var _hexToByte = require("../../../utils/hex-to-byte.js");
9
9
  const PROTOCOL_MASK = 0x0f;
10
10
  const ENCRYPTION_MASK = 0xf0;
11
+ const ENCRYPTION_OPTIONAL = 0x10;
11
12
  const ENCRYPTION_REQUIRED = 0x20;
12
13
  const VIATOM_OXYGEN_V2_BYTES = [3, 4];
14
+ const LEPU_FLAG_BYTES = [4, 3];
15
+ const LEPU_PROTOCOLS = [1, 2];
16
+ const ENCRYPTION_LEVELS = [ENCRYPTION_OPTIONAL, ENCRYPTION_REQUIRED];
13
17
  const manufacturerBytes = manufacturerData => {
14
18
  if (!manufacturerData) {
15
19
  return [];
@@ -26,8 +30,21 @@ const manufacturerByte = (manufacturerData, index) => manufacturerBytes(manufact
26
30
  /** Returns true when the advertised byte says that only encrypted traffic is accepted. */
27
31
  const advertisementRequiresEncryption = (manufacturerData, byteIndexes = []) => byteIndexes.some(index => ((manufacturerByte(manufacturerData, index) ?? 0) & ENCRYPTION_MASK) === ENCRYPTION_REQUIRED);
28
32
 
29
- /** The vendor uses the low nibble of byte 3 or 4 to select the OxyII service. */
33
+ /**
34
+ * True when the advertisement offers or requires the encryption handshake.
35
+ *
36
+ * Byte 4 describes the second service and wins when it names a protocol; otherwise byte 3
37
+ * does. A level of 1 (optional) or 2 (required) is a handshake for the vendor's own client.
38
+ */
30
39
  exports.advertisementRequiresEncryption = advertisementRequiresEncryption;
40
+ const advertisesLepuEncryption = manufacturerData => {
41
+ const bytes = manufacturerBytes(manufacturerData);
42
+ const flag = LEPU_FLAG_BYTES.map(index => bytes[index] ?? 0).find(value => LEPU_PROTOCOLS.includes(value & PROTOCOL_MASK));
43
+ return flag !== undefined && ENCRYPTION_LEVELS.includes(flag & ENCRYPTION_MASK);
44
+ };
45
+
46
+ /** The vendor uses the low nibble of byte 3 or 4 to select the OxyII service. */
47
+ exports.advertisesLepuEncryption = advertisesLepuEncryption;
31
48
  const viatomOxygenUsesV2 = manufacturerData => VIATOM_OXYGEN_V2_BYTES.some(index => ((manufacturerByte(manufacturerData, index) ?? 0) & PROTOCOL_MASK) === 2);
32
49
  exports.viatomOxygenUsesV2 = viatomOxygenUsesV2;
33
50
  //# sourceMappingURL=lepu.advertisement.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_base64ToHex","require","_hexToByte","PROTOCOL_MASK","ENCRYPTION_MASK","ENCRYPTION_REQUIRED","VIATOM_OXYGEN_V2_BYTES","manufacturerBytes","manufacturerData","base64ToHex","map","hexToByte","exports","manufacturerByte","index","advertisementRequiresEncryption","byteIndexes","some","viatomOxygenUsesV2"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.advertisement.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA,MAAME,aAAa,GAAG,IAAI;AAC1B,MAAMC,eAAe,GAAG,IAAI;AAC5B,MAAMC,mBAAmB,GAAG,IAAI;AAChC,MAAMC,sBAAsB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAU;AAE9C,MAAMC,iBAAiB,GAAIC,gBAAyB,IAAe;EACjE,IAAI,CAACA,gBAAgB,EAAE;IACrB,OAAO,EAAE;EACX;EAEA,IAAI;IACF,OAAO,IAAAC,wBAAW,EAACD,gBAAgB,CAAC,CAACE,GAAG,CAACC,oBAAS,CAAC;EACrD,CAAC,CAAC,MAAM;IACN,OAAO,EAAE;EACX;AACF,CAAC;AAACC,OAAA,CAAAL,iBAAA,GAAAA,iBAAA;AAEF,MAAMM,gBAAgB,GAAGA,CACvBL,gBAAoC,EACpCM,KAAa,KACUP,iBAAiB,CAACC,gBAAgB,CAAC,CAACM,KAAK,CAAC;;AAEnE;AACA,MAAMC,+BAA+B,GAAGA,CACtCP,gBAAoC,EACpCQ,WAA8B,GAAG,EAAE,KAEnCA,WAAW,CAACC,IAAI,CACbH,KAAK,IACJ,CAAC,CAACD,gBAAgB,CAACL,gBAAgB,EAAEM,KAAK,CAAC,IAAI,CAAC,IAAIV,eAAe,MACnEC,mBACJ,CAAC;;AAEH;AAAAO,OAAA,CAAAG,+BAAA,GAAAA,+BAAA;AACA,MAAMG,kBAAkB,GAAIV,gBAAyB,IACnDF,sBAAsB,CAACW,IAAI,CACxBH,KAAK,IACJ,CAAC,CAACD,gBAAgB,CAACL,gBAAgB,EAAEM,KAAK,CAAC,IAAI,CAAC,IAAIX,aAAa,MAAM,CAC3E,CAAC;AAACS,OAAA,CAAAM,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_base64ToHex","require","_hexToByte","PROTOCOL_MASK","ENCRYPTION_MASK","ENCRYPTION_OPTIONAL","ENCRYPTION_REQUIRED","VIATOM_OXYGEN_V2_BYTES","LEPU_FLAG_BYTES","LEPU_PROTOCOLS","ENCRYPTION_LEVELS","manufacturerBytes","manufacturerData","base64ToHex","map","hexToByte","exports","manufacturerByte","index","advertisementRequiresEncryption","byteIndexes","some","advertisesLepuEncryption","bytes","flag","find","value","includes","undefined","viatomOxygenUsesV2"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.advertisement.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA,MAAME,aAAa,GAAG,IAAI;AAC1B,MAAMC,eAAe,GAAG,IAAI;AAC5B,MAAMC,mBAAmB,GAAG,IAAI;AAChC,MAAMC,mBAAmB,GAAG,IAAI;AAChC,MAAMC,sBAAsB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAU;AAC9C,MAAMC,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC,CAAU;AACvC,MAAMC,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AAC7B,MAAMC,iBAAiB,GAAG,CAACL,mBAAmB,EAAEC,mBAAmB,CAAC;AAEpE,MAAMK,iBAAiB,GAAIC,gBAAyB,IAAe;EACjE,IAAI,CAACA,gBAAgB,EAAE;IACrB,OAAO,EAAE;EACX;EAEA,IAAI;IACF,OAAO,IAAAC,wBAAW,EAACD,gBAAgB,CAAC,CAACE,GAAG,CAACC,oBAAS,CAAC;EACrD,CAAC,CAAC,MAAM;IACN,OAAO,EAAE;EACX;AACF,CAAC;AAACC,OAAA,CAAAL,iBAAA,GAAAA,iBAAA;AAEF,MAAMM,gBAAgB,GAAGA,CACvBL,gBAAoC,EACpCM,KAAa,KACUP,iBAAiB,CAACC,gBAAgB,CAAC,CAACM,KAAK,CAAC;;AAEnE;AACA,MAAMC,+BAA+B,GAAGA,CACtCP,gBAAoC,EACpCQ,WAA8B,GAAG,EAAE,KAEnCA,WAAW,CAACC,IAAI,CACbH,KAAK,IACJ,CAAC,CAACD,gBAAgB,CAACL,gBAAgB,EAAEM,KAAK,CAAC,IAAI,CAAC,IAAId,eAAe,MACnEE,mBACJ,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AALAU,OAAA,CAAAG,+BAAA,GAAAA,+BAAA;AAMA,MAAMG,wBAAwB,GAAIV,gBAAyB,IAAc;EACvE,MAAMW,KAAK,GAAGZ,iBAAiB,CAACC,gBAAgB,CAAC;EAEjD,MAAMY,IAAI,GAAGhB,eAAe,CAACM,GAAG,CAAEI,KAAK,IAAKK,KAAK,CAACL,KAAK,CAAC,IAAI,CAAC,CAAC,CAACO,IAAI,CAChEC,KAAK,IAAKjB,cAAc,CAACkB,QAAQ,CAACD,KAAK,GAAGvB,aAAa,CAC1D,CAAC;EAED,OAAOqB,IAAI,KAAKI,SAAS,IAAIlB,iBAAiB,CAACiB,QAAQ,CAACH,IAAI,GAAGpB,eAAe,CAAC;AACjF,CAAC;;AAED;AAAAY,OAAA,CAAAM,wBAAA,GAAAA,wBAAA;AACA,MAAMO,kBAAkB,GAAIjB,gBAAyB,IACnDL,sBAAsB,CAACc,IAAI,CACxBH,KAAK,IACJ,CAAC,CAACD,gBAAgB,CAACL,gBAAgB,EAAEM,KAAK,CAAC,IAAI,CAAC,IAAIf,aAAa,MAAM,CAC3E,CAAC;AAACa,OAAA,CAAAa,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -11,6 +11,12 @@ var _lepuFileTransfer = require("./lepu.file-transfer.js");
11
11
  var _lepuFrame = require("./lepu.frame.js");
12
12
  var _lepuIdentityGate = require("./lepu.identity-gate.js");
13
13
  var _lepuResponseType = require("./lepu.response-type.js");
14
+ /** How long past its delay a poll may go unanswered before it is sent again. */
15
+ const POLL_ANSWER_GRACE_MS = 1_000;
16
+
17
+ /** Lets a device finish writing a record before its file list is read. */
18
+ const FILE_LIST_DELAY_MS = 3_000;
19
+
14
20
  /** Identifies a recorder, sets its local clock, then downloads its stored files. */
15
21
  class LepuEcgTransferSequencer {
16
22
  phase = "identity";
@@ -34,6 +40,9 @@ class LepuEcgTransferSequencer {
34
40
  if (this.phase === "identity") {
35
41
  return this.identity.commandTimeoutMs();
36
42
  }
43
+ if (this.phase === "polling" && this.params.pollIntervalMs !== undefined) {
44
+ return this.params.pollIntervalMs + POLL_ANSWER_GRACE_MS;
45
+ }
37
46
  return this.phase === "clock" ? _lepuConnectRetry.LEPU_CONNECT_REPLY_TIMEOUT_MS : undefined;
38
47
  };
39
48
 
@@ -42,6 +51,11 @@ class LepuEcgTransferSequencer {
42
51
  if (this.phase === "identity") {
43
52
  return this.identity.onCommandTimeout();
44
53
  }
54
+ if (this.phase === "polling") {
55
+ return {
56
+ commands: [this.pollCommand()]
57
+ };
58
+ }
45
59
  if (this.phase !== "clock") {
46
60
  return {};
47
61
  }
@@ -53,7 +67,8 @@ class LepuEcgTransferSequencer {
53
67
  if (this.phase === "identity") {
54
68
  return this.identity.commandProgress(frame);
55
69
  }
56
- return this.phase === "clock" && (0, _lepuFrame.lepuCommandOf)(frame) !== _lepuCommands.LepuCommand.SET_TIME ? "ignored" : "complete";
70
+ const awaited = this.phase === "clock" ? _lepuCommands.LepuCommand.SET_TIME : this.phase === "polling" ? this.params.pollCommand : undefined;
71
+ return awaited !== undefined && (0, _lepuFrame.lepuCommandOf)(frame) !== awaited ? "ignored" : "complete";
57
72
  };
58
73
  nextCommand = frame => {
59
74
  if (this.phase === "identity") {
@@ -66,7 +81,7 @@ class LepuEcgTransferSequencer {
66
81
  if (this.params.pollCommand === undefined || (0, _lepuFrame.lepuCommandOf)(frame) !== this.params.pollCommand) {
67
82
  return undefined;
68
83
  }
69
- return this.startTransfer(3_000);
84
+ return this.params.shouldStartTransfer?.() ?? true ? this.startTransfer(FILE_LIST_DELAY_MS) : [this.pollCommand()];
70
85
  }
71
86
  return this.transfer?.nextCommand(frame);
72
87
  };
@@ -111,7 +126,7 @@ class LepuEcgTransferSequencer {
111
126
  this.phase = "polling";
112
127
  return [this.pollCommand()];
113
128
  }
114
- return this.params.afterTransfer?.() ?? [];
129
+ return [];
115
130
  };
116
131
  pollCommand = () => ({
117
132
  ...this.params.write,
@@ -1 +1 @@
1
- {"version":3,"names":["_clockSync","require","_lepuCommands","_lepuConnectRetry","_lepuFileTransfer","_lepuFrame","_lepuIdentityGate","_lepuResponseType","LepuEcgTransferSequencer","phase","clockRetry","LepuConnectRetry","constructor","params","identity","LepuIdentityGate","write","builder","expectedDeviceTypes","manufacturerData","rejectEncryptionAtBytes","onIdentified","onRefused","onAdmitted","startClockOrTransfer","initialCommands","isHistoryTransfer","commandTimeoutMs","LEPU_CONNECT_REPLY_TIMEOUT_MS","undefined","onCommandTimeout","commands","mayRetry","setTimeCommand","startTransfer","commandProgress","frame","lepuCommandOf","LepuCommand","SET_TIME","nextCommand","finishClock","pollCommand","transfer","isClockSyncEnabled","clockSync","started","build","clockPayload","isLepuSuccess","onError","describeLepuResponseType","delayBeforeWriteMs","LepuFileTransfer","onFile","skipFiles","acceptFile","afterTransfer","finishTransfer","onProgress","pollIntervalMs","exports","parts","getClockParts","now","Date","timezone","year","month","day","hours","minutes","seconds"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.ecg-transfer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clockSync","require","_lepuCommands","_lepuConnectRetry","_lepuFileTransfer","_lepuFrame","_lepuIdentityGate","_lepuResponseType","POLL_ANSWER_GRACE_MS","FILE_LIST_DELAY_MS","LepuEcgTransferSequencer","phase","clockRetry","LepuConnectRetry","constructor","params","identity","LepuIdentityGate","write","builder","expectedDeviceTypes","manufacturerData","rejectEncryptionAtBytes","onIdentified","onRefused","onAdmitted","startClockOrTransfer","initialCommands","isHistoryTransfer","commandTimeoutMs","pollIntervalMs","undefined","LEPU_CONNECT_REPLY_TIMEOUT_MS","onCommandTimeout","commands","pollCommand","mayRetry","setTimeCommand","startTransfer","commandProgress","frame","awaited","LepuCommand","SET_TIME","lepuCommandOf","nextCommand","finishClock","shouldStartTransfer","transfer","isClockSyncEnabled","clockSync","started","build","clockPayload","isLepuSuccess","onError","describeLepuResponseType","delayBeforeWriteMs","LepuFileTransfer","onFile","skipFiles","acceptFile","afterTransfer","finishTransfer","onProgress","exports","parts","getClockParts","now","Date","timezone","year","month","day","hours","minutes","seconds"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.ecg-transfer.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.withLepuEncryption = void 0;
7
+ var _hexToByte = require("../../../utils/hex-to-byte.js");
8
+ var _viatomLepuCrypto = require("../viatom/viatom-lepu-crypto.js");
9
+ var _lepuAdvertisement = require("./lepu.advertisement.js");
10
+ var _lepuCommandBuilder = require("./lepu.command-builder.js");
11
+ var _lepuConnectRetry = require("./lepu.connect-retry.js");
12
+ var _lepuFrame = require("./lepu.frame.js");
13
+ var _lepuResponseType = require("./lepu.response-type.js");
14
+ const LEPU_ENCRYPT_COMMAND = 0xff;
15
+ /**
16
+ * Runs the vendor's encryption handshake before a standard Lepu exchange, when the
17
+ * advertisement asks for one.
18
+ *
19
+ * The access token goes out in plain text; the reply carries the session key, and from then
20
+ * on every request is encrypted here and every reply is decrypted by the frame reader that
21
+ * shares the session. Without the flag the exchange runs exactly as it did before.
22
+ */
23
+ class LepuEncryptionHandshake {
24
+ state = "awaiting-key";
25
+ retry = new _lepuConnectRetry.LepuConnectRetry();
26
+ constructor(inner, params) {
27
+ this.inner = inner;
28
+ this.params = params;
29
+ }
30
+ initialCommands = () => {
31
+ this.retry.started();
32
+ return [this.tokenCommand()];
33
+ };
34
+ nextCommand = (frame, characteristicUuid) => {
35
+ if (this.state === "done") {
36
+ return this.encrypted(this.inner.nextCommand(frame, characteristicUuid));
37
+ }
38
+ if (this.state === "refused" || (0, _lepuFrame.lepuCommandOf)(frame) !== LEPU_ENCRYPT_COMMAND) {
39
+ return undefined;
40
+ }
41
+ return this.acceptKey(frame);
42
+ };
43
+ commandTimeoutMs = () => this.state === "awaiting-key" ? _lepuConnectRetry.LEPU_CONNECT_REPLY_TIMEOUT_MS : this.state === "done" ? this.inner.commandTimeoutMs?.() : undefined;
44
+
45
+ /** A device just woken can drop the token, so it is sent once more before giving up. */
46
+ onCommandTimeout = () => {
47
+ if (this.state === "done") {
48
+ const result = this.inner.onCommandTimeout?.() ?? {};
49
+ return {
50
+ ...result,
51
+ commands: this.encrypted(result.commands)
52
+ };
53
+ }
54
+ if (this.state === "refused") {
55
+ return {};
56
+ }
57
+ return this.retry.mayRetry() ? {
58
+ commands: [this.tokenCommand()]
59
+ } : {
60
+ terminal: true
61
+ };
62
+ };
63
+ commandProgress = frame => {
64
+ if (this.state === "done") {
65
+ return this.inner.commandProgress?.(frame) ?? "complete";
66
+ }
67
+ return (0, _lepuFrame.lepuCommandOf)(frame) === LEPU_ENCRYPT_COMMAND ? "complete" : "ignored";
68
+ };
69
+ onServicesDiscovered = serviceUuids => this.inner.onServicesDiscovered?.(serviceUuids);
70
+ isNormalDisconnect = () => this.inner.isNormalDisconnect?.() ?? false;
71
+ isHistoryTransfer = () => this.inner.isHistoryTransfer?.() ?? false;
72
+ acceptKey = frame => {
73
+ const reply = (0, _lepuFrame.lepuPayloadOf)(frame).map(_hexToByte.hexToByte);
74
+ const key = (0, _lepuResponseType.isLepuSuccess)(frame) ? (0, _viatomLepuCrypto.parseLepuSessionKey)((0, _viatomLepuCrypto.decryptLepuHandshake)(reply)) : undefined;
75
+ if (!key) {
76
+ this.state = "refused";
77
+ this.params.onRefused("the device refused the encryption handshake");
78
+ return undefined;
79
+ }
80
+ this.params.session.begin(key);
81
+ this.state = "done";
82
+ return this.encrypted(this.inner.initialCommands());
83
+ };
84
+ tokenCommand = () => ({
85
+ ...this.params.write,
86
+ frame: new _lepuCommandBuilder.LepuCommandBuilder(this.params.startByte).build(LEPU_ENCRYPT_COMMAND, (0, _viatomLepuCrypto.createLepuAccessToken)())
87
+ });
88
+ encrypted = commands => commands?.map(command => ({
89
+ ...command,
90
+ frame: this.params.session.encryptFrame(command.frame)
91
+ }));
92
+ }
93
+
94
+ /**
95
+ * The sequencer for one connection: wrapped in the handshake when the advertisement asks
96
+ * for encryption, unchanged otherwise. Either way the session starts without a key.
97
+ */
98
+ const withLepuEncryption = (inner, params) => {
99
+ params.session.end();
100
+ return (0, _lepuAdvertisement.advertisesLepuEncryption)(params.manufacturerData) ? new LepuEncryptionHandshake(inner, params) : inner;
101
+ };
102
+ exports.withLepuEncryption = withLepuEncryption;
103
+ //# sourceMappingURL=lepu.encryption-handshake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_hexToByte","require","_viatomLepuCrypto","_lepuAdvertisement","_lepuCommandBuilder","_lepuConnectRetry","_lepuFrame","_lepuResponseType","LEPU_ENCRYPT_COMMAND","LepuEncryptionHandshake","state","retry","LepuConnectRetry","constructor","inner","params","initialCommands","started","tokenCommand","nextCommand","frame","characteristicUuid","encrypted","lepuCommandOf","undefined","acceptKey","commandTimeoutMs","LEPU_CONNECT_REPLY_TIMEOUT_MS","onCommandTimeout","result","commands","mayRetry","terminal","commandProgress","onServicesDiscovered","serviceUuids","isNormalDisconnect","isHistoryTransfer","reply","lepuPayloadOf","map","hexToByte","key","isLepuSuccess","parseLepuSessionKey","decryptLepuHandshake","onRefused","session","begin","write","LepuCommandBuilder","startByte","build","createLepuAccessToken","command","encryptFrame","withLepuEncryption","end","advertisesLepuEncryption","manufacturerData","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.encryption-handshake.ts"],"mappings":"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","ignoreList":[]}