@ovok/native 1.5.0 → 1.5.2
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/android/build.gradle +43 -0
- package/android/src/main/AndroidManifest.xml +23 -0
- package/android/src/main/java/com/ovok/sdk/backgroundsync/BackgroundSyncNotification.java +78 -0
- package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokBackgroundSyncModule.java +109 -0
- package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokBackgroundSyncPackage.java +26 -0
- package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokBluetoothForegroundService.java +28 -0
- package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokHealthConnectTaskService.java +45 -0
- package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokHealthConnectWorker.java +28 -0
- package/lib/commonjs/index.js +11 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js +2 -2
- 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 +2 -2
- package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
- package/lib/commonjs/modules/background-sync/android-background-sync.js +69 -0
- package/lib/commonjs/modules/background-sync/android-background-sync.js.map +1 -0
- package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js +49 -0
- package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -0
- package/lib/commonjs/modules/background-sync/index.js +28 -0
- package/lib/commonjs/modules/background-sync/index.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js +40 -12
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +20 -3
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js +88 -0
- package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/bt-manager.js +2 -0
- package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/custom/compile-case-fields.js +3 -1
- package/lib/commonjs/modules/bt-management/services/custom/compile-case-fields.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +4 -0
- 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 +6 -2
- 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-frame-parser.js +24 -2
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-frame-parser.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +3 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-device-information.js +41 -0
- package/lib/commonjs/modules/bt-management/services/devices/bt-device-information.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +27 -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.device.js +23 -9
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +12 -3
- 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.transports.js +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +67 -11
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +4 -2
- 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 +16 -0
- package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +18 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +4 -1
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js +10 -5
- package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/android/android-health-sync.js +5 -3
- package/lib/commonjs/modules/data-sync/components/android/android-health-sync.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/apple/apple-health-sync.js +7 -4
- package/lib/commonjs/modules/data-sync/components/apple/apple-health-sync.js.map +1 -1
- package/lib/commonjs/modules/data-sync/hooks/use-listen-changes.js +27 -11
- package/lib/commonjs/modules/data-sync/hooks/use-listen-changes.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js +4 -3
- package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/sync-progress-manager.js +9 -5
- package/lib/commonjs/modules/data-sync/services/managers/sync-progress-manager.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/sync-state-manager.js +4 -1
- package/lib/commonjs/modules/data-sync/services/managers/sync-state-manager.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js +2 -2
- 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 +2 -2
- package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
- package/lib/module/modules/background-sync/android-background-sync.js +61 -0
- package/lib/module/modules/background-sync/android-background-sync.js.map +1 -0
- package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js +44 -0
- package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -0
- package/lib/module/modules/background-sync/index.js +5 -0
- package/lib/module/modules/background-sync/index.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-devices.js +44 -16
- package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +20 -4
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/module/modules/bt-management/constants/measurement-field-catalog.js +88 -0
- package/lib/module/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
- package/lib/module/modules/bt-management/services/bt-manager.js +2 -0
- package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/compile-case-fields.js +3 -1
- package/lib/module/modules/bt-management/services/custom/compile-case-fields.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/define-custom-device.js +4 -0
- 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 +6 -2
- 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-frame-parser.js +24 -2
- package/lib/module/modules/bt-management/services/devices/bc01/bc01-frame-parser.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +3 -1
- package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-device-information.js +37 -0
- package/lib/module/modules/bt-management/services/devices/bt-device-information.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +27 -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.device.js +25 -11
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +12 -3
- 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.transports.js +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +67 -11
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +4 -2
- 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 +16 -0
- package/lib/module/modules/bt-management/services/devices/uebe/mysense.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +17 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +4 -1
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
- package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js +10 -5
- package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
- package/lib/module/modules/data-sync/components/android/android-health-sync.js +5 -3
- package/lib/module/modules/data-sync/components/android/android-health-sync.js.map +1 -1
- package/lib/module/modules/data-sync/components/apple/apple-health-sync.js +7 -4
- package/lib/module/modules/data-sync/components/apple/apple-health-sync.js.map +1 -1
- package/lib/module/modules/data-sync/hooks/use-listen-changes.js +27 -10
- package/lib/module/modules/data-sync/hooks/use-listen-changes.js.map +1 -1
- package/lib/module/modules/data-sync/services/base-health-sync-service.js +4 -3
- package/lib/module/modules/data-sync/services/base-health-sync-service.js.map +1 -1
- package/lib/module/modules/data-sync/services/managers/sync-progress-manager.js +9 -5
- package/lib/module/modules/data-sync/services/managers/sync-progress-manager.js.map +1 -1
- package/lib/module/modules/data-sync/services/managers/sync-state-manager.js +4 -1
- package/lib/module/modules/data-sync/services/managers/sync-state-manager.js.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- 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/background-sync/android-background-sync.d.ts +39 -0
- package/lib/typescript/commonjs/src/modules/background-sync/android-background-sync.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/background-sync/android-bluetooth-foreground-service.d.ts +12 -0
- package/lib/typescript/commonjs/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +3 -1
- 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/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-field-catalog.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +2 -0
- 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-case-fields.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.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts +11 -4
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +2 -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-device-information.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-device-information.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +3 -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.device.d.ts +5 -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/lepu/lepu.file-transfer.d.ts +4 -0
- 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.transports.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +2 -3
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +4 -0
- 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 +3 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +3 -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/types/background-sync.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.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 +2 -0
- 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/device-data.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-sync.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-sync.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/data-sync.d.ts +3 -3
- package/lib/typescript/commonjs/src/modules/data-sync/hooks/use-listen-changes.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/hooks/use-listen-changes.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +3 -3
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-progress-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-state-manager.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-state-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-sync-props.d.ts +7 -2
- package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-sync-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-props.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/sync-progress.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/sync-progress.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +1 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- 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/background-sync/android-background-sync.d.ts +39 -0
- package/lib/typescript/module/src/modules/background-sync/android-background-sync.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/background-sync/android-bluetooth-foreground-service.d.ts +12 -0
- package/lib/typescript/module/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/background-sync/index.d.ts +3 -0
- package/lib/typescript/module/src/modules/background-sync/index.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +3 -1
- 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/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/constants/measurement-field-catalog.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +2 -0
- 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-case-fields.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.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts +11 -4
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +2 -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-device-information.d.ts +11 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-device-information.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +3 -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.device.d.ts +5 -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/lepu/lepu.file-transfer.d.ts +4 -0
- 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.transports.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +2 -3
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +4 -0
- 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 +3 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +3 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +3 -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/types/background-sync.d.ts +8 -0
- package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/create-device-params.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 +2 -0
- 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/device-data.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/android/android-health-sync.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/android/android-health-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-sync.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/data-sync.d.ts +3 -3
- package/lib/typescript/module/src/modules/data-sync/hooks/use-listen-changes.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/hooks/use-listen-changes.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts +2 -1
- package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +3 -3
- package/lib/typescript/module/src/modules/data-sync/services/managers/sync-progress-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/sync-state-manager.d.ts +3 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/sync-state-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts +4 -1
- package/lib/typescript/module/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/apple-health-sync-props.d.ts +7 -2
- package/lib/typescript/module/src/modules/data-sync/types/apple-health-sync-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/health-sync-props.d.ts +6 -0
- package/lib/typescript/module/src/modules/data-sync/types/health-sync-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/sync-progress.d.ts +4 -1
- package/lib/typescript/module/src/modules/data-sync/types/sync-progress.d.ts.map +1 -1
- package/package.json +6 -3
- package/react-native.config.js +11 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["sentryLogger","DeviceStatus","base64ToHex","BTCommandWriter","BTConnectionHandler","characteristicSubscriptions","constructor","device","mainServices","callbacks","preferredMtu","writer","onError","connect","connectWithRetries","requestPreferredMtu","
|
|
1
|
+
{"version":3,"names":["sentryLogger","DeviceStatus","base64ToHex","BTCommandWriter","readDeviceInformation","BTConnectionHandler","characteristicSubscriptions","constructor","device","mainServices","callbacks","preferredMtu","writer","onError","connect","connectWithRetries","requestPreferredMtu","discoverAllServicesAndCharacteristics","onDeviceInfo","onStatusChanged","CONNECTED","onDisconnectSubscription","onDisconnected","onDeviceDisconnected","subscribeToAllCharacteristics","error","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","onDataReceived","push","initialCommands","length","onCommandSent"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-connection-handler.ts"],"mappings":";;AAEA,SAASA,YAAY,QAAQ,yCAAsC;AAEnE,SAASC,YAAY,QAAQ,8BAA2B;AAExD,SAASC,WAAW,QAAQ,+BAA4B;AAExD,SAASC,eAAe,QAAQ,wBAAqB;AACrD,SAASC,qBAAqB,QAAQ,4BAAyB;AAkB/D,OAAO,MAAMC,mBAAmB,CAAC;EAEvBC,2BAA2B,GAAmB,EAAE;EAGxDC,WAAWA,CACQC,MAAc,EACdC,YAA2C,EAC3CC,SAAqC,EACrCC,YAAqB,EACtC;IAAA,KAJiBH,MAAc,GAAdA,MAAc;IAAA,KACdC,YAA2C,GAA3CA,YAA2C;IAAA,KAC3CC,SAAqC,GAArCA,SAAqC;IAAA,KACrCC,YAAqB,GAArBA,YAAqB;IAEtC,IAAI,CAACC,MAAM,GAAG,IAAIT,eAAe,CAACK,MAAM,EAAEE,SAAS,CAACG,OAAO,CAAC;EAC9D;EAEOC,OAAO,GAAG,MAAAA,CAAA,KAAY;IAC3B,IAAI;MACF,MAAM,IAAI,CAACC,kBAAkB,CAAC,CAAC;MAC/B,MAAM,IAAI,CAACC,mBAAmB,CAAC,CAAC;MAEhC,MAAM,IAAI,CAACR,MAAM,CAACS,qCAAqC,CAAC,CAAC;MACzD,MAAMb,qBAAqB,CAAC,IAAI,CAACI,MAAM,EAAE,IAAI,CAACE,SAAS,CAACQ,YAAY,CAAC;MAErE,IAAI,CAACR,SAAS,CAACS,eAAe,GAAGlB,YAAY,CAACmB,SAAS,CAAC;MAExD,IAAI,CAACC,wBAAwB,GAAG,IAAI,CAACb,MAAM,CAACc,cAAc,CACxD,IAAI,CAACC,oBACP,CAAC;MAED,MAAM,IAAI,CAACC,6BAA6B,CAAC,CAAC;IAC5C,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdzB,YAAY,CAAC,OAAO,EAAE,wCAAwC,EAAE;QAC9DyB,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGF,KAAK;QACrDG,UAAU,EAAE,IAAI,CAACpB,MAAM,CAACqB;MAC1B,CAAC,CAAC;MACF,IAAI,CAACnB,SAAS,CAACG,OAAO,GAAGY,KAAyB,CAAC;MACnD,IAAI,CAACf,SAAS,CAACS,eAAe,GAAGlB,YAAY,CAAC6B,YAAY,CAAC;IAC7D;EACF,CAAC;EAEMC,OAAO,GAAGA,CAAA,KAAM;IACrB,IAAI,CAACzB,2BAA2B,CAAC0B,OAAO,CAAEC,GAAG,IAAKA,GAAG,EAAEC,MAAM,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC5B,2BAA2B,GAAG,EAAE;IACrC,IAAI,CAACM,MAAM,CAACuB,KAAK,CAAC,CAAC;IAEnB,IAAI,CAACd,wBAAwB,EAAEa,MAAM,CAAC,CAAC;EACzC,CAAC;;EAED;EACOE,YAAY,GAAIC,QAAkC,IACvD,IAAI,CAACzB,MAAM,CAAC0B,IAAI,CAACD,QAAQ,CAAC;;EAE5B;AACF;AACA;AACA;AACA;AACA;EACUrB,mBAAmB,GAAG,MAAAA,CAAA,KAA2B;IACvD,IAAI,CAAC,IAAI,CAACL,YAAY,EAAE;MACtB;IACF;IAEA,IAAI;MACF,MAAM4B,UAAU,GAAG,MAAM,IAAI,CAAC/B,MAAM,CAACgC,UAAU,CAAC,IAAI,CAAC7B,YAAY,CAAC;MAElE,IAAI,CAACC,MAAM,CAAC6B,gBAAgB,CAACF,UAAU,EAAEG,GAAG,IAAI,IAAI,CAAClC,MAAM,CAACkC,GAAG,CAAC;IAClE,CAAC,CAAC,OAAOjB,KAAK,EAAE;MACdzB,YAAY,CAAC,MAAM,EAAE,qCAAqC,EAAE;QAC1D2C,QAAQ,EAAE,IAAI,CAACnC,MAAM,CAACoC,EAAE;QACxBhB,UAAU,EAAE,IAAI,CAACpB,MAAM,CAACqB,IAAI;QAC5BgB,YAAY,EAAE,IAAI,CAAClC,YAAY;QAC/Bc,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGmB,MAAM,CAACrB,KAAK;MAC9D,CAAC,CAAC;IACJ;EACF,CAAC;EAEOV,kBAAkB,GAAG,MAAAA,CAAA,KAAY;IACvC,MAAMgC,UAAU,GAAG,CAAC;IACpB,MAAMC,UAAU,GAAG,IAAI;IACvB,MAAMC,QAAQ,GAAG,KAAK;IACtB,IAAIC,SAAS,GAAG,KAAK;IACrB,IAAIC,UAAU,GAAG,CAAC;IAElB,OAAO,CAACD,SAAS,IAAIC,UAAU,GAAGJ,UAAU,EAAE;MAC5CG,SAAS,GAAG,MAAM,IAAI,CAAC1C,MAAM,CAAC4C,WAAW,CAAC,CAAC;MAC3C,IAAIF,SAAS,EAAE;QACb;MACF;MACA,IAAI;QACF,MAAM,IAAI,CAAC1C,MAAM,CAACM,OAAO,CAAC,CAAC;QAC3BoC,SAAS,GAAG,IAAI;MAClB,CAAC,CAAC,OAAOzB,KAAK,EAAE;QACd0B,UAAU,EAAE;QACZnD,YAAY,CAAC,OAAO,EAAE,2BAA2B,EAAE;UACjD2C,QAAQ,EAAE,IAAI,CAACnC,MAAM,CAACoC,EAAE;UACxBhB,UAAU,EAAE,IAAI,CAACpB,MAAM,CAACqB,IAAI;UAC5BJ,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGmB,MAAM,CAACrB,KAAK,CAAC;UAC7D4B,SAAS,EAAG5B,KAAK,EAAe4B,SAAS;UACzCF;QACF,CAAC,CAAC;QACF,IAAIA,UAAU,IAAIJ,UAAU,EAAE;UAC5B/C,YAAY,CAAC,OAAO,EAAE,6CAA6C,EAAE;YACnE2C,QAAQ,EAAE,IAAI,CAACnC,MAAM,CAACoC,EAAE;YACxBhB,UAAU,EAAE,IAAI,CAACpB,MAAM,CAACqB,IAAI;YAC5BJ,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGmB,MAAM,CAACrB,KAAK,CAAC;YAC7D4B,SAAS,EAAG5B,KAAK,EAAe4B,SAAS;YACzCC,SAAS,EAAEH,UAAU,GAAGJ;UAC1B,CAAC,CAAC;UACF,MAAMtB,KAAK;QACb;QAEA,MAAM,IAAI8B,OAAO,CAAEC,OAAO,IACxBC,UAAU,CACRD,OAAO,EACPE,IAAI,CAACC,GAAG,CAACX,UAAU,GAAGU,IAAI,CAACE,GAAG,CAAC,CAAC,EAAET,UAAU,GAAG,CAAC,CAAC,EAAEF,QAAQ,CAC7D,CACF,CAAC;MACH;IACF;EACF,CAAC;EAEO1B,oBAAoB,GAAIE,KAAsB,IAAK;IACzDzB,YAAY,CAAC,MAAM,EAAE,oCAAoC,EAAE;MACzDyB,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGF,KAAK;MACrDG,UAAU,EAAE,IAAI,CAACpB,MAAM,CAACqB;IAC1B,CAAC,CAAC;IACF,IAAIJ,KAAK,IAAI,CAAC,IAAI,CAACf,SAAS,CAACmD,kBAAkB,GAAG,CAAC,EAAE;MACnD,IAAI,CAACnD,SAAS,CAACG,OAAO,GAAGY,KAAK,CAAC;IACjC;;IAEA;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAACf,SAAS,CAACS,eAAe,GAAGlB,YAAY,CAAC6B,YAAY,CAAC;IAC3D,IAAI,CAACC,OAAO,CAAC,CAAC;EAChB,CAAC;EAEOP,6BAA6B,GAAG,MAAAA,CAAA,KAAY;IAClD,IAAI;MACF,KAAK,MAAMsC,WAAW,IAAI,IAAI,CAACrD,YAAY,EAAE;QAC3C,KAAK,MAAMsD,WAAW,IAAID,WAAW,CAACE,YAAY,EAAE;UAClD,MAAMC,YAAY,GAAG,IAAI,CAACzD,MAAM,CAAC0D,+BAA+B,CAC9DJ,WAAW,CAACK,IAAI,EAChBJ,WAAW,CAACI,IAAI,EAChB,CAAC1C,KAAK,EAAE2C,MAAM,KAAK;YACjB,IAAI3C,KAAK,EAAE;cACT,IAAI,CAACf,SAAS,CAACG,OAAO,GAAGY,KAAK,CAAC;cAE/B;YACF;YAEA,IAAI,CAAC2C,MAAM,IAAI,CAACA,MAAM,CAACC,KAAK,EAAE;cAC5B,IAAI,CAAC3D,SAAS,CAACG,OAAO,GACpB,IAAIa,KAAK,CAAC,iCAAiC,CAC7C,CAAC;cAED;YACF;YAEA,MAAM4C,QAAQ,GAAGpE,WAAW,CAACkE,MAAM,CAACC,KAAK,CAAC;YAE1C,IAAI,CAAC3D,SAAS,CAAC6D,cAAc,GAAGH,MAAM,CAACD,IAAI,EAAEG,QAAQ,CAAC;UACxD,CACF,CAAC;UAED,IAAI,CAAChE,2BAA2B,CAACkE,IAAI,CAACP,YAAY,CAAC;QACrD;MACF;MAEA,MAAMQ,eAAe,GAAG,IAAI,CAAC/D,SAAS,CAAC+D,eAAe,GAAG,CAAC,IAAI,EAAE;MAEhE,IAAIA,eAAe,CAACC,MAAM,GAAG,CAAC,EAAE;QAC9B,MAAM,IAAI,CAACtC,YAAY,CAACqC,eAAe,CAAC;QACxC,IAAI,CAAC/D,SAAS,CAACiE,aAAa,GAAG,CAAC;MAClC;IACF,CAAC,CAAC,OAAOlD,KAAK,EAAE;MACdzB,YAAY,CACV,OAAO,EACP,kDAAkD,EAClD;QACEyB,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGF,KAAK;QACrDG,UAAU,EAAE,IAAI,CAACpB,MAAM,CAACqB;MAC1B,CACF,CAAC;MACD,IAAI,CAACnB,SAAS,CAACG,OAAO,GAAGY,KAAyB,CAAC;IACrD;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { sentryLogger } from "../../../helpers/utils/sentry-logger.js";
|
|
4
|
+
const readDeviceInformation = async (device, onDeviceInfo) => {
|
|
5
|
+
const read = device.readCharacteristicForService;
|
|
6
|
+
if (typeof read !== "function") {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
const info = {};
|
|
10
|
+
const values = [["name", "00001800-0000-1000-8000-00805f9b34fb", "00002a00-0000-1000-8000-00805f9b34fb"], ["manufacturerName", "0000180a-0000-1000-8000-00805f9b34fb", "00002a29-0000-1000-8000-00805f9b34fb"], ["model", "0000180a-0000-1000-8000-00805f9b34fb", "00002a24-0000-1000-8000-00805f9b34fb"], ["serialNumber", "0000180a-0000-1000-8000-00805f9b34fb", "00002a25-0000-1000-8000-00805f9b34fb"]];
|
|
11
|
+
for (const [key, serviceUuid, characteristicUuid] of values) {
|
|
12
|
+
try {
|
|
13
|
+
const characteristic = await read.call(device, serviceUuid, characteristicUuid);
|
|
14
|
+
const value = characteristic?.value;
|
|
15
|
+
if (!value) {
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
const text = Buffer.from(value, "base64").toString("utf8").replace(/\0+$/, "").trim();
|
|
19
|
+
if (text) {
|
|
20
|
+
info[key] = text;
|
|
21
|
+
}
|
|
22
|
+
} catch (error) {
|
|
23
|
+
// Optional GAP/Device Information characteristics are not present on every device.
|
|
24
|
+
sentryLogger("info", "DEVICE: Optional device information unavailable", {
|
|
25
|
+
deviceId: device.id,
|
|
26
|
+
deviceName: device.name,
|
|
27
|
+
characteristicUuid,
|
|
28
|
+
error: error instanceof Error ? error.message : String(error)
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (Object.keys(info).length > 0) {
|
|
33
|
+
onDeviceInfo?.(info);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
export { readDeviceInformation };
|
|
37
|
+
//# sourceMappingURL=bt-device-information.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["sentryLogger","readDeviceInformation","device","onDeviceInfo","read","readCharacteristicForService","info","values","key","serviceUuid","characteristicUuid","characteristic","call","value","text","Buffer","from","toString","replace","trim","error","deviceId","id","deviceName","name","Error","message","String","Object","keys","length"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-device-information.ts"],"mappings":";;AAEA,SAASA,YAAY,QAAQ,yCAAsC;AASnE,MAAMC,qBAAqB,GAAG,MAAAA,CAC5BC,MAAc,EACdC,YAAkD,KAChC;EAClB,MAAMC,IAAI,GAAGF,MAAM,CAACG,4BAA4B;EAEhD,IAAI,OAAOD,IAAI,KAAK,UAAU,EAAE;IAC9B;EACF;EAEA,MAAME,IAAyB,GAAG,CAAC,CAAC;EAEpC,MAAMC,MAA8D,GAAG,CACrE,CAAC,MAAM,EAAE,sCAAsC,EAAE,sCAAsC,CAAC,EACxF,CAAC,kBAAkB,EAAE,sCAAsC,EAAE,sCAAsC,CAAC,EACpG,CAAC,OAAO,EAAE,sCAAsC,EAAE,sCAAsC,CAAC,EACzF,CAAC,cAAc,EAAE,sCAAsC,EAAE,sCAAsC,CAAC,CACjG;EAED,KAAK,MAAM,CAACC,GAAG,EAAEC,WAAW,EAAEC,kBAAkB,CAAC,IAAIH,MAAM,EAAE;IAC3D,IAAI;MACF,MAAMI,cAAc,GAAG,MAAMP,IAAI,CAACQ,IAAI,CACpCV,MAAM,EACNO,WAAW,EACXC,kBACF,CAAC;MAED,MAAMG,KAAK,GAAGF,cAAc,EAAEE,KAAK;MAEnC,IAAI,CAACA,KAAK,EAAE;QACV;MACF;MAEA,MAAMC,IAAI,GAAGC,MAAM,CAACC,IAAI,CAACH,KAAK,EAAE,QAAQ,CAAC,CACtCI,QAAQ,CAAC,MAAM,CAAC,CAChBC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CACnBC,IAAI,CAAC,CAAC;MAET,IAAIL,IAAI,EAAE;QACRR,IAAI,CAACE,GAAG,CAAC,GAAGM,IAAI;MAClB;IACF,CAAC,CAAC,OAAOM,KAAK,EAAE;MACd;MACApB,YAAY,CAAC,MAAM,EAAE,iDAAiD,EAAE;QACtEqB,QAAQ,EAAEnB,MAAM,CAACoB,EAAE;QACnBC,UAAU,EAAErB,MAAM,CAACsB,IAAI;QACvBd,kBAAkB;QAClBU,KAAK,EAAEA,KAAK,YAAYK,KAAK,GAAGL,KAAK,CAACM,OAAO,GAAGC,MAAM,CAACP,KAAK;MAC9D,CAAC,CAAC;IACJ;EACF;EAEA,IAAIQ,MAAM,CAACC,IAAI,CAACvB,IAAI,CAAC,CAACwB,MAAM,GAAG,CAAC,EAAE;IAChC3B,YAAY,GAAGG,IAAI,CAAC;EACtB;AACF,CAAC;AAED,SAASL,qBAAqB","ignoreList":[]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
/* eslint-disable max-lines */
|
|
4
|
+
|
|
3
5
|
import { sentryLogger } from "../../../helpers/utils/sentry-logger.js";
|
|
4
6
|
import { DeviceStatus } from "../../types/device-status.js";
|
|
5
7
|
import { summariseMeasurementForLog } from "../../utils/summarise-measurement-for-log.js";
|
|
@@ -8,6 +10,8 @@ import { BTConnectionHandler } from "./bt-connection-handler.js";
|
|
|
8
10
|
import { BTDataProcessor } from "./bt-data-processor.js";
|
|
9
11
|
import { pollingSequencerFor } from "./polling-command-sequencer.js";
|
|
10
12
|
export class BTManagedDevice {
|
|
13
|
+
resultReportedThisConnection = false;
|
|
14
|
+
|
|
11
15
|
/**
|
|
12
16
|
* The timeout in milliseconds for the stuck data.
|
|
13
17
|
*/
|
|
@@ -59,9 +63,11 @@ export class BTManagedDevice {
|
|
|
59
63
|
onError: onErrorCallback,
|
|
60
64
|
onDeviceStatusChanged: onDeviceStatusChangedCallback,
|
|
61
65
|
onResult: onResultCallback,
|
|
62
|
-
onDeviceDisconnected: onDeviceDisconnectedCallback
|
|
66
|
+
onDeviceDisconnected: onDeviceDisconnectedCallback,
|
|
67
|
+
oneReadingPerConnection
|
|
63
68
|
}) {
|
|
64
69
|
this.device = device;
|
|
70
|
+
this.oneReadingPerConnection = oneReadingPerConnection === true;
|
|
65
71
|
sentryLogger("info", "BT_MANAGER: Creating BTManagedDevice", {
|
|
66
72
|
deviceId: device.id,
|
|
67
73
|
deviceName: deviceName
|
|
@@ -104,6 +110,10 @@ export class BTManagedDevice {
|
|
|
104
110
|
caseType: _,
|
|
105
111
|
...data
|
|
106
112
|
}) => {
|
|
113
|
+
if (this.oneReadingPerConnection && this.resultReportedThisConnection) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
this.resultReportedThisConnection = true;
|
|
107
117
|
sentryLogger("info", "BT_MANAGER: Calling onResult callback", {
|
|
108
118
|
data: summariseMeasurementForLog(data),
|
|
109
119
|
deviceData: this.deviceData,
|
|
@@ -128,6 +138,8 @@ export class BTManagedDevice {
|
|
|
128
138
|
this.onResult = undefined;
|
|
129
139
|
};
|
|
130
140
|
connect = async () => {
|
|
141
|
+
this.resultReportedThisConnection = false;
|
|
142
|
+
|
|
131
143
|
// To access the abstract property in the constructor, we need to set it here
|
|
132
144
|
this.deviceData.measurementTypes = supportedMeasurementTypeKeys(this.mainServices);
|
|
133
145
|
const sequencer = this.createCommandSequencer?.() ?? pollingSequencerFor(this.mainServices);
|
|
@@ -143,6 +155,20 @@ export class BTManagedDevice {
|
|
|
143
155
|
onDataReceived: (uuid, hexValue) => {
|
|
144
156
|
this.dataProcessor?.processData(uuid, hexValue);
|
|
145
157
|
},
|
|
158
|
+
onDeviceInfo: info => {
|
|
159
|
+
if (info.name) {
|
|
160
|
+
this.deviceData.localName = info.name;
|
|
161
|
+
}
|
|
162
|
+
if (info.manufacturerName) {
|
|
163
|
+
this.deviceData.manufacturerName = info.manufacturerName;
|
|
164
|
+
}
|
|
165
|
+
if (info.model) {
|
|
166
|
+
this.deviceData.model = info.model;
|
|
167
|
+
}
|
|
168
|
+
if (info.serialNumber) {
|
|
169
|
+
this.deviceData.sn = info.serialNumber;
|
|
170
|
+
}
|
|
171
|
+
},
|
|
146
172
|
initialCommands: () => sequencer.initialCommands(),
|
|
147
173
|
onCommandSent: () => this.dataProcessor?.armStuckTimeout(),
|
|
148
174
|
isNormalDisconnect: () => sequencer.isNormalDisconnect?.() ?? false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["sentryLogger","DeviceStatus","summariseMeasurementForLog","supportedMeasurementTypeKeys","BTConnectionHandler","BTDataProcessor","pollingSequencerFor","BTManagedDevice","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","status","measurementTypeKey","error","Error","message","caseType","_","data","destroy","connectionHandler","dataProcessor","undefined","connect","mainServices","sequencer","createCommandSequencer","onStatusChanged","bind","DISCONNECTED","onDataReceived","uuid","hexValue","processData","initialCommands","onCommandSent","armStuckTimeout","isNormalDisconnect","preferredMtu","stuckDataTimeout","onStreamStart","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","handleDependentResult","frameReader"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["sentryLogger","DeviceStatus","summariseMeasurementForLog","supportedMeasurementTypeKeys","BTConnectionHandler","BTDataProcessor","pollingSequencerFor","BTManagedDevice","resultReportedThisConnection","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","status","measurementTypeKey","error","Error","message","caseType","_","data","destroy","connectionHandler","dataProcessor","undefined","connect","mainServices","sequencer","createCommandSequencer","onStatusChanged","bind","DISCONNECTED","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","model","serialNumber","initialCommands","onCommandSent","armStuckTimeout","isNormalDisconnect","preferredMtu","stuckDataTimeout","onStreamStart","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","handleDependentResult","frameReader"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
/* eslint-disable max-lines */
|
|
4
|
-
import {
|
|
4
|
+
import { MeasurementTypeKey } from "@ovok/core";
|
|
5
5
|
import { CaseType } from "../../../types/case-type.js";
|
|
6
6
|
import { createFrameValidator } from "../../../utils/create-frame-validator.js";
|
|
7
7
|
import { parseMeasurement } from "../../../utils/parse-measurement.js";
|
|
@@ -10,7 +10,7 @@ import { BTManagedDevice } from "../bt-managed-device.js";
|
|
|
10
10
|
import { LepuCommandBuilder } from "../lepu/lepu.command-builder.js";
|
|
11
11
|
import { LepuFileTransfer } from "../lepu/lepu.file-transfer.js";
|
|
12
12
|
import { LepuFrameReader } from "../lepu/lepu.frame-reader.js";
|
|
13
|
-
import { decodeViatomEcgRecording } from "../viatom/viatom.ecg-files.js";
|
|
13
|
+
import { decodeViatomEcgRecording, recordedAtFromViatomFileName } from "../viatom/viatom.ecg-files.js";
|
|
14
14
|
import { createLepuSequencer, recordLepuIdentity } from "./custom-lepu-sequencer.js";
|
|
15
15
|
/**
|
|
16
16
|
* Runs a device registered with defineCustomDevice.
|
|
@@ -24,8 +24,12 @@ import { createLepuSequencer, recordLepuIdentity } from "./custom-lepu-sequencer
|
|
|
24
24
|
export class CustomDevice extends BTManagedDevice {
|
|
25
25
|
validators = new Map();
|
|
26
26
|
constructor(device, params, definition) {
|
|
27
|
-
super(device,
|
|
27
|
+
super(device, {
|
|
28
|
+
...params,
|
|
29
|
+
oneReadingPerConnection: params.oneReadingPerConnection ?? definition.oneReadingPerConnection
|
|
30
|
+
});
|
|
28
31
|
this.definition = definition;
|
|
32
|
+
this.deliveredEcgFileNames = new Set(params.deliveredEcgFileNames ?? []);
|
|
29
33
|
this.mainServices = definition.mainServices;
|
|
30
34
|
this.stuckDataTimeout = definition.stuckDataTimeout;
|
|
31
35
|
if (definition.preferredMtu !== undefined) {
|
|
@@ -59,6 +63,12 @@ export class CustomDevice extends BTManagedDevice {
|
|
|
59
63
|
},
|
|
60
64
|
builder: new LepuCommandBuilder(lepu.startBytes[0] ?? "a5"),
|
|
61
65
|
onFile: this.reportViatomEcgFile,
|
|
66
|
+
skipFiles: this.deliveredEcgFileNames,
|
|
67
|
+
afterTransfer: lepu.pollCommand ? () => [{
|
|
68
|
+
serviceUuid: lepu.write.serviceUuid,
|
|
69
|
+
characteristicUuid: lepu.write.characteristicUuid,
|
|
70
|
+
frame: new LepuCommandBuilder(lepu.startBytes[0] ?? "a5").build(lepu.pollCommand)
|
|
71
|
+
}] : undefined,
|
|
62
72
|
onError: reason => this.onError?.(new Error(`Viatom ECG: ${reason}`))
|
|
63
73
|
});
|
|
64
74
|
}
|
|
@@ -77,9 +87,10 @@ export class CustomDevice extends BTManagedDevice {
|
|
|
77
87
|
this.onResult?.({
|
|
78
88
|
measurementTypeKey: MeasurementTypeKey.ecg,
|
|
79
89
|
caseType: CaseType.RESULT,
|
|
80
|
-
diagnosticResult: EcgDiagnosticFlag.REGULAR,
|
|
81
90
|
diagramPoints: decoded.samples,
|
|
82
|
-
duration: decoded.duration
|
|
91
|
+
duration: decoded.duration,
|
|
92
|
+
recordedAt: recordedAtFromViatomFileName(file.name),
|
|
93
|
+
recordingId: file.name
|
|
83
94
|
});
|
|
84
95
|
};
|
|
85
96
|
onIdentified = info => recordLepuIdentity(this.deviceData, info);
|
|
@@ -127,6 +138,9 @@ export class CustomDevice extends BTManagedDevice {
|
|
|
127
138
|
return;
|
|
128
139
|
}
|
|
129
140
|
|
|
141
|
+
/** Adds protocol-specific metadata to a validated reading before it is emitted. */
|
|
142
|
+
decorateReading = (reading, _frame, _recordOffset) => reading;
|
|
143
|
+
|
|
130
144
|
/**
|
|
131
145
|
* Reports what the frame carried, which may be more than one reading.
|
|
132
146
|
*
|
|
@@ -138,12 +152,12 @@ export class CustomDevice extends BTManagedDevice {
|
|
|
138
152
|
reportFrame(data) {
|
|
139
153
|
const repeated = data.parsingCase.repeatedRecords;
|
|
140
154
|
if (!repeated || !data.frame) {
|
|
141
|
-
this.report(data.parsedData, data.parsingCase);
|
|
155
|
+
this.report(data.parsedData, data.parsingCase, data.frame);
|
|
142
156
|
return;
|
|
143
157
|
}
|
|
144
158
|
const records = Math.floor((data.frame.length - repeated.from) / repeated.recordBytes);
|
|
145
159
|
for (let record = 0; record < records; record++) {
|
|
146
|
-
this.report(parseMeasurement(data.frame, data.parsingCase, repeated.from + record * repeated.recordBytes), data.parsingCase);
|
|
160
|
+
this.report(parseMeasurement(data.frame, data.parsingCase, repeated.from + record * repeated.recordBytes), data.parsingCase, data.frame, repeated.from + record * repeated.recordBytes);
|
|
147
161
|
}
|
|
148
162
|
}
|
|
149
163
|
|
|
@@ -158,18 +172,18 @@ export class CustomDevice extends BTManagedDevice {
|
|
|
158
172
|
* A reading that fails its checks is discarded on its own. A temperature the device could
|
|
159
173
|
* not take is no reason to withhold the heart rate in the same frame.
|
|
160
174
|
*/
|
|
161
|
-
report(parsedData, parsingCase) {
|
|
175
|
+
report(parsedData, parsingCase, frame, recordOffset) {
|
|
162
176
|
const measurements = parsingCase.measurements ?? [];
|
|
163
177
|
if (measurements.length === 0) {
|
|
164
178
|
this.discard("a result frame carries no measurement type", parsedData);
|
|
165
179
|
return;
|
|
166
180
|
}
|
|
167
|
-
measurements.forEach(measurement => this.reportMeasurement(parsedData, measurement));
|
|
181
|
+
measurements.forEach(measurement => this.reportMeasurement(parsedData, measurement, frame, recordOffset));
|
|
168
182
|
}
|
|
169
183
|
discard(reason, parsedData) {
|
|
170
184
|
this.onError?.(discardedReadingError(this.definition.id, reason, parsedData));
|
|
171
185
|
}
|
|
172
|
-
reportMeasurement(parsedData, measurement) {
|
|
186
|
+
reportMeasurement(parsedData, measurement, frame, recordOffset) {
|
|
173
187
|
const reading = {
|
|
174
188
|
caseType: parsedData.caseType,
|
|
175
189
|
measurementTypeKey: measurement.measurementTypeKey
|
|
@@ -182,7 +196,7 @@ export class CustomDevice extends BTManagedDevice {
|
|
|
182
196
|
this.discard(rejection, reading);
|
|
183
197
|
return;
|
|
184
198
|
}
|
|
185
|
-
this.onResult?.(reading);
|
|
199
|
+
this.onResult?.(this.decorateReading(reading, frame, recordOffset));
|
|
186
200
|
}
|
|
187
201
|
}
|
|
188
202
|
//# sourceMappingURL=custom.device.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","BTManagedDevice","LepuCommandBuilder","LepuFileTransfer","LepuFrameReader","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","CustomDevice","validators","Map","constructor","device","params","definition","oneReadingPerConnection","deliveredEcgFileNames","Set","mainServices","stuckDataTimeout","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","lepu","frameReader","startBytes","createCommandSequencer","fileTransfer","write","serviceUuid","characteristicUuid","builder","onFile","reportViatomEcgFile","skipFiles","afterTransfer","pollCommand","build","onError","reason","Error","onIdentified","onRefused","onIdentityRefused","file","decoded","content","samples","length","name","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","info","deviceData","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","shouldReportDependentResult","reportFrame","error","parsingCase","OTHER","_data","handleSuccessResult","decorateReading","reading","_frame","_recordOffset","repeated","repeatedRecords","report","parsedData","records","Math","floor","from","recordBytes","record","recordOffset","measurements","discard","measurement","reportMeasurement","fieldNames","rejection","map","fields","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
/* eslint-disable max-lines */
|
|
4
|
+
|
|
3
5
|
import { le32FromHex } from "../../../utils/le-32-from-hex.js";
|
|
4
6
|
import { le32ToBytes } from "../../../utils/le-32-to-bytes.js";
|
|
5
7
|
import { LepuCommand } from "./lepu.commands.js";
|
|
@@ -46,7 +48,10 @@ class LepuFileTransfer {
|
|
|
46
48
|
initialCommands = () => [this.commandFor(LepuCommand.GET_FILE_LIST)];
|
|
47
49
|
nextCommand = frame => {
|
|
48
50
|
const command = lepuCommandOf(frame);
|
|
49
|
-
if (this.isDone
|
|
51
|
+
if (this.isDone) {
|
|
52
|
+
return this.params.afterTransfer?.();
|
|
53
|
+
}
|
|
54
|
+
if (!TRANSFER_COMMANDS.includes(command)) {
|
|
50
55
|
return undefined;
|
|
51
56
|
}
|
|
52
57
|
if (!isLepuSuccess(frame)) {
|
|
@@ -66,10 +71,14 @@ class LepuFileTransfer {
|
|
|
66
71
|
return this.closedFile();
|
|
67
72
|
};
|
|
68
73
|
openNextFile = () => {
|
|
69
|
-
|
|
74
|
+
let name = this.files[this.fileIndex];
|
|
75
|
+
while (name !== undefined && this.params.skipFiles?.has(name)) {
|
|
76
|
+
this.fileIndex++;
|
|
77
|
+
name = this.files[this.fileIndex];
|
|
78
|
+
}
|
|
70
79
|
if (name === undefined) {
|
|
71
80
|
this.isDone = true;
|
|
72
|
-
return
|
|
81
|
+
return this.params.afterTransfer?.();
|
|
73
82
|
}
|
|
74
83
|
this.name = name;
|
|
75
84
|
this.totalBytes = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["le32FromHex","le32ToBytes","LepuCommand","lepuNameBytes","lepuNamesFrom","lepuCommandOf","lepuPayloadOf","describeLepuResponseType","isLepuSuccess","FILE_SIZE_OFFSET","MAX_FILE_BYTES","TRANSFER_COMMANDS","GET_FILE_LIST","READ_FILE_START","READ_FILE_DATA","READ_FILE_END","LepuFileTransfer","files","fileIndex","name","totalBytes","content","isSessionOpen","isDone","constructor","params","initialCommands","commandFor","nextCommand","frame","command","includes","undefined","fail","openNextFile","openedFile","appendChunk","closedFile","payload","limit","maxFileBytes","closeFile","length","push","onProgress","receivedBytes","onFile","reason","onError","write","builder","build"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.file-transfer.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["le32FromHex","le32ToBytes","LepuCommand","lepuNameBytes","lepuNamesFrom","lepuCommandOf","lepuPayloadOf","describeLepuResponseType","isLepuSuccess","FILE_SIZE_OFFSET","MAX_FILE_BYTES","TRANSFER_COMMANDS","GET_FILE_LIST","READ_FILE_START","READ_FILE_DATA","READ_FILE_END","LepuFileTransfer","files","fileIndex","name","totalBytes","content","isSessionOpen","isDone","constructor","params","initialCommands","commandFor","nextCommand","frame","command","afterTransfer","includes","undefined","fail","openNextFile","openedFile","appendChunk","closedFile","skipFiles","has","payload","limit","maxFileBytes","closeFile","length","push","onProgress","receivedBytes","onFile","reason","onError","write","builder","build"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.file-transfer.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -111,6 +111,7 @@ const lepuDevice = params => {
|
|
|
111
111
|
return defineCustomDevice({
|
|
112
112
|
id: params.id ?? "lepu-device",
|
|
113
113
|
nameMatch: params.nameMatch,
|
|
114
|
+
matchByService: params.nameMatch === undefined,
|
|
114
115
|
stuckDataTimeoutMs: params.stuckDataTimeoutMs ?? DEFAULT_STUCK_TIMEOUT_MS,
|
|
115
116
|
preferredMtu: transport.preferredMtu,
|
|
116
117
|
lepu: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defineCustomDevice","STANDARD_SERVICE","STANDARD_WRITE","STANDARD_NOTIFY","AW1_SERVICE","AW1_WRITE","AW1_NOTIFY","DING_SERVICE","DING_WRITE","DING_NOTIFY","AI_TELE_SERVICE","AI_TELE_WRITE","AI_TELE_NOTIFY","PREFERRED_MTU","MINIMUM_MTU","DEFAULT_STUCK_TIMEOUT_MS","START_BYTE","lepuTransports","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","viatomOxygen","protocol","id","nameMatch","stuckDataTimeoutMs","lepu","startBytes","requestStartByte","write","characteristicUuid","expectedDeviceTypes","fileTransfer","
|
|
1
|
+
{"version":3,"names":["defineCustomDevice","STANDARD_SERVICE","STANDARD_WRITE","STANDARD_NOTIFY","AW1_SERVICE","AW1_WRITE","AW1_NOTIFY","DING_SERVICE","DING_WRITE","DING_NOTIFY","AI_TELE_SERVICE","AI_TELE_WRITE","AI_TELE_NOTIFY","PREFERRED_MTU","MINIMUM_MTU","DEFAULT_STUCK_TIMEOUT_MS","START_BYTE","lepuTransports","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","viatomOxygen","protocol","id","nameMatch","matchByService","undefined","stuckDataTimeoutMs","lepu","startBytes","requestStartByte","write","characteristicUuid","expectedDeviceTypes","fileTransfer","pollCommand","writeWithoutResponse","setClockBeforeInfo","services","uuid","monitor","frame","minLengthBytes","caseSelectorBytes","cases"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.transports.ts"],"mappings":";;AAEA,SAASA,kBAAkB,QAAQ,sCAAmC;;AAEtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,gBAAgB,GAAG,sCAAsC;AAC/D,MAAMC,cAAc,GAAG,sCAAsC;AAC7D,MAAMC,eAAe,GAAG,sCAAsC;;AAE9D;AACA,MAAMC,WAAW,GAAG,sCAAsC;AAC1D,MAAMC,SAAS,GAAG,sCAAsC;AACxD,MAAMC,UAAU,GAAG,sCAAsC;;AAEzD;AACA;AACA;AACA;AACA,MAAMC,YAAY,GAAG,sCAAsC;AAC3D,MAAMC,UAAU,GAAG,sCAAsC;AACzD,MAAMC,WAAW,GAAG,sCAAsC;;AAE1D;AACA,MAAMC,eAAe,GAAG,sCAAsC;AAC9D,MAAMC,aAAa,GAAG,sCAAsC;AAC5D,MAAMC,cAAc,GAAG,sCAAsC;;AAE7D;AACA,MAAMC,aAAa,GAAG,GAAG;;AAEzB;AACA,MAAMC,WAAW,GAAG,EAAE;;AAEtB;AACA,MAAMC,wBAAwB,GAAG,MAAM;AAEvC,MAAMC,UAAU,GAAG,IAAI;AASvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAG;EACrBC,QAAQ,EAAE;IACRC,WAAW,EAAElB,gBAAgB;IAC7BmB,UAAU,EAAEjB,eAAe;IAC3BkB,SAAS,EAAEnB,cAAc;IACzBoB,YAAY,EAAET;EAChB,CAAC;EAED;EACAU,gBAAgB,EAAE;IAChBJ,WAAW,EAAElB,gBAAgB;IAC7BmB,UAAU,EAAEjB,eAAe;IAC3BkB,SAAS,EAAEnB,cAAc;IACzBoB,YAAY,EAAER;EAChB,CAAC;EAEDU,GAAG,EAAE;IACHL,WAAW,EAAEf,WAAW;IACxBgB,UAAU,EAAEd,UAAU;IACtBe,SAAS,EAAEhB,SAAS;IACpBiB,YAAY,EAAET;EAChB,CAAC;EAEDY,IAAI,EAAE;IACJN,WAAW,EAAEZ,YAAY;IACzBa,UAAU,EAAEX,WAAW;IACvBY,SAAS,EAAEb,UAAU;IACrBc,YAAY,EAAET;EAChB,CAAC;EAEDa,MAAM,EAAE;IACNP,WAAW,EAAET,eAAe;IAC5BU,UAAU,EAAER,cAAc;IAC1BS,SAAS,EAAEV,aAAa;IACxBW,YAAY,EAAET;EAChB;AACF,CAAkD;AA8DlD,MAAMc,YAAY,GAAG,CAAC;AAEtB,MAAMC,UAAU,GAAIC,MAAwB,IAA6B;EACvE,MAAMC,SAAS,GAAGb,cAAc,CAACY,MAAM,CAACC,SAAS,IAAI,UAAU,CAAC;EAChE,MAAMC,YAAY,GAAGF,MAAM,CAACG,QAAQ,KAAK,eAAe;EAExD,OAAOhC,kBAAkB,CAAC;IACxBiC,EAAE,EAAEJ,MAAM,CAACI,EAAE,IAAI,aAAa;IAC9BC,SAAS,EAAEL,MAAM,CAACK,SAAS;IAC3BC,cAAc,EAAEN,MAAM,CAACK,SAAS,KAAKE,SAAS;IAC9CC,kBAAkB,EAAER,MAAM,CAACQ,kBAAkB,IAAItB,wBAAwB;IACzEO,YAAY,EAAEQ,SAAS,CAACR,YAAY;IACpCgB,IAAI,EAAE;MACJN,QAAQ,EAAEH,MAAM,CAACG,QAAQ;MACzBO,UAAU,EAAE,CAACR,YAAY,GAAG,IAAI,GAAGf,UAAU,CAAC;MAC9CwB,gBAAgB,EAAET,YAAY,GAAG,IAAI,GAAGf,UAAU;MAClDyB,KAAK,EAAE;QACLtB,WAAW,EAAEW,SAAS,CAACX,WAAW;QAClCuB,kBAAkB,EAAEZ,SAAS,CAACT;MAChC,CAAC;MACDsB,mBAAmB,EAAE,CAAC,IAAId,MAAM,CAACc,mBAAmB,IAAI,EAAE,CAAC,CAAC;MAC5D,IAAId,MAAM,CAACe,YAAY,KAAKR,SAAS,GACjC,CAAC,CAAC,GACF;QAAEQ,YAAY,EAAEf,MAAM,CAACe;MAAa,CAAC,CAAC;MAC1C,IAAIf,MAAM,CAACgB,WAAW,KAAKT,SAAS,GAChC,CAAC,CAAC,GACF;QAAES,WAAW,EAAEhB,MAAM,CAACgB;MAAY,CAAC,CAAC;MACxC,IAAIhB,MAAM,CAACiB,oBAAoB,KAAKV,SAAS,GACzC,CAAC,CAAC,GACF;QAAEU,oBAAoB,EAAEjB,MAAM,CAACiB;MAAqB,CAAC,CAAC;MAC1D,IAAIjB,MAAM,CAACkB,kBAAkB,KAAKX,SAAS,GACvC,CAAC,CAAC,GACF;QAAEW,kBAAkB,EAAElB,MAAM,CAACkB;MAAmB,CAAC;IACvD,CAAC;IACDC,QAAQ,EAAE,CACR;MACEC,IAAI,EAAEnB,SAAS,CAACX,WAAW;MAC3B+B,OAAO,EAAE,CACP;QACED,IAAI,EAAEnB,SAAS,CAACV,UAAU;QAC1B+B,KAAK,EAAE;UAAEC,cAAc,EAAEvB,MAAM,CAACuB;QAAe,CAAC;QAChDC,iBAAiB,EAAExB,MAAM,CAACwB,iBAAiB,IAAI,CAAC1B,YAAY,CAAC;QAC7D2B,KAAK,EAAEzB,MAAM,CAACyB;MAChB,CAAC;IAEL,CAAC;EAEL,CAAC,CAAC;AACJ,CAAC;AAED,SAAS1B,UAAU,EAAEX,cAAc","ignoreList":[]}
|
package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
/* eslint-disable max-lines */
|
|
4
|
+
|
|
3
5
|
import { MeasurementTypeKey } from "@ovok/core";
|
|
4
6
|
import { declareProfile, littleEndian } from "./standard-gatt.profile.js";
|
|
5
7
|
|
|
@@ -69,9 +71,35 @@ const standardThermometerDevice = params => declareProfile(params, {
|
|
|
69
71
|
characteristic: "2a1c",
|
|
70
72
|
minLengthBytes: 5,
|
|
71
73
|
measurementTypeKey: MeasurementTypeKey.temperature,
|
|
72
|
-
/**
|
|
73
|
-
selectors: ["00", "02"],
|
|
74
|
-
fields: [littleEndian("bodyTemp", [1, 2, 3, 4], "Cel", "float")]
|
|
74
|
+
/** All combinations of Fahrenheit, timestamp and temperature type flags. */
|
|
75
|
+
selectors: ["00", "02", "04", "06", "01", "03", "05", "07"],
|
|
76
|
+
fields: [littleEndian("bodyTemp", [1, 2, 3, 4], "Cel", "float")],
|
|
77
|
+
fieldsBySelector: {
|
|
78
|
+
"01": [{
|
|
79
|
+
...littleEndian("bodyTemp", [1, 2, 3, 4], "Cel", "float"),
|
|
80
|
+
scale: 5 / 9,
|
|
81
|
+
offset: -160 / 9,
|
|
82
|
+
decimals: 2
|
|
83
|
+
}],
|
|
84
|
+
"03": [{
|
|
85
|
+
...littleEndian("bodyTemp", [1, 2, 3, 4], "Cel", "float"),
|
|
86
|
+
scale: 5 / 9,
|
|
87
|
+
offset: -160 / 9,
|
|
88
|
+
decimals: 2
|
|
89
|
+
}],
|
|
90
|
+
"05": [{
|
|
91
|
+
...littleEndian("bodyTemp", [1, 2, 3, 4], "Cel", "float"),
|
|
92
|
+
scale: 5 / 9,
|
|
93
|
+
offset: -160 / 9,
|
|
94
|
+
decimals: 2
|
|
95
|
+
}],
|
|
96
|
+
"07": [{
|
|
97
|
+
...littleEndian("bodyTemp", [1, 2, 3, 4], "Cel", "float"),
|
|
98
|
+
scale: 5 / 9,
|
|
99
|
+
offset: -160 / 9,
|
|
100
|
+
decimals: 2
|
|
101
|
+
}]
|
|
102
|
+
}
|
|
75
103
|
});
|
|
76
104
|
|
|
77
105
|
/** The SI weight resolution the specification fixes at five grams per count. */
|
|
@@ -87,13 +115,25 @@ const standardWeightScaleDevice = params => declareProfile(params, {
|
|
|
87
115
|
characteristic: "2a9d",
|
|
88
116
|
minLengthBytes: 3,
|
|
89
117
|
measurementTypeKey: MeasurementTypeKey.bodyWeight,
|
|
90
|
-
/**
|
|
91
|
-
selectors:
|
|
118
|
+
/** Unit, timestamp, user-id and BMI/height flags may all follow the value. */
|
|
119
|
+
selectors: Array.from({
|
|
120
|
+
length: 16
|
|
121
|
+
}, (_, flags) => flags.toString(16).padStart(2, "0")),
|
|
92
122
|
fields: [{
|
|
93
123
|
...littleEndian("bodyWeight", [1, 2], "kg", "uint"),
|
|
94
124
|
scale: WEIGHT_KG_PER_COUNT,
|
|
95
125
|
decimals: 3
|
|
96
|
-
}]
|
|
126
|
+
}],
|
|
127
|
+
fieldsBySelector: Object.fromEntries(Array.from({
|
|
128
|
+
length: 16
|
|
129
|
+
}, (_, flags) => {
|
|
130
|
+
const selector = flags.toString(16).padStart(2, "0");
|
|
131
|
+
return [selector, [{
|
|
132
|
+
...littleEndian("bodyWeight", [1, 2], "kg", "uint"),
|
|
133
|
+
scale: flags & 1 ? 0.01 * 0.45359237 : WEIGHT_KG_PER_COUNT,
|
|
134
|
+
decimals: 3
|
|
135
|
+
}]];
|
|
136
|
+
}))
|
|
97
137
|
});
|
|
98
138
|
|
|
99
139
|
/**
|
|
@@ -114,22 +154,38 @@ const standardPulseOximeterDevice = params => declareProfile(params, {
|
|
|
114
154
|
/**
|
|
115
155
|
* Heart Rate Service 0x180D, Heart Rate Measurement 0x2A37.
|
|
116
156
|
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
* is left out rather than made to displace it.
|
|
157
|
+
* Both heart-rate layouts are declared. A contact-not-detected frame is idle, so it cannot
|
|
158
|
+
* become a false reading while the strap is off the body.
|
|
120
159
|
*/
|
|
121
160
|
const standardHeartRateDevice = params => declareProfile(params, {
|
|
122
161
|
service: "180d",
|
|
123
162
|
characteristic: "2a37",
|
|
124
163
|
minLengthBytes: 2,
|
|
125
164
|
measurementTypeKey: MeasurementTypeKey.heartRate,
|
|
126
|
-
selectors:
|
|
165
|
+
selectors: Array.from({
|
|
166
|
+
length: 32
|
|
167
|
+
}, (_, flags) => flags).filter(flags => (flags & 0x06) !== 0x04).map(flags => flags.toString(16).padStart(2, "0")),
|
|
127
168
|
fields: [{
|
|
128
169
|
name: "heartRate",
|
|
129
170
|
byteIndexes: [1],
|
|
130
171
|
encoding: "uint",
|
|
131
172
|
unit: "bpm"
|
|
132
|
-
}]
|
|
173
|
+
}],
|
|
174
|
+
fieldsBySelector: Object.fromEntries(Array.from({
|
|
175
|
+
length: 32
|
|
176
|
+
}, (_, flags) => flags).filter(flags => (flags & 0x01) === 0x01).filter(flags => (flags & 0x06) !== 0x04).map(flags => [flags.toString(16).padStart(2, "0"), [{
|
|
177
|
+
name: "heartRate",
|
|
178
|
+
byteIndexes: [1, 2],
|
|
179
|
+
byteOrder: "little",
|
|
180
|
+
encoding: "uint",
|
|
181
|
+
unit: "bpm"
|
|
182
|
+
}]])),
|
|
183
|
+
optionalFields: Object.fromEntries(Array.from({
|
|
184
|
+
length: 32
|
|
185
|
+
}, (_, flags) => flags).filter(flags => (flags & 0x01) === 0x01).filter(flags => (flags & 0x06) !== 0x04).map(flags => [flags.toString(16).padStart(2, "0"), {
|
|
186
|
+
fields: [],
|
|
187
|
+
minLengthBytes: 3
|
|
188
|
+
}]))
|
|
133
189
|
});
|
|
134
190
|
export { standardBloodPressureDevice, standardHeartRateDevice, standardPulseOximeterDevice, standardThermometerDevice, standardWeightScaleDevice };
|
|
135
191
|
//# sourceMappingURL=standard-gatt.devices.js.map
|
package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","declareProfile","littleEndian","pulseAfterMeanPressure","fields","minLengthBytes","pulseAfterTimestamp","standardBloodPressureDevice","params","service","characteristic","measurementTypeKey","bloodPressure","selectors","optionalFields","standardThermometerDevice","temperature","WEIGHT_KG_PER_COUNT","standardWeightScaleDevice","bodyWeight","
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","declareProfile","littleEndian","pulseAfterMeanPressure","fields","minLengthBytes","pulseAfterTimestamp","standardBloodPressureDevice","params","service","characteristic","measurementTypeKey","bloodPressure","selectors","optionalFields","standardThermometerDevice","temperature","fieldsBySelector","scale","offset","decimals","WEIGHT_KG_PER_COUNT","standardWeightScaleDevice","bodyWeight","Array","from","length","_","flags","toString","padStart","Object","fromEntries","selector","standardPulseOximeterDevice","bloodOxygenPulseRate","standardHeartRateDevice","heartRate","filter","map","name","byteIndexes","encoding","unit","byteOrder"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.ts"],"mappings":"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","ignoreList":[]}
|