@ovok/native 1.3.0 → 1.5.0
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.
- package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js +9 -3
- package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.js +8 -2
- package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
- package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js +23 -22
- package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
- package/lib/commonjs/modules/bt-device/constants/device-list-items.js +36 -0
- package/lib/commonjs/modules/bt-device/constants/device-list-items.js.map +1 -1
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js +38 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js +45 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js +212 -42
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/components/bluetooth-device-picker.js +88 -0
- package/lib/commonjs/modules/bt-management/components/bluetooth-device-picker.js.map +1 -0
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +15 -8
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js +1 -1
- package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
- package/lib/commonjs/modules/bt-management/index.js +55 -0
- package/lib/commonjs/modules/bt-management/index.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +10 -4
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/bt-manager.js +43 -5
- package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-case.js +2 -0
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-case.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-field.js +2 -1
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-field.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js +24 -0
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-monitor.js +8 -1
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-monitor.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +6 -2
- package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/device-creator.js +23 -8
- package/lib/commonjs/modules/bt-management/services/device-creator.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj.thermometers.js +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-builders.js +50 -0
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-builders.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js +78 -127
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js +2 -0
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.frame-reader.js +60 -0
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.frame-reader.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +74 -0
- package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/boso/boso.medicus.js +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/boso/boso.medicus.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-command-writer.js +3 -0
- package/lib/commonjs/modules/bt-management/services/devices/bt-command-writer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +7 -3
- package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +5 -0
- package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +3 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js +6 -1
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +43 -5
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/frame-parser.js +13 -1
- package/lib/commonjs/modules/bt-management/services/devices/frame-parser.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.command-builder.js +6 -3
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.command-builder.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.identity-gate.js +84 -38
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.identity-gate.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +14 -2
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/spo/oxyfit.device.js +18 -0
- package/lib/commonjs/modules/bt-management/services/devices/spo/oxyfit.device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +2 -1
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.device.js +78 -0
- package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.frame-reader.js +83 -0
- package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.frame-reader.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.sequencer.js +60 -0
- package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +35 -0
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +3 -2
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.lepod.js +2 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.lepod.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js +54 -39
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -1
- package/lib/commonjs/modules/bt-management/types/device-measurement-map.js.map +1 -1
- package/lib/commonjs/modules/bt-management/types/integrated-devices.js +1 -0
- package/lib/commonjs/modules/bt-management/types/integrated-devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/utils/create-custom-field-parser.js +3 -0
- package/lib/commonjs/modules/bt-management/utils/create-custom-field-parser.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/data-processor.js +11 -2
- package/lib/commonjs/modules/data-sync/services/managers/data-processor.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js +3 -1
- package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/get-total-samples-count.js +3 -1
- package/lib/commonjs/modules/data-sync/utils/get-total-samples-count.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/health-units.js +22 -0
- package/lib/commonjs/modules/data-sync/utils/health-units.js.map +1 -0
- package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js +9 -3
- package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js +8 -2
- package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
- package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js +3 -2
- package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
- package/lib/module/modules/bt-device/constants/device-list-items.js +36 -0
- package/lib/module/modules/bt-device/constants/device-list-items.js.map +1 -1
- package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js +35 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js +41 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-devices.js +202 -32
- package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/module/modules/bt-management/components/bluetooth-device-picker.js +83 -0
- package/lib/module/modules/bt-management/components/bluetooth-device-picker.js.map +1 -0
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +15 -8
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/module/modules/bt-management/constants/integrated-devices-map.js +1 -1
- package/lib/module/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
- package/lib/module/modules/bt-management/index.js +5 -0
- package/lib/module/modules/bt-management/index.js.map +1 -1
- package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +10 -4
- package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
- package/lib/module/modules/bt-management/services/bt-manager.js +45 -6
- package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/compile-custom-case.js +2 -0
- package/lib/module/modules/bt-management/services/custom/compile-custom-case.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/compile-custom-field.js +2 -1
- package/lib/module/modules/bt-management/services/custom/compile-custom-field.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js +24 -0
- package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/compile-custom-monitor.js +8 -1
- package/lib/module/modules/bt-management/services/custom/compile-custom-monitor.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/define-custom-device.js +6 -2
- package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/device-creator.js +23 -8
- package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js +1 -1
- package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-builders.js +40 -0
- package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-builders.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js +59 -109
- package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js +2 -0
- package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bc01/bc01.frame-reader.js +56 -0
- package/lib/module/modules/bt-management/services/devices/bc01/bc01.frame-reader.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +69 -0
- package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/boso/boso.medicus.js +1 -1
- package/lib/module/modules/bt-management/services/devices/boso/boso.medicus.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-command-writer.js +3 -0
- package/lib/module/modules/bt-management/services/devices/bt-command-writer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +7 -3
- package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +5 -0
- package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +3 -1
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js +6 -1
- package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +42 -5
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/frame-parser.js +13 -1
- package/lib/module/modules/bt-management/services/devices/frame-parser.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.command-builder.js +6 -3
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.command-builder.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +2 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.identity-gate.js +84 -38
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.identity-gate.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +14 -2
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/spo/oxyfit.device.js +14 -0
- package/lib/module/modules/bt-management/services/devices/spo/oxyfit.device.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +2 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/uebe/mysense.device.js +73 -0
- package/lib/module/modules/bt-management/services/devices/uebe/mysense.device.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/uebe/mysense.frame-reader.js +78 -0
- package/lib/module/modules/bt-management/services/devices/uebe/mysense.frame-reader.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/uebe/mysense.sequencer.js +55 -0
- package/lib/module/modules/bt-management/services/devices/uebe/mysense.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js +1 -1
- package/lib/module/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js +1 -1
- package/lib/module/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +1 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +31 -0
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +3 -2
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.lepod.js +2 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.lepod.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js +54 -39
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -1
- package/lib/module/modules/bt-management/types/device-measurement-map.js.map +1 -1
- package/lib/module/modules/bt-management/types/integrated-devices.js +1 -0
- package/lib/module/modules/bt-management/types/integrated-devices.js.map +1 -1
- package/lib/module/modules/bt-management/utils/create-custom-field-parser.js +3 -0
- package/lib/module/modules/bt-management/utils/create-custom-field-parser.js.map +1 -1
- package/lib/module/modules/data-sync/services/managers/data-processor.js +11 -2
- package/lib/module/modules/data-sync/services/managers/data-processor.js.map +1 -1
- package/lib/module/modules/data-sync/utils/get-samples-from-health.js +3 -1
- package/lib/module/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
- package/lib/module/modules/data-sync/utils/get-total-samples-count.js +3 -1
- package/lib/module/modules/data-sync/utils/get-total-samples-count.js.map +1 -1
- package/lib/module/modules/data-sync/utils/health-units.js +17 -0
- package/lib/module/modules/data-sync/utils/health-units.js.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/apple-login-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/google-login-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/constants/device-list-items.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +33 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +43 -22
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/bluetooth-device-picker.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/bt-management/components/bluetooth-device-picker.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +5 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +19 -2
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-case.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-field.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-monitor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts +2 -2
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts +31 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts +6 -5
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.frame-reader.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.frame-reader.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts +19 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-command-writer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/frame-parser.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/frame-parser.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.command-builder.d.ts +6 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.command-builder.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +3 -2
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts +10 -51
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +9 -2
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/spo/oxyfit.device.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/spo/oxyfit.device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +2 -2
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts +15 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.frame-reader.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.frame-reader.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.sequencer.d.ts +17 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts +5 -8
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts +6 -4
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-field-encoding.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-field-encoding.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-command.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-command.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +5 -4
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/parsing-case.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/parsing-case.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/utils/create-custom-field-parser.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-total-samples-count.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/health-units.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/health-units.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/apple-login-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/google-login-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/constants/device-list-items.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +33 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts +3 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +43 -22
- package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/bluetooth-device-picker.d.ts +11 -0
- package/lib/typescript/module/src/modules/bt-management/components/bluetooth-device-picker.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/index.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +5 -1
- package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +19 -2
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-case.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-field.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-monitor.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts +2 -2
- package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts +31 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts +6 -5
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.frame-reader.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.frame-reader.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts +19 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-command-writer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +3 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/frame-parser.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/frame-parser.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.command-builder.d.ts +6 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.command-builder.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +3 -2
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts +10 -51
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +9 -2
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/spo/oxyfit.device.d.ts +9 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/spo/oxyfit.device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +2 -2
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts +15 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.frame-reader.d.ts +8 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.frame-reader.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.sequencer.d.ts +17 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +9 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts +5 -8
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts +6 -4
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-field-encoding.d.ts +2 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-field-encoding.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +10 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/device-command.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/types/device-command.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +5 -4
- package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/parsing-case.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/parsing-case.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/utils/create-custom-field-parser.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/get-total-samples-count.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/health-units.d.ts +3 -0
- package/lib/typescript/module/src/modules/data-sync/utils/health-units.d.ts.map +1 -0
- package/package.json +5 -3
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.bc01FrameLengths = exports.Bc01FrameReader = void 0;
|
|
7
|
+
var _frameReadStatus = require("../../../types/frame-read-status.js");
|
|
8
|
+
/** Fixed BC401 reply lengths, keyed by the first byte of each PHMS frame. */
|
|
9
|
+
const BC01_FRAME_LENGTHS = exports.bc01FrameLengths = {
|
|
10
|
+
f0: 2,
|
|
11
|
+
f2: 8,
|
|
12
|
+
f3: 3,
|
|
13
|
+
e0: 7,
|
|
14
|
+
e1: 16,
|
|
15
|
+
e2: 16,
|
|
16
|
+
e3: 3,
|
|
17
|
+
e4: 36,
|
|
18
|
+
e5: 36
|
|
19
|
+
};
|
|
20
|
+
const lower = byte => (byte ?? "").toLowerCase();
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Isolates the fixed-length frames used by Contec BC401BT.
|
|
24
|
+
*
|
|
25
|
+
* PHMS keeps a byte queue and repeatedly consumes complete replies. BLE notifications are
|
|
26
|
+
* not frame boundaries, so the SDK must retain partial replies and drain multiple replies
|
|
27
|
+
* when Android combines them into one notification.
|
|
28
|
+
*/
|
|
29
|
+
class Bc01FrameReader {
|
|
30
|
+
readFrame(buffer) {
|
|
31
|
+
const start = buffer.findIndex(byte => Object.prototype.hasOwnProperty.call(BC01_FRAME_LENGTHS, lower(byte)));
|
|
32
|
+
if (start === -1) {
|
|
33
|
+
return {
|
|
34
|
+
status: _frameReadStatus.FrameReadStatus.INCOMPLETE,
|
|
35
|
+
consumedBytes: buffer.length
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
const opcode = lower(buffer[start]);
|
|
39
|
+
const length = BC01_FRAME_LENGTHS[opcode];
|
|
40
|
+
if (length === undefined) {
|
|
41
|
+
return {
|
|
42
|
+
status: _frameReadStatus.FrameReadStatus.INCOMPLETE,
|
|
43
|
+
consumedBytes: start + 1
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
if (start + length > buffer.length) {
|
|
47
|
+
return {
|
|
48
|
+
status: _frameReadStatus.FrameReadStatus.INCOMPLETE,
|
|
49
|
+
consumedBytes: start
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
status: _frameReadStatus.FrameReadStatus.COMPLETE,
|
|
54
|
+
consumedBytes: start + length,
|
|
55
|
+
frame: buffer.slice(start, start + length)
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.Bc01FrameReader = Bc01FrameReader;
|
|
60
|
+
//# sourceMappingURL=bc01.frame-reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_frameReadStatus","require","BC01_FRAME_LENGTHS","exports","bc01FrameLengths","f0","f2","f3","e0","e1","e2","e3","e4","e5","lower","byte","toLowerCase","Bc01FrameReader","readFrame","buffer","start","findIndex","Object","prototype","hasOwnProperty","call","status","FrameReadStatus","INCOMPLETE","consumedBytes","length","opcode","undefined","COMPLETE","frame","slice"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bc01/bc01.frame-reader.ts"],"mappings":";;;;;;AACA,IAAAA,gBAAA,GAAAC,OAAA;AAGA;AACA,MAAMC,kBAAoD,GAAAC,OAAA,CAAAC,gBAAA,GAAG;EAC3DC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE;AACN,CAAC;AAED,MAAMC,KAAK,GAAIC,IAAwB,IAAa,CAACA,IAAI,IAAI,EAAE,EAAEC,WAAW,CAAC,CAAC;;AAE9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,eAAe,CAAwB;EACpCC,SAASA,CAACC,MAAyB,EAAmB;IAC3D,MAAMC,KAAK,GAAGD,MAAM,CAACE,SAAS,CAAEN,IAAI,IAClCO,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACvB,kBAAkB,EAAEY,KAAK,CAACC,IAAI,CAAC,CACtE,CAAC;IAED,IAAIK,KAAK,KAAK,CAAC,CAAC,EAAE;MAChB,OAAO;QACLM,MAAM,EAAEC,gCAAe,CAACC,UAAU;QAClCC,aAAa,EAAEV,MAAM,CAACW;MACxB,CAAC;IACH;IAEA,MAAMC,MAAM,GAAGjB,KAAK,CAACK,MAAM,CAACC,KAAK,CAAC,CAAC;IACnC,MAAMU,MAAM,GAAG5B,kBAAkB,CAAC6B,MAAM,CAAC;IAEzC,IAAID,MAAM,KAAKE,SAAS,EAAE;MACxB,OAAO;QACLN,MAAM,EAAEC,gCAAe,CAACC,UAAU;QAClCC,aAAa,EAAET,KAAK,GAAG;MACzB,CAAC;IACH;IAEA,IAAIA,KAAK,GAAGU,MAAM,GAAGX,MAAM,CAACW,MAAM,EAAE;MAClC,OAAO;QACLJ,MAAM,EAAEC,gCAAe,CAACC,UAAU;QAClCC,aAAa,EAAET;MACjB,CAAC;IACH;IAEA,OAAO;MACLM,MAAM,EAAEC,gCAAe,CAACM,QAAQ;MAChCJ,aAAa,EAAET,KAAK,GAAGU,MAAM;MAC7BI,KAAK,EAAEf,MAAM,CAACgB,KAAK,CAACf,KAAK,EAAEA,KAAK,GAAGU,MAAM;IAC3C,CAAC;EACH;AACF;AAAC3B,OAAA,CAAAc,eAAA,GAAAA,eAAA","ignoreList":[]}
|
package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.BloodGlucoseDevice = void 0;
|
|
7
|
+
var _core = require("@ovok/core");
|
|
8
|
+
var _caseType = require("../../../types/case-type.js");
|
|
9
|
+
var _integratedDevices = require("../../../types/integrated-devices.js");
|
|
10
|
+
var _hexToByte = require("../../../utils/hex-to-byte.js");
|
|
11
|
+
var _btManagedDevice = require("../bt-managed-device.js");
|
|
12
|
+
const LEGACY_SERVICE = "00001523-1212-efde-1523-785feabcd123";
|
|
13
|
+
const LEGACY_CHARACTERISTIC = "00001524-1212-efde-1523-785feabcd123";
|
|
14
|
+
const BGM_SERVICE = "0003cdd0-0000-1000-8000-00805f9b0131";
|
|
15
|
+
const BGM_CHARACTERISTIC = "0003cdd1-0000-1000-8000-00805f9b0131";
|
|
16
|
+
const GLUCOSE_REQUEST = "512600000000a31a";
|
|
17
|
+
const servicesFor = device => {
|
|
18
|
+
const isBgm = device === _integratedDevices.IntegratedDevices.BGM;
|
|
19
|
+
return [{
|
|
20
|
+
uuid: isBgm ? BGM_SERVICE : LEGACY_SERVICE,
|
|
21
|
+
monitorUuids: [{
|
|
22
|
+
uuid: isBgm ? BGM_CHARACTERISTIC : LEGACY_CHARACTERISTIC,
|
|
23
|
+
parsingModel: {
|
|
24
|
+
caseValuePosition: [isBgm ? 9 : 1],
|
|
25
|
+
cases: [...(isBgm ? ["00", "0b", "10", "11", "18", "22", "33", "55"] : ["46", ...(device === _integratedDevices.IntegratedDevices.GLUCOCHECK ? ["50"] : [])]).map(caseValue => ({
|
|
26
|
+
caseType: _caseType.CaseType.OTHER,
|
|
27
|
+
caseValue,
|
|
28
|
+
parseDefinitions: []
|
|
29
|
+
})), {
|
|
30
|
+
measurementTypeKey: _core.MeasurementTypeKey.bloodGlucose,
|
|
31
|
+
caseType: _caseType.CaseType.RESULT,
|
|
32
|
+
caseValue: isBgm ? "44" : "26",
|
|
33
|
+
parseDefinitions: [{
|
|
34
|
+
name: "bloodGlucose",
|
|
35
|
+
parseType: "custom",
|
|
36
|
+
byteIndexes: isBgm ? [10, 11] : [3, 2],
|
|
37
|
+
parseReference: 16,
|
|
38
|
+
customParserDefinition: value => {
|
|
39
|
+
if (isBgm) {
|
|
40
|
+
return (0, _hexToByte.hexToByte)(value.slice(0, 2)) * 100 + (0, _hexToByte.hexToByte)(value.slice(2, 4));
|
|
41
|
+
}
|
|
42
|
+
const raw = parseInt(value, 16);
|
|
43
|
+
return device === _integratedDevices.IntegratedDevices.TAIDOC_GLUCOSE ? Number((raw * 18).toFixed(2)) : raw;
|
|
44
|
+
}
|
|
45
|
+
}]
|
|
46
|
+
}]
|
|
47
|
+
}
|
|
48
|
+
}],
|
|
49
|
+
...(isBgm ? {} : {
|
|
50
|
+
writeUuid: {
|
|
51
|
+
uuid: LEGACY_CHARACTERISTIC,
|
|
52
|
+
mainCommandUuid: GLUCOSE_REQUEST
|
|
53
|
+
}
|
|
54
|
+
})
|
|
55
|
+
}];
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
/** Decodes the legacy TaiDoc, GlucoCheck Gold and TeleBGM glucose protocols. */
|
|
59
|
+
class BloodGlucoseDevice extends _btManagedDevice.BTManagedDevice {
|
|
60
|
+
stuckDataTimeout = 60_000;
|
|
61
|
+
constructor(device, params) {
|
|
62
|
+
super(device, params);
|
|
63
|
+
this.mainServices = servicesFor(params.deviceName);
|
|
64
|
+
}
|
|
65
|
+
validatePackage = pkg => pkg.length >= (this.deviceData.name === _integratedDevices.IntegratedDevices.BGM ? 12 : 8);
|
|
66
|
+
handleSuccessResult(result) {
|
|
67
|
+
if (result.caseType !== _caseType.CaseType.RESULT || result.bloodGlucose === 0) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
this.onResult?.(result);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.BloodGlucoseDevice = BloodGlucoseDevice;
|
|
74
|
+
//# sourceMappingURL=blood-glucose.device.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_core","require","_caseType","_integratedDevices","_hexToByte","_btManagedDevice","LEGACY_SERVICE","LEGACY_CHARACTERISTIC","BGM_SERVICE","BGM_CHARACTERISTIC","GLUCOSE_REQUEST","servicesFor","device","isBgm","IntegratedDevices","BGM","uuid","monitorUuids","parsingModel","caseValuePosition","cases","GLUCOCHECK","map","caseValue","caseType","CaseType","OTHER","parseDefinitions","measurementTypeKey","MeasurementTypeKey","bloodGlucose","RESULT","name","parseType","byteIndexes","parseReference","customParserDefinition","value","hexToByte","slice","raw","parseInt","TAIDOC_GLUCOSE","Number","toFixed","writeUuid","mainCommandUuid","BloodGlucoseDevice","BTManagedDevice","stuckDataTimeout","constructor","params","mainServices","deviceName","validatePackage","pkg","length","deviceData","handleSuccessResult","result","onResult","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/blood-glucose/blood-glucose.device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,7 +19,7 @@ const BOSO_MEDICUS_NAME_MATCH = exports.BOSO_MEDICUS_NAME_MATCH = /^boso medicus
|
|
|
19
19
|
* the profile's user/status bytes without inventing a boso-specific wire format.
|
|
20
20
|
*/
|
|
21
21
|
const bosoMedicusMonitor = params => (0, _standardGattDevices.standardBloodPressureDevice)({
|
|
22
|
-
id: params.id,
|
|
22
|
+
id: params.id ?? "boso-medicus-system",
|
|
23
23
|
nameMatch: params.nameMatch ?? BOSO_MEDICUS_NAME_MATCH,
|
|
24
24
|
...(params.stuckDataTimeoutMs === undefined ? {} : {
|
|
25
25
|
stuckDataTimeoutMs: params.stuckDataTimeoutMs
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_standardGattDevices","require","BOSO_MEDICUS_NAME_MATCH","exports","bosoMedicusMonitor","params","standardBloodPressureDevice","id","nameMatch","stuckDataTimeoutMs","undefined"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/boso/boso.medicus.ts"],"mappings":";;;;;;AACA,IAAAA,oBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA,MAAMC,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,6BAA6B;AAc7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,kBAAkB,GACtBC,MAAyB,IAEzB,IAAAC,gDAA2B,EAAC;EAC1BC,EAAE,EAAEF,MAAM,CAACE,EAAE;
|
|
1
|
+
{"version":3,"names":["_standardGattDevices","require","BOSO_MEDICUS_NAME_MATCH","exports","bosoMedicusMonitor","params","standardBloodPressureDevice","id","nameMatch","stuckDataTimeoutMs","undefined"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/boso/boso.medicus.ts"],"mappings":";;;;;;AACA,IAAAA,oBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA,MAAMC,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,6BAA6B;AAc7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,kBAAkB,GACtBC,MAAyB,IAEzB,IAAAC,gDAA2B,EAAC;EAC1BC,EAAE,EAAEF,MAAM,CAACE,EAAE,IAAI,qBAAqB;EACtCC,SAAS,EAAEH,MAAM,CAACG,SAAS,IAAIN,uBAAuB;EACtD,IAAIG,MAAM,CAACI,kBAAkB,KAAKC,SAAS,GACvC,CAAC,CAAC,GACF;IAAED,kBAAkB,EAAEJ,MAAM,CAACI;EAAmB,CAAC;AACvD,CAAC,CAAC;AAACN,OAAA,CAAAC,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
@@ -83,6 +83,9 @@ class BTCommandWriter {
|
|
|
83
83
|
* for - worse than sending nothing, because it would be answered.
|
|
84
84
|
*/
|
|
85
85
|
writeCommand = async command => {
|
|
86
|
+
if (command.delayBeforeWriteMs && command.delayBeforeWriteMs > 0) {
|
|
87
|
+
await new Promise(resolve => setTimeout(resolve, command.delayBeforeWriteMs));
|
|
88
|
+
}
|
|
86
89
|
for (const chunk of this.chunksOf(command.frame)) {
|
|
87
90
|
const written = await this.writeChunk(command, chunk);
|
|
88
91
|
if (!written) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_sLog","require","_sentryLogger","_hexToBase","MAX_WRITE_ATTEMPTS","DEFAULT_ATT_MTU","ATT_WRITE_HEADER_BYTES","BTCommandWriter","pendingWrites","Promise","resolve","mtu","constructor","device","onError","useNegotiatedMtu","Number","isInteger","reset","send","commands","then","writeInOrder","catch","error","command","writeCommand","chunk","chunksOf","frame","written","writeChunk","writeTo","value","withoutResponse","writeCharacteristicWithoutResponseForService","serviceUuid","characteristicUuid","writeCharacteristicWithResponseForService","size","Math","max","chunks","start","length","push","slice","attempt","isConnected","hexToBase64","join","sentryLogger","Error","message","deviceName","name","slog","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-command-writer.ts"],"mappings":";;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAF,OAAA;AAEA,MAAMG,kBAAkB,GAAG,CAAC;;AAE5B;AACA,MAAMC,eAAe,GAAG,EAAE;;AAE1B;AACA,MAAMC,sBAAsB,GAAG,CAAC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,eAAe,CAAC;EACnBC,aAAa,GAAkBC,OAAO,CAACC,OAAO,CAAC,CAAC;EAChDC,GAAG,GAAGN,eAAe;EAEtBO,WAAWA,CACCC,MAAc,EACdC,OAA2C,EAC5D;IAAA,KAFiBD,MAAc,GAAdA,MAAc;IAAA,KACdC,OAA2C,GAA3CA,OAA2C;EAC3D;;EAEH;AACF;AACA;AACA;AACA;AACA;AACA;EACSC,gBAAgB,GAAIJ,GAAY,IAAW;IAChD,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAIK,MAAM,CAACC,SAAS,CAACN,GAAG,CAAC,IAAIA,GAAG,GAAG,IAAI,CAACA,GAAG,EAAE;MACtE,IAAI,CAACA,GAAG,GAAGA,GAAG;IAChB;EACF,CAAC;;EAED;EACOO,KAAK,GAAGA,CAAA,KAAY;IACzB,IAAI,CAACV,aAAa,GAAGC,OAAO,CAACC,OAAO,CAAC,CAAC;EACxC,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACSS,IAAI,GAAIC,QAAkC,IAAoB;IACnE,IAAI,CAACZ,aAAa,GAAG,IAAI,CAACA,aAAa,CACpCa,IAAI,CAAC,MAAM,IAAI,CAACC,YAAY,CAACF,QAAQ,CAAC,CAAC,CACvCG,KAAK,CAAEC,KAAK,IAAK;MAChB,IAAI,CAACV,OAAO,GAAGU,KAAyB,CAAC;IAC3C,CAAC,CAAC;IAEJ,OAAO,IAAI,CAAChB,aAAa;EAC3B,CAAC;EAEOc,YAAY,GAAG,MACrBF,QAAkC,IAChB;IAClB,KAAK,MAAMK,OAAO,IAAIL,QAAQ,EAAE;MAC9B,MAAM,IAAI,CAACM,YAAY,CAACD,OAAO,CAAC;IAClC;EACF,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACUC,YAAY,GAAG,MAAOD,OAAsB,IAAoB;IACtE,KAAK,MAAME,KAAK,IAAI,IAAI,CAACC,QAAQ,
|
|
1
|
+
{"version":3,"names":["_sLog","require","_sentryLogger","_hexToBase","MAX_WRITE_ATTEMPTS","DEFAULT_ATT_MTU","ATT_WRITE_HEADER_BYTES","BTCommandWriter","pendingWrites","Promise","resolve","mtu","constructor","device","onError","useNegotiatedMtu","Number","isInteger","reset","send","commands","then","writeInOrder","catch","error","command","writeCommand","delayBeforeWriteMs","setTimeout","chunk","chunksOf","frame","written","writeChunk","writeTo","value","withoutResponse","writeCharacteristicWithoutResponseForService","serviceUuid","characteristicUuid","writeCharacteristicWithResponseForService","size","Math","max","chunks","start","length","push","slice","attempt","isConnected","hexToBase64","join","sentryLogger","Error","message","deviceName","name","slog","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-command-writer.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,7 +24,7 @@ class BTConnectionHandler {
|
|
|
24
24
|
this.callbacks.onStatusChanged?.(_deviceStatus.DeviceStatus.CONNECTED);
|
|
25
25
|
await this.device.discoverAllServicesAndCharacteristics();
|
|
26
26
|
this.onDisconnectSubscription = this.device.onDisconnected(this.onDeviceDisconnected);
|
|
27
|
-
this.subscribeToAllCharacteristics();
|
|
27
|
+
await this.subscribeToAllCharacteristics();
|
|
28
28
|
} catch (error) {
|
|
29
29
|
(0, _sentryLogger.sentryLogger)("error", "BT_MANAGER: Error connecting to device", {
|
|
30
30
|
error: error instanceof Error ? error.message : error,
|
|
@@ -108,7 +108,7 @@ class BTConnectionHandler {
|
|
|
108
108
|
error: error instanceof Error ? error.message : error,
|
|
109
109
|
deviceName: this.device.name
|
|
110
110
|
});
|
|
111
|
-
if (error) {
|
|
111
|
+
if (error && !this.callbacks.isNormalDisconnect?.()) {
|
|
112
112
|
this.callbacks.onError?.(error);
|
|
113
113
|
}
|
|
114
114
|
|
|
@@ -140,7 +140,11 @@ class BTConnectionHandler {
|
|
|
140
140
|
this.characteristicSubscriptions.push(subscription);
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
|
-
|
|
143
|
+
const initialCommands = this.callbacks.initialCommands?.() ?? [];
|
|
144
|
+
if (initialCommands.length > 0) {
|
|
145
|
+
await this.sendCommands(initialCommands);
|
|
146
|
+
this.callbacks.onCommandSent?.();
|
|
147
|
+
}
|
|
144
148
|
} catch (error) {
|
|
145
149
|
(0, _sentryLogger.sentryLogger)("error", "DEVICE: Error subscribing to all characteristics", {
|
|
146
150
|
error: error instanceof Error ? error.message : error,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_sentryLogger","require","_deviceStatus","_base64ToHex","_btCommandWriter","BTConnectionHandler","characteristicSubscriptions","constructor","device","mainServices","callbacks","preferredMtu","writer","BTCommandWriter","onError","connect","connectWithRetries","requestPreferredMtu","onStatusChanged","DeviceStatus","CONNECTED","discoverAllServicesAndCharacteristics","onDisconnectSubscription","onDisconnected","onDeviceDisconnected","subscribeToAllCharacteristics","error","sentryLogger","Error","message","deviceName","name","DISCONNECTED","destroy","forEach","sub","remove","reset","sendCommands","commands","send","negotiated","requestMTU","useNegotiatedMtu","mtu","deviceId","id","requestedMtu","String","maxRetries","retryDelay","maxDelay","connected","retryCount","isConnected","errorCode","willRetry","Promise","resolve","setTimeout","Math","min","pow","mainService","monitorUuid","monitorUuids","subscription","monitorCharacteristicForService","uuid","result","value","hexValue","base64ToHex","onDataReceived","push","initialCommands","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-connection-handler.ts"],"mappings":";;;;;;AAEA,IAAAA,aAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AAEA,IAAAE,YAAA,GAAAF,OAAA;AAEA,IAAAG,gBAAA,GAAAH,OAAA;
|
|
1
|
+
{"version":3,"names":["_sentryLogger","require","_deviceStatus","_base64ToHex","_btCommandWriter","BTConnectionHandler","characteristicSubscriptions","constructor","device","mainServices","callbacks","preferredMtu","writer","BTCommandWriter","onError","connect","connectWithRetries","requestPreferredMtu","onStatusChanged","DeviceStatus","CONNECTED","discoverAllServicesAndCharacteristics","onDisconnectSubscription","onDisconnected","onDeviceDisconnected","subscribeToAllCharacteristics","error","sentryLogger","Error","message","deviceName","name","DISCONNECTED","destroy","forEach","sub","remove","reset","sendCommands","commands","send","negotiated","requestMTU","useNegotiatedMtu","mtu","deviceId","id","requestedMtu","String","maxRetries","retryDelay","maxDelay","connected","retryCount","isConnected","errorCode","willRetry","Promise","resolve","setTimeout","Math","min","pow","isNormalDisconnect","mainService","monitorUuid","monitorUuids","subscription","monitorCharacteristicForService","uuid","result","value","hexValue","base64ToHex","onDataReceived","push","initialCommands","length","onCommandSent","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-connection-handler.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -53,6 +53,11 @@ class BTDataProcessor {
|
|
|
53
53
|
this.readWholeBuffer(uuid, buffer);
|
|
54
54
|
};
|
|
55
55
|
|
|
56
|
+
/** Starts the connection watchdog once a device has received its first command. */
|
|
57
|
+
armStuckTimeout = () => {
|
|
58
|
+
this.startStuckTimeout();
|
|
59
|
+
};
|
|
60
|
+
|
|
56
61
|
/**
|
|
57
62
|
* Drains every complete frame the buffer holds.
|
|
58
63
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_sentryLogger","require","_caseType","_frameReadStatus","_frameParser","_measurementStateMachine","BTDataProcessor","buffers","Map","constructor","device","mainServices","stuckDataTimeoutDuration","callbacks","frameReader","frameParser","FrameParser","measurementState","MeasurementStateMachine","onStatusChanged","onStreamStart","onResult","currentUuid","destroy","clear","reset","clearTimeout","stuckDataTimeout","undefined","processData","uuid","hexValue","String","toLowerCase","buffer","get","push","set","startStuckTimeout","readFramesFromBuffer","readWholeBuffer","reader","length","result","readFrame","hasProgressed","consumedBytes","splice","status","FrameReadStatus","COMPLETE","handleFrame","frame","answerFrame","CORRUPT","reportCorruptFrame","INCOMPLETE","validatePackage","commands","nextCommand","sendCommands","data","parse","sentryLogger","join","dependentData","parsingCase","caseType","CaseType","DEPENDENT","handleDependentResult","advance","onError","Error","cause","message","setTimeout","cancelConnection","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-data-processor.ts"],"mappings":";;;;;;AAGA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAIA,IAAAE,gBAAA,GAAAF,OAAA;AAKA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,wBAAA,GAAAJ,OAAA;AAgCO,MAAMK,eAAe,CAAwB;EAClD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACUC,OAAO,GAAG,IAAIC,GAAG,CAAmB,CAAC;EAI7CC,WAAWA,CACQC,MAAc,EAC/BC,YAA2C,EAC1BC,wBAAgC,EAChCC,SAAoC,EACpCC,WAAyB,EAC1C;IAAA,KALiBJ,MAAc,GAAdA,MAAc;IAAA,KAEdE,wBAAgC,GAAhCA,wBAAgC;IAAA,KAChCC,SAAoC,GAApCA,SAAoC;IAAA,KACpCC,WAAyB,GAAzBA,WAAyB;IAE1C,IAAI,CAACC,WAAW,GAAG,IAAIC,wBAAW,CAACL,YAAY,CAAC;IAChD,IAAI,CAACM,gBAAgB,GAAG,IAAIC,gDAAuB,CAAC;MAClDC,eAAe,EAAEN,SAAS,CAACM,eAAe;MAC1CC,aAAa,EAAEP,SAAS,CAACO,aAAa;MACtCC,QAAQ,EAAER,SAAS,CAACQ;IACtB,CAAC,CAAC;EACJ;EAEQC,WAAW,GAAW,EAAE;EAEzBC,OAAO,GAAGA,CAAA,KAAM;IACrB,IAAI,CAAChB,OAAO,CAACiB,KAAK,CAAC,CAAC;IACpB,IAAI,CAACF,WAAW,GAAG,EAAE;IACrB,IAAI,CAACL,gBAAgB,CAACQ,KAAK,CAAC,CAAC;IAC7BC,YAAY,CAAC,IAAI,CAACC,gBAAgB,CAAC;IACnC,IAAI,CAACA,gBAAgB,GAAGC,SAAS;EACnC,CAAC;EAEMC,WAAW,GAAGA,CAACC,IAAY,EAAEC,QAAkB,KAAK;IACzD,IAAI,CAACT,WAAW,GAAGU,MAAM,CAACF,IAAI,IAAI,EAAE,CAAC,CAACG,WAAW,CAAC,CAAC;IAEnD,MAAMC,MAAM,GAAG,IAAI,CAAC3B,OAAO,CAAC4B,GAAG,CAAC,IAAI,CAACb,WAAW,CAAC,IAAI,EAAE;IAEvDY,MAAM,CAACE,IAAI,CAAC,GAAGL,QAAQ,CAAC;IACxB,IAAI,CAACxB,OAAO,CAAC8B,GAAG,CAAC,IAAI,CAACf,WAAW,EAAEY,MAAM,CAAC;IAC1C,IAAI,CAACI,iBAAiB,CAAC,CAAC;IAExB,IAAI,IAAI,CAACxB,WAAW,EAAE;MACpB,IAAI,CAACyB,oBAAoB,CAAC,IAAI,CAACzB,WAAW,EAAEgB,IAAI,EAAEI,MAAM,CAAC;MAEzD;IACF;IAEA,IAAI,CAACM,eAAe,CAACV,IAAI,EAAEI,MAAM,CAAC;EACpC,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"names":["_sentryLogger","require","_caseType","_frameReadStatus","_frameParser","_measurementStateMachine","BTDataProcessor","buffers","Map","constructor","device","mainServices","stuckDataTimeoutDuration","callbacks","frameReader","frameParser","FrameParser","measurementState","MeasurementStateMachine","onStatusChanged","onStreamStart","onResult","currentUuid","destroy","clear","reset","clearTimeout","stuckDataTimeout","undefined","processData","uuid","hexValue","String","toLowerCase","buffer","get","push","set","startStuckTimeout","readFramesFromBuffer","readWholeBuffer","armStuckTimeout","reader","length","result","readFrame","hasProgressed","consumedBytes","splice","status","FrameReadStatus","COMPLETE","handleFrame","frame","answerFrame","CORRUPT","reportCorruptFrame","INCOMPLETE","validatePackage","commands","nextCommand","sendCommands","data","parse","sentryLogger","join","dependentData","parsingCase","caseType","CaseType","DEPENDENT","handleDependentResult","advance","onError","Error","cause","message","setTimeout","cancelConnection","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-data-processor.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -147,7 +147,9 @@ class BTManagedDevice {
|
|
|
147
147
|
onDataReceived: (uuid, hexValue) => {
|
|
148
148
|
this.dataProcessor?.processData(uuid, hexValue);
|
|
149
149
|
},
|
|
150
|
-
initialCommands: () => sequencer.initialCommands()
|
|
150
|
+
initialCommands: () => sequencer.initialCommands(),
|
|
151
|
+
onCommandSent: () => this.dataProcessor?.armStuckTimeout(),
|
|
152
|
+
isNormalDisconnect: () => sequencer.isNormalDisconnect?.() ?? false
|
|
151
153
|
}, this.preferredMtu);
|
|
152
154
|
this.dataProcessor = new _btDataProcessor.BTDataProcessor(this.device, this.mainServices, this.stuckDataTimeout, {
|
|
153
155
|
onStatusChanged: this.onDeviceStatusChanged?.bind(this),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_sentryLogger","require","_deviceStatus","_summariseMeasurementForLog","_supportedMeasurementTypeKeys","_btConnectionHandler","_btDataProcessor","_pollingCommandSequencer","BTManagedDevice","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","sentryLogger","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","status","measurementTypeKey","error","Error","message","caseType","_","data","summariseMeasurementForLog","destroy","connectionHandler","dataProcessor","undefined","connect","supportedMeasurementTypeKeys","mainServices","sequencer","createCommandSequencer","pollingSequencerFor","BTConnectionHandler","onStatusChanged","bind","DeviceStatus","DISCONNECTED","onDataReceived","uuid","hexValue","processData","initialCommands","preferredMtu","BTDataProcessor","stuckDataTimeout","onStreamStart","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","handleDependentResult","frameReader","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_sentryLogger","require","_deviceStatus","_summariseMeasurementForLog","_supportedMeasurementTypeKeys","_btConnectionHandler","_btDataProcessor","_pollingCommandSequencer","BTManagedDevice","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","sentryLogger","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","status","measurementTypeKey","error","Error","message","caseType","_","data","summariseMeasurementForLog","destroy","connectionHandler","dataProcessor","undefined","connect","supportedMeasurementTypeKeys","mainServices","sequencer","createCommandSequencer","pollingSequencerFor","BTConnectionHandler","onStatusChanged","bind","DeviceStatus","DISCONNECTED","onDataReceived","uuid","hexValue","processData","initialCommands","onCommandSent","armStuckTimeout","isNormalDisconnect","preferredMtu","BTDataProcessor","stuckDataTimeout","onStreamStart","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","handleDependentResult","frameReader","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -43,7 +43,12 @@ const createLepuSequencer = (lepu, report) => new _lepuIdentityGate.LepuIdentity
|
|
|
43
43
|
serviceUuid: lepu.write.serviceUuid,
|
|
44
44
|
characteristicUuid: lepu.write.characteristicUuid
|
|
45
45
|
},
|
|
46
|
-
builder: new _lepuCommandBuilder.LepuCommandBuilder(lepu.startBytes[0] ?? DEFAULT_START_BYTE
|
|
46
|
+
builder: new _lepuCommandBuilder.LepuCommandBuilder(lepu.requestStartByte ?? lepu.startBytes[0] ?? DEFAULT_START_BYTE, {
|
|
47
|
+
fixedSequence: lepu.protocol === "viatom-oxygen"
|
|
48
|
+
}),
|
|
49
|
+
protocol: lepu.protocol,
|
|
50
|
+
writeWithoutResponse: lepu.writeWithoutResponse,
|
|
51
|
+
setClockBeforeInfo: lepu.setClockBeforeInfo,
|
|
47
52
|
expectedDeviceTypes: lepu.expectedDeviceTypes,
|
|
48
53
|
...(lepu.pollCommand === undefined ? {} : {
|
|
49
54
|
pollCommand: lepu.pollCommand
|
package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_sentryLogger","require","_lepuCommandBuilder","_lepuIdentityGate","DEFAULT_START_BYTE","recordLepuIdentity","deviceData","info","sn","serialNumber","sentryLogger","deviceId","id","deviceName","name","deviceType","branchCode","protocolMaxLength","exports","createLepuSequencer","lepu","report","LepuIdentityGate","write","serviceUuid","characteristicUuid","builder","LepuCommandBuilder","startBytes","expectedDeviceTypes","pollCommand","undefined","onIdentified","onRefused"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom-lepu-sequencer.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAIA,IAAAC,mBAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AAEA;AACA,MAAMG,kBAAkB,GAAG,IAAI;AAO/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,QAAQ,EAAEL,UAAU,CAACM,EAAE;IACvBC,UAAU,EAAEP,UAAU,CAACQ,IAAI;IAC3BC,UAAU,EAAER,IAAI,CAACQ,UAAU;IAC3BC,UAAU,EAAET,IAAI,CAACS,UAAU;IAC3BC,iBAAiB,EAAEV,IAAI,CAACU;EAC1B,CAAC,CAAC;AACJ,CAAC;AAACC,OAAA,CAAAb,kBAAA,GAAAA,kBAAA;AAEF,MAAMc,mBAAmB,GAAGA,CAC1BC,IAAoB,EACpBC,MAAsB,KAEtB,IAAIC,kCAAgB,CAAC;EACnBC,KAAK,EAAE;IACLC,WAAW,EAAEJ,IAAI,CAACG,KAAK,CAACC,WAAW;IACnCC,kBAAkB,EAAEL,IAAI,CAACG,KAAK,CAACE;EACjC,CAAC;EACDC,OAAO,EAAE,IAAIC,sCAAkB,CAACP,IAAI,CAACQ,UAAU,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"names":["_sentryLogger","require","_lepuCommandBuilder","_lepuIdentityGate","DEFAULT_START_BYTE","recordLepuIdentity","deviceData","info","sn","serialNumber","sentryLogger","deviceId","id","deviceName","name","deviceType","branchCode","protocolMaxLength","exports","createLepuSequencer","lepu","report","LepuIdentityGate","write","serviceUuid","characteristicUuid","builder","LepuCommandBuilder","requestStartByte","startBytes","fixedSequence","protocol","writeWithoutResponse","setClockBeforeInfo","expectedDeviceTypes","pollCommand","undefined","onIdentified","onRefused"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom-lepu-sequencer.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAIA,IAAAC,mBAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AAEA;AACA,MAAMG,kBAAkB,GAAG,IAAI;AAO/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,QAAQ,EAAEL,UAAU,CAACM,EAAE;IACvBC,UAAU,EAAEP,UAAU,CAACQ,IAAI;IAC3BC,UAAU,EAAER,IAAI,CAACQ,UAAU;IAC3BC,UAAU,EAAET,IAAI,CAACS,UAAU;IAC3BC,iBAAiB,EAAEV,IAAI,CAACU;EAC1B,CAAC,CAAC;AACJ,CAAC;AAACC,OAAA,CAAAb,kBAAA,GAAAA,kBAAA;AAEF,MAAMc,mBAAmB,GAAGA,CAC1BC,IAAoB,EACpBC,MAAsB,KAEtB,IAAIC,kCAAgB,CAAC;EACnBC,KAAK,EAAE;IACLC,WAAW,EAAEJ,IAAI,CAACG,KAAK,CAACC,WAAW;IACnCC,kBAAkB,EAAEL,IAAI,CAACG,KAAK,CAACE;EACjC,CAAC;EACDC,OAAO,EAAE,IAAIC,sCAAkB,CAACP,IAAI,CAACQ,gBAAgB,IAAIR,IAAI,CAACS,UAAU,CAAC,CAAC,CAAC,IAAIzB,kBAAkB,EAAE;IACjG0B,aAAa,EAAEV,IAAI,CAACW,QAAQ,KAAK;EACnC,CAAC,CAAC;EACFA,QAAQ,EAAEX,IAAI,CAACW,QAAQ;EACvBC,oBAAoB,EAAEZ,IAAI,CAACY,oBAAoB;EAC/CC,kBAAkB,EAAEb,IAAI,CAACa,kBAAkB;EAC3CC,mBAAmB,EAAEd,IAAI,CAACc,mBAAmB;EAC7C,IAAId,IAAI,CAACe,WAAW,KAAKC,SAAS,GAAG,CAAC,CAAC,GAAG;IAAED,WAAW,EAAEf,IAAI,CAACe;EAAY,CAAC,CAAC;EAC5EE,YAAY,EAAEhB,MAAM,CAACgB,YAAY;EACjCC,SAAS,EAAEjB,MAAM,CAACiB;AACpB,CAAC,CAAC;AAACpB,OAAA,CAAAC,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
|
@@ -4,13 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.CustomDevice = void 0;
|
|
7
|
+
var _core = require("@ovok/core");
|
|
7
8
|
var _caseType = require("../../../types/case-type.js");
|
|
8
9
|
var _createFrameValidator = require("../../../utils/create-frame-validator.js");
|
|
9
10
|
var _parseMeasurement = require("../../../utils/parse-measurement.js");
|
|
10
11
|
var _rejectCustomReading = require("../../../utils/reject-custom-reading.js");
|
|
11
12
|
var _btManagedDevice = require("../bt-managed-device.js");
|
|
13
|
+
var _lepuCommandBuilder = require("../lepu/lepu.command-builder.js");
|
|
14
|
+
var _lepuFileTransfer = require("../lepu/lepu.file-transfer.js");
|
|
12
15
|
var _lepuFrameReader = require("../lepu/lepu.frame-reader.js");
|
|
16
|
+
var _viatomEcgFiles = require("../viatom/viatom.ecg-files.js");
|
|
13
17
|
var _customLepuSequencer = require("./custom-lepu-sequencer.js");
|
|
18
|
+
/* eslint-disable max-lines */
|
|
19
|
+
|
|
14
20
|
/**
|
|
15
21
|
* Runs a device registered with defineCustomDevice.
|
|
16
22
|
*
|
|
@@ -49,11 +55,38 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
|
|
|
49
55
|
return;
|
|
50
56
|
}
|
|
51
57
|
this.frameReader = new _lepuFrameReader.LepuFrameReader(lepu.startBytes);
|
|
52
|
-
this.createCommandSequencer = () =>
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
58
|
+
this.createCommandSequencer = () => {
|
|
59
|
+
if (lepu.fileTransfer === "ecg") {
|
|
60
|
+
return new _lepuFileTransfer.LepuFileTransfer({
|
|
61
|
+
write: {
|
|
62
|
+
serviceUuid: lepu.write.serviceUuid,
|
|
63
|
+
characteristicUuid: lepu.write.characteristicUuid
|
|
64
|
+
},
|
|
65
|
+
builder: new _lepuCommandBuilder.LepuCommandBuilder(lepu.startBytes[0] ?? "a5"),
|
|
66
|
+
onFile: this.reportViatomEcgFile,
|
|
67
|
+
onError: reason => this.onError?.(new Error(`Viatom ECG: ${reason}`))
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
return (0, _customLepuSequencer.createLepuSequencer)(lepu, {
|
|
71
|
+
onIdentified: this.onIdentified,
|
|
72
|
+
onRefused: this.onIdentityRefused
|
|
73
|
+
});
|
|
74
|
+
};
|
|
56
75
|
}
|
|
76
|
+
reportViatomEcgFile = file => {
|
|
77
|
+
const decoded = (0, _viatomEcgFiles.decodeViatomEcgRecording)(file.content);
|
|
78
|
+
if (decoded.samples.length === 0) {
|
|
79
|
+
this.onError?.(new Error(`Viatom ECG: file "${file.name}" had no samples.`));
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
this.onResult?.({
|
|
83
|
+
measurementTypeKey: _core.MeasurementTypeKey.ecg,
|
|
84
|
+
caseType: _caseType.CaseType.RESULT,
|
|
85
|
+
diagnosticResult: _core.EcgDiagnosticFlag.REGULAR,
|
|
86
|
+
diagramPoints: decoded.samples,
|
|
87
|
+
duration: decoded.duration
|
|
88
|
+
});
|
|
89
|
+
};
|
|
57
90
|
onIdentified = info => (0, _customLepuSequencer.recordLepuIdentity)(this.deviceData, info);
|
|
58
91
|
onIdentityRefused = reason => {
|
|
59
92
|
this.onError?.(new Error(`Custom device "${this.definition.id}" was not addressed: ${reason}.`));
|
|
@@ -73,7 +106,9 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
|
|
|
73
106
|
*/
|
|
74
107
|
handleDependentResult = data => {
|
|
75
108
|
try {
|
|
76
|
-
this.
|
|
109
|
+
if (this.shouldReportDependentResult(data)) {
|
|
110
|
+
this.reportFrame(data);
|
|
111
|
+
}
|
|
77
112
|
} catch (error) {
|
|
78
113
|
this.onError?.(error);
|
|
79
114
|
}
|
|
@@ -86,6 +121,9 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
|
|
|
86
121
|
};
|
|
87
122
|
};
|
|
88
123
|
|
|
124
|
+
/** Lets a stateful protocol suppress a duplicate result while still answering its frame. */
|
|
125
|
+
shouldReportDependentResult = _data => true;
|
|
126
|
+
|
|
89
127
|
/**
|
|
90
128
|
* Stream frames reach this while the device is measuring. They carry no fields, and the
|
|
91
129
|
* readings themselves are reported from handleDependentResult, so there is nothing to do.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_core","require","_caseType","_createFrameValidator","_parseMeasurement","_rejectCustomReading","_btManagedDevice","_lepuCommandBuilder","_lepuFileTransfer","_lepuFrameReader","_viatomEcgFiles","_customLepuSequencer","CustomDevice","BTManagedDevice","validators","Map","constructor","device","params","definition","mainServices","stuckDataTimeout","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","createFrameValidator","lepu","frameReader","LepuFrameReader","startBytes","createCommandSequencer","fileTransfer","LepuFileTransfer","write","serviceUuid","characteristicUuid","builder","LepuCommandBuilder","onFile","reportViatomEcgFile","onError","reason","Error","createLepuSequencer","onIdentified","onRefused","onIdentityRefused","file","decoded","decodeViatomEcgRecording","content","samples","length","name","onResult","measurementTypeKey","MeasurementTypeKey","ecg","caseType","CaseType","RESULT","diagnosticResult","EcgDiagnosticFlag","REGULAR","diagramPoints","duration","info","recordLepuIdentity","deviceData","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","shouldReportDependentResult","reportFrame","error","parsingCase","OTHER","_data","handleSuccessResult","repeated","repeatedRecords","report","parsedData","records","Math","floor","from","recordBytes","record","parseMeasurement","measurements","discard","measurement","reportMeasurement","discardedReadingError","reading","fieldNames","rejection","map","rejectCustomReading","fields","find","message","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -23,7 +23,7 @@ class FrameParser {
|
|
|
23
23
|
return;
|
|
24
24
|
}
|
|
25
25
|
const caseValue = this.readCaseValue(parsingModel, frame);
|
|
26
|
-
const parsingCase = parsingModel.cases?.find(declared => declared.caseValue === caseValue);
|
|
26
|
+
const parsingCase = parsingModel.cases?.find(declared => frame.length >= (declared.minLengthBytes ?? 0) && (declared.caseValue === "*" || this.matchesSelector(declared.caseValue, caseValue)));
|
|
27
27
|
if (!parsingCase) {
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
@@ -47,6 +47,18 @@ class FrameParser {
|
|
|
47
47
|
}
|
|
48
48
|
return undefined;
|
|
49
49
|
}
|
|
50
|
+
matchesSelector(pattern, value) {
|
|
51
|
+
if (pattern.length !== value.length) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
for (let index = 0; index < pattern.length; index++) {
|
|
55
|
+
const expected = pattern[index];
|
|
56
|
+
if (expected !== "?" && expected !== value[index]) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
50
62
|
readCaseValue(parsingModel, frame) {
|
|
51
63
|
return parsingModel.caseValuePosition?.map(index => frame[index]).join("") || "";
|
|
52
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_parseMeasurement","require","FrameParser","constructor","mainServices","parse","uuid","frame","parsingModel","findParsingModel","caseValue","readCaseValue","parsingCase","cases","find","declared","parsedData","parseMeasurement","measurementTypeKey","mainService","characteristic","monitorUuids","monitored","toLowerCase","undefined","
|
|
1
|
+
{"version":3,"names":["_parseMeasurement","require","FrameParser","constructor","mainServices","parse","uuid","frame","parsingModel","findParsingModel","caseValue","readCaseValue","parsingCase","cases","find","declared","length","minLengthBytes","matchesSelector","parsedData","parseMeasurement","measurementTypeKey","mainService","characteristic","monitorUuids","monitored","toLowerCase","undefined","pattern","value","index","expected","caseValuePosition","map","join","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/frame-parser.ts"],"mappings":";;;;;;AAMA,IAAAA,iBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,WAAW,CAAwB;EAC9CC,WAAWA,CAAkBC,YAA2C,EAAE;IAAA,KAA7CA,YAA2C,GAA3CA,YAA2C;EAAG;EAEpEC,KAAKA,CACVC,IAAY,EACZC,KAAe,EAC8B;IAC7C,MAAMC,YAAY,GAAG,IAAI,CAACC,gBAAgB,CAACH,IAAI,CAAC;IAEhD,IAAI,CAACE,YAAY,EAAE;MACjB;IACF;IAEA,MAAME,SAAS,GAAG,IAAI,CAACC,aAAa,CAACH,YAAY,EAAED,KAAK,CAAC;IAEzD,MAAMK,WAAW,GAAGJ,YAAY,CAACK,KAAK,EAAEC,IAAI,CACzCC,QAAQ,IACPR,KAAK,CAACS,MAAM,KAAKD,QAAQ,CAACE,cAAc,IAAI,CAAC,CAAC,KAC7CF,QAAQ,CAACL,SAAS,KAAK,GAAG,IACzB,IAAI,CAACQ,eAAe,CAACH,QAAQ,CAACL,SAAS,EAAEA,SAAS,CAAC,CACzD,CAAC;IAED,IAAI,CAACE,WAAW,EAAE;MAChB;IACF;IAEA,MAAMO,UAAU,GAAG,IAAAC,kCAAgB,EAACb,KAAK,EAAEK,WAAW,CAAC;IAEvD,IAAI,CAACO,UAAU,EAAE;MACf;IACF;IAEA,OAAO;MACLP,WAAW;MACXS,kBAAkB,EAAET,WAAW,CAACS,kBAAkB;MAClDF,UAAU,EAAEA,UAAwC;MACpDZ;IACF,CAAC;EACH;EAEQE,gBAAgBA,CAACH,IAAY,EAA4B;IAC/D,KAAK,MAAMgB,WAAW,IAAI,IAAI,CAAClB,YAAY,EAAE;MAC3C,MAAMmB,cAAc,GAAGD,WAAW,CAACE,YAAY,CAACV,IAAI,CACjDW,SAAS,IAAKA,SAAS,CAACnB,IAAI,CAACoB,WAAW,CAAC,CAAC,KAAKpB,IAAI,CAACoB,WAAW,CAAC,CACnE,CAAC;MAED,IAAIH,cAAc,EAAE;QAClB,OAAOA,cAAc,CAACf,YAAY;MACpC;IACF;IAEA,OAAOmB,SAAS;EAClB;EAEQT,eAAeA,CAACU,OAAe,EAAEC,KAAa,EAAW;IAC/D,IAAID,OAAO,CAACZ,MAAM,KAAKa,KAAK,CAACb,MAAM,EAAE;MACnC,OAAO,KAAK;IACd;IAEA,KAAK,IAAIc,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGF,OAAO,CAACZ,MAAM,EAAEc,KAAK,EAAE,EAAE;MACnD,MAAMC,QAAQ,GAAGH,OAAO,CAACE,KAAK,CAAC;MAE/B,IAAIC,QAAQ,KAAK,GAAG,IAAIA,QAAQ,KAAKF,KAAK,CAACC,KAAK,CAAC,EAAE;QACjD,OAAO,KAAK;MACd;IACF;IAEA,OAAO,IAAI;EACb;EAEQnB,aAAaA,CAACH,YAA0B,EAAED,KAAe,EAAU;IACzE,OACEC,YAAY,CAACwB,iBAAiB,EAAEC,GAAG,CAAEH,KAAK,IAAKvB,KAAK,CAACuB,KAAK,CAAC,CAAC,CAACI,IAAI,CAAC,EAAE,CAAC,IACrE,EAAE;EAEN;AACF;AAACC,OAAA,CAAAjC,WAAA,GAAAA,WAAA","ignoreList":[]}
|
|
@@ -31,13 +31,16 @@ const toHex = byte => (byte & BYTE_MASK).toString(16).padStart(2, "0");
|
|
|
31
31
|
*/
|
|
32
32
|
class LepuCommandBuilder {
|
|
33
33
|
sequenceNumber = 0;
|
|
34
|
-
constructor(startByte = "a5") {
|
|
34
|
+
constructor(startByte = "a5", options = {}) {
|
|
35
35
|
this.startByte = startByte;
|
|
36
|
+
this.options = options;
|
|
36
37
|
}
|
|
37
38
|
build(command, payload = []) {
|
|
38
|
-
const header = [this.startByte, toHex(command), toHex(~command), toHex(REQUEST_TYPE), toHex(this.sequenceNumber), toHex(payload.length), toHex(Math.floor(payload.length / BYTE_VALUES))];
|
|
39
|
+
const header = [this.startByte, toHex(command), toHex(~command), toHex(REQUEST_TYPE), toHex(this.options.fixedSequence ? 0 : this.sequenceNumber), toHex(payload.length), toHex(Math.floor(payload.length / BYTE_VALUES))];
|
|
39
40
|
const frame = [...header, ...payload.map(toHex)];
|
|
40
|
-
this.
|
|
41
|
+
if (!this.options.fixedSequence) {
|
|
42
|
+
this.advanceSequence();
|
|
43
|
+
}
|
|
41
44
|
return [...frame, toHex((0, _calculateCrc.calculateCrc8)(frame, frame.length))];
|
|
42
45
|
}
|
|
43
46
|
advanceSequence() {
|
package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.command-builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_calculateCrc","require","REQUEST_TYPE","BYTE_MASK","BYTE_VALUES","MAX_SEQUENCE_NUMBER","toHex","byte","toString","padStart","LepuCommandBuilder","sequenceNumber","constructor","startByte","build","command","payload","header","length","Math","floor","frame","map","advanceSequence","calculateCrc8","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.command-builder.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAEA,MAAMC,YAAY,GAAG,IAAI;AACzB,MAAMC,SAAS,GAAG,IAAI;AACtB,MAAMC,WAAW,GAAG,KAAK;;AAEzB;AACA,MAAMC,mBAAmB,GAAG,GAAG;
|
|
1
|
+
{"version":3,"names":["_calculateCrc","require","REQUEST_TYPE","BYTE_MASK","BYTE_VALUES","MAX_SEQUENCE_NUMBER","toHex","byte","toString","padStart","LepuCommandBuilder","sequenceNumber","constructor","startByte","options","build","command","payload","header","fixedSequence","length","Math","floor","frame","map","advanceSequence","calculateCrc8","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.command-builder.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAEA,MAAMC,YAAY,GAAG,IAAI;AACzB,MAAMC,SAAS,GAAG,IAAI;AACtB,MAAMC,WAAW,GAAG,KAAK;;AAEzB;AACA,MAAMC,mBAAmB,GAAG,GAAG;AAM/B,MAAMC,KAAK,GAAIC,IAAY,IACzB,CAACA,IAAI,GAAGJ,SAAS,EAAEK,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,kBAAkB,CAAC;EACtBC,cAAc,GAAG,CAAC;EAEnBC,WAAWA,CACCC,SAAiB,GAAG,IAAI,EACxBC,OAAkC,GAAG,CAAC,CAAC,EACxD;IAAA,KAFiBD,SAAiB,GAAjBA,SAAiB;IAAA,KACjBC,OAAkC,GAAlCA,OAAkC;EAClD;EAEIC,KAAKA,CAACC,OAAe,EAAEC,OAA0B,GAAG,EAAE,EAAY;IACvE,MAAMC,MAAM,GAAG,CACb,IAAI,CAACL,SAAS,EACdP,KAAK,CAACU,OAAO,CAAC,EACdV,KAAK,CAAC,CAACU,OAAO,CAAC,EACfV,KAAK,CAACJ,YAAY,CAAC,EACnBI,KAAK,CAAC,IAAI,CAACQ,OAAO,CAACK,aAAa,GAAG,CAAC,GAAG,IAAI,CAACR,cAAc,CAAC,EAC3DL,KAAK,CAACW,OAAO,CAACG,MAAM,CAAC,EACrBd,KAAK,CAACe,IAAI,CAACC,KAAK,CAACL,OAAO,CAACG,MAAM,GAAGhB,WAAW,CAAC,CAAC,CAChD;IAED,MAAMmB,KAAK,GAAG,CAAC,GAAGL,MAAM,EAAE,GAAGD,OAAO,CAACO,GAAG,CAAClB,KAAK,CAAC,CAAC;IAEhD,IAAI,CAAC,IAAI,CAACQ,OAAO,CAACK,aAAa,EAAE;MAC/B,IAAI,CAACM,eAAe,CAAC,CAAC;IACxB;IAEA,OAAO,CAAC,GAAGF,KAAK,EAAEjB,KAAK,CAAC,IAAAoB,2BAAa,EAACH,KAAK,EAAEA,KAAK,CAACH,MAAM,CAAC,CAAC,CAAC;EAC9D;EAEQK,eAAeA,CAAA,EAAS;IAC9B,IAAI,CAACd,cAAc,GACjB,IAAI,CAACA,cAAc,IAAIN,mBAAmB,GAAG,CAAC,GAAG,IAAI,CAACM,cAAc,GAAG,CAAC;EAC5E;AACF;AAACgB,OAAA,CAAAjB,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|