@ovok/native 1.10.10 → 1.10.12
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/bt-device/constants/device-instruction-pdfs.js +20 -1
- package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-and-medical-variants.js +47 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-and-medical-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-cofoe-variants.js +119 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-cofoe-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-standard-variants.js +6 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-standard-variants.js.map +1 -1
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-taidoc-variants.js +173 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-taidoc-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.js +107 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-variants.js +10 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-variants.js.map +1 -1
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-yonker-variants.js +113 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-yonker-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js +5 -37
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/and-medical-device-variants.js +39 -0
- package/lib/commonjs/modules/bt-management/constants/and-medical-device-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-management/constants/built-in-measurement-types.js +86 -0
- package/lib/commonjs/modules/bt-management/constants/built-in-measurement-types.js.map +1 -0
- package/lib/commonjs/modules/bt-management/constants/cofoe-device-variants.js +101 -0
- package/lib/commonjs/modules/bt-management/constants/cofoe-device-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-management/constants/device-variants.js +6 -1
- package/lib/commonjs/modules/bt-management/constants/device-variants.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/constants/standard-device-variants.js +5 -0
- package/lib/commonjs/modules/bt-management/constants/standard-device-variants.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/taidoc-device-variants.js +144 -0
- package/lib/commonjs/modules/bt-management/constants/taidoc-device-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-management/constants/transtek-a6-device-variants.js +89 -0
- package/lib/commonjs/modules/bt-management/constants/transtek-a6-device-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-management/constants/yonker-device-variants.js +93 -0
- package/lib/commonjs/modules/bt-management/constants/yonker-device-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-management/core/resolve-device-key.js +6 -0
- package/lib/commonjs/modules/bt-management/core/resolve-device-key.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js +18 -0
- package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/device-classes.js +27 -1
- package/lib/commonjs/modules/bt-management/services/device-classes.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/device-creator.js +5 -3
- package/lib/commonjs/modules/bt-management/services/device-creator.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.device.js +61 -0
- package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.protocol.js +113 -0
- package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.protocol.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.sequencer.js +77 -0
- package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-70b.device.js +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-70b.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +7 -25
- package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +3 -2
- 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 +7 -2
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.js +86 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.js +155 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.js +33 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.device.js +87 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.protocol.js +185 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.protocol.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.records.js +86 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.records.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.device.js +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/live-oximeter.sequencer.js +10 -6
- package/lib/commonjs/modules/bt-management/services/devices/live-oximeter.sequencer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.device.js +50 -0
- package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.protocol.js +127 -0
- package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.protocol.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.records.js +181 -0
- package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.records.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.sequencer.js +139 -0
- package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.device.js +50 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.measurements.js +78 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.measurements.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.protocol.js +134 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.protocol.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.sequencer.js +102 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/a6-scale.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.device.js +51 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.measurements.js +48 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.measurements.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.protocol.js +181 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.protocol.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.js +73 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/yonker/yonker.device.js +90 -0
- package/lib/commonjs/modules/bt-management/services/devices/yonker/yonker.device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/yonker/yonker.protocol.js +202 -0
- package/lib/commonjs/modules/bt-management/services/devices/yonker/yonker.protocol.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/yonker/yonker.sequencer.js +137 -0
- package/lib/commonjs/modules/bt-management/services/devices/yonker/yonker.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/clock-sync.js +2 -0
- package/lib/commonjs/modules/bt-management/types/clock-sync.js.map +1 -1
- package/lib/commonjs/modules/bt-management/types/integrated-devices.js +19 -0
- package/lib/commonjs/modules/bt-management/types/integrated-devices.js.map +1 -1
- package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js +20 -1
- package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
- package/lib/module/modules/bt-device/constants/supported-device-catalog-and-medical-variants.js +45 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-and-medical-variants.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-cofoe-variants.js +117 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-cofoe-variants.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-standard-variants.js +6 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-standard-variants.js.map +1 -1
- package/lib/module/modules/bt-device/constants/supported-device-catalog-taidoc-variants.js +171 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-taidoc-variants.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.js +105 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-variants.js +10 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-variants.js.map +1 -1
- package/lib/module/modules/bt-device/constants/supported-device-catalog-yonker-variants.js +111 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-yonker-variants.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-devices.js +5 -37
- package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/module/modules/bt-management/constants/and-medical-device-variants.js +37 -0
- package/lib/module/modules/bt-management/constants/and-medical-device-variants.js.map +1 -0
- package/lib/module/modules/bt-management/constants/built-in-measurement-types.js +84 -0
- package/lib/module/modules/bt-management/constants/built-in-measurement-types.js.map +1 -0
- package/lib/module/modules/bt-management/constants/cofoe-device-variants.js +99 -0
- package/lib/module/modules/bt-management/constants/cofoe-device-variants.js.map +1 -0
- package/lib/module/modules/bt-management/constants/device-variants.js +6 -1
- package/lib/module/modules/bt-management/constants/device-variants.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/constants/standard-device-variants.js +5 -0
- package/lib/module/modules/bt-management/constants/standard-device-variants.js.map +1 -1
- package/lib/module/modules/bt-management/constants/taidoc-device-variants.js +142 -0
- package/lib/module/modules/bt-management/constants/taidoc-device-variants.js.map +1 -0
- package/lib/module/modules/bt-management/constants/transtek-a6-device-variants.js +87 -0
- package/lib/module/modules/bt-management/constants/transtek-a6-device-variants.js.map +1 -0
- package/lib/module/modules/bt-management/constants/yonker-device-variants.js +91 -0
- package/lib/module/modules/bt-management/constants/yonker-device-variants.js.map +1 -0
- package/lib/module/modules/bt-management/core/resolve-device-key.js +6 -0
- package/lib/module/modules/bt-management/core/resolve-device-key.js.map +1 -1
- package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js +18 -0
- package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -1
- package/lib/module/modules/bt-management/services/device-classes.js +27 -1
- package/lib/module/modules/bt-management/services/device-classes.js.map +1 -1
- package/lib/module/modules/bt-management/services/device-creator.js +5 -3
- package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.device.js +57 -0
- package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.device.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.protocol.js +106 -0
- package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.protocol.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.sequencer.js +74 -0
- package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/aoj/aoj-70b.device.js +2 -2
- package/lib/module/modules/bt-management/services/devices/aoj/aoj-70b.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +6 -24
- package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +3 -2
- 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 +7 -2
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.js +82 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.js +148 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.js +30 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.device.js +83 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.device.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.protocol.js +173 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.protocol.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.records.js +78 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.records.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/jumper/jumper.device.js +2 -2
- package/lib/module/modules/bt-management/services/devices/jumper/jumper.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/live-oximeter.sequencer.js +10 -6
- package/lib/module/modules/bt-management/services/devices/live-oximeter.sequencer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.device.js +46 -0
- package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.device.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.protocol.js +114 -0
- package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.protocol.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.records.js +168 -0
- package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.records.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.sequencer.js +136 -0
- package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.device.js +45 -0
- package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.device.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.measurements.js +73 -0
- package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.measurements.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.protocol.js +121 -0
- package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.protocol.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.sequencer.js +97 -0
- package/lib/module/modules/bt-management/services/devices/transtek/a6-scale.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.device.js +46 -0
- package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.device.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.measurements.js +43 -0
- package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.measurements.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.protocol.js +174 -0
- package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.protocol.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.js +68 -0
- package/lib/module/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/yonker/yonker.device.js +86 -0
- package/lib/module/modules/bt-management/services/devices/yonker/yonker.device.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/yonker/yonker.protocol.js +186 -0
- package/lib/module/modules/bt-management/services/devices/yonker/yonker.protocol.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/yonker/yonker.sequencer.js +133 -0
- package/lib/module/modules/bt-management/services/devices/yonker/yonker.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/types/clock-sync.js +2 -0
- package/lib/module/modules/bt-management/types/clock-sync.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 +19 -0
- package/lib/module/modules/bt-management/types/integrated-devices.js.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-sign-in.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/supported-device-catalog-and-medical-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-and-medical-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-cofoe-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-cofoe-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-standard-variants.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-taidoc-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-taidoc-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-variants.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-yonker-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-yonker-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/constants/and-medical-device-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/and-medical-device-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/built-in-measurement-types.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/built-in-measurement-types.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/cofoe-device-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/cofoe-device-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/device-variants.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/constants/standard-device-variants.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/constants/taidoc-device-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/taidoc-device-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/transtek-a6-device-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/transtek-a6-device-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/yonker-device-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/yonker-device-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/core/resolve-device-key.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/device-classes.d.ts +26 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/device-classes.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/and-medical/and-medical.device.d.ts +18 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.protocol.d.ts +30 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.protocol.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.sequencer.d.ts +26 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -1
- 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 +4 -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/cofoe/cofoe-bp.sequencer.d.ts +32 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.d.ts +46 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.d.ts +15 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.device.d.ts +18 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.protocol.d.ts +75 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.protocol.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.records.d.ts +22 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.records.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts +6 -2
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.device.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.protocol.d.ts +50 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.protocol.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.records.d.ts +40 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.records.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.sequencer.d.ts +38 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.device.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.measurements.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.measurements.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.protocol.d.ts +22 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.protocol.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.sequencer.d.ts +28 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/a6-scale.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.device.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.measurements.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.measurements.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.protocol.d.ts +18 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.protocol.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.d.ts +21 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/yonker/yonker.device.d.ts +21 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/yonker/yonker.device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/yonker/yonker.protocol.d.ts +62 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/yonker/yonker.protocol.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/yonker/yonker.sequencer.d.ts +46 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/yonker/yonker.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +20 -1
- 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/frame-reader.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/frame-reader.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts +20 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts +2 -2
- package/lib/typescript/module/src/modules/auth/hooks/use-sign-in.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/supported-device-catalog-and-medical-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-and-medical-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-cofoe-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-cofoe-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-standard-variants.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-taidoc-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-taidoc-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-transtek-a6-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-variants.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-yonker-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-yonker-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/constants/and-medical-device-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/constants/and-medical-device-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/constants/built-in-measurement-types.d.ts +9 -0
- package/lib/typescript/module/src/modules/bt-management/constants/built-in-measurement-types.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/constants/cofoe-device-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/constants/cofoe-device-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/constants/device-variants.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/constants/standard-device-variants.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/constants/taidoc-device-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/constants/taidoc-device-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/constants/transtek-a6-device-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/constants/transtek-a6-device-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/constants/yonker-device-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/constants/yonker-device-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/core/resolve-device-key.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/device-classes.d.ts +26 -0
- package/lib/typescript/module/src/modules/bt-management/services/device-classes.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/and-medical/and-medical.device.d.ts +18 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.protocol.d.ts +30 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.protocol.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.sequencer.d.ts +26 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -1
- 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 +4 -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/cofoe/cofoe-bp.sequencer.d.ts +32 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.d.ts +46 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.d.ts +15 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.device.d.ts +18 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.protocol.d.ts +75 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.protocol.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.records.d.ts +22 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.records.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts +6 -2
- package/lib/typescript/module/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.device.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.protocol.d.ts +50 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.protocol.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.records.d.ts +40 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.records.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.sequencer.d.ts +38 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.device.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.measurements.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.measurements.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.protocol.d.ts +22 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.protocol.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.sequencer.d.ts +28 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/a6-scale.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.device.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.measurements.d.ts +6 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.measurements.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.protocol.d.ts +18 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.protocol.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.d.ts +21 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/mambo-a5.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/yonker/yonker.device.d.ts +21 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/yonker/yonker.device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/yonker/yonker.protocol.d.ts +62 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/yonker/yonker.protocol.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/yonker/yonker.sequencer.d.ts +46 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/yonker/yonker.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +20 -1
- 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/frame-reader.d.ts +2 -1
- package/lib/typescript/module/src/modules/bt-management/types/frame-reader.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts +20 -1
- package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts +2 -2
- package/package.json +1 -1
package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.protocol.js
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.scaleSetTimeCommand = exports.readWeight = exports.readBloodPressure = exports.dateTimeCommand = exports.AND_MEDICAL = void 0;
|
|
7
|
+
var _decodeMedicalFloat = require("../../../utils/decode-medical-float.js");
|
|
8
|
+
var _hexToByte = require("../../../utils/hex-to-byte.js");
|
|
9
|
+
var _standardGattProfile = require("../standard-gatt/standard-gatt.profile.js");
|
|
10
|
+
/* eslint-disable import/group-exports */
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* A&D Medical (UA-651/656/1200BLE monitors, UC-352BLE scale), from MedM Health Diary 3.12.11's
|
|
14
|
+
* `CAND_*` classes.
|
|
15
|
+
*
|
|
16
|
+
* The monitors are the SIG Blood Pressure profile plus a clock write a second after connecting:
|
|
17
|
+
* a 7-byte SIG Date Time to 0x1810/0x2A08, or the same bytes to Current Time 0x1805/0x2A2B on
|
|
18
|
+
* the UA-1200BLE/UB-1100BLE. The scale takes A&D command frames (`length type command payload`,
|
|
19
|
+
* no checksum) on 233bf001 and indicates 10-byte weight records on 23434101.
|
|
20
|
+
*/
|
|
21
|
+
const sig16 = assigned => `0000${assigned}-0000-1000-8000-00805f9b34fb`;
|
|
22
|
+
const AND_MEDICAL = exports.AND_MEDICAL = {
|
|
23
|
+
bloodPressureService: sig16("1810"),
|
|
24
|
+
bloodPressureMeasurement: sig16("2a35"),
|
|
25
|
+
dateTime: sig16("2a08"),
|
|
26
|
+
currentTimeService: sig16("1805"),
|
|
27
|
+
currentTime: sig16("2a2b"),
|
|
28
|
+
commandService: "233bf000-5a34-1b6d-975c-000d5690abe4",
|
|
29
|
+
command: "233bf001-5a34-1b6d-975c-000d5690abe4",
|
|
30
|
+
scaleService: "23434100-1fe4-1eff-80cb-00ff78297d8b",
|
|
31
|
+
scaleRecord: "23434101-1fe4-1eff-80cb-00ff78297d8b"
|
|
32
|
+
};
|
|
33
|
+
const POUND_IN_KG = 0.45359237;
|
|
34
|
+
const KPA_IN_MMHG = 7.500617;
|
|
35
|
+
const toHex = bytes => bytes.map(value => (value & 0xff).toString(16).padStart(2, "0"));
|
|
36
|
+
|
|
37
|
+
/** SIG Date Time, phone-local: year (u16 LE), month, day, hour, minute, second. */
|
|
38
|
+
const dateTimeCommand = now => toHex([now.getFullYear() & 0xff, now.getFullYear() >> 8, now.getMonth() + 1, now.getDate(), now.getHours(), now.getMinutes(), now.getSeconds()]);
|
|
39
|
+
|
|
40
|
+
/** A&D set-time frame for the scale: `08 01 01 YY MM DD hh mm ss`, binary, phone-local. */
|
|
41
|
+
exports.dateTimeCommand = dateTimeCommand;
|
|
42
|
+
const scaleSetTimeCommand = now => toHex([0x08, 0x01, 0x01, now.getFullYear() % 100, now.getMonth() + 1, now.getDate(), now.getHours(), now.getMinutes(), now.getSeconds()]);
|
|
43
|
+
exports.scaleSetTimeCommand = scaleSetTimeCommand;
|
|
44
|
+
const sfloat = (bytes, at) => at + 1 < bytes.length ? (0, _decodeMedicalFloat.decodeMedicalFloat)((bytes[at] ?? 0) | (bytes[at + 1] ?? 0) << 8, 4, 12) : undefined;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* SIG Blood Pressure Measurement 0x2A35. kPa is converted to mmHg; the device timestamp is kept
|
|
48
|
+
* when the clock is valid; the user id (0-based, 0xFF unknown) becomes a 1-based memory slot;
|
|
49
|
+
* status bit 2 is the irregular pulse. A record without both pressures is dropped.
|
|
50
|
+
*/
|
|
51
|
+
const readBloodPressure = frame => {
|
|
52
|
+
const bytes = frame.map(byte => (0, _hexToByte.hexToByte)(byte));
|
|
53
|
+
const flags = bytes[0] ?? 0;
|
|
54
|
+
const unit = (flags & 0x01) !== 0 ? KPA_IN_MMHG : 1;
|
|
55
|
+
const systolic = sfloat(bytes, 1);
|
|
56
|
+
const diastolic = sfloat(bytes, 3);
|
|
57
|
+
if (systolic === undefined || diastolic === undefined) {
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
const recordedAt = (0, _standardGattProfile.recordedAtFromBloodPressureFrame)(frame);
|
|
61
|
+
let cursor = 7 + ((flags & 0x02) !== 0 ? 7 : 0);
|
|
62
|
+
const heartRate = (flags & 0x04) !== 0 ? sfloat(bytes, cursor) : undefined;
|
|
63
|
+
cursor += (flags & 0x04) !== 0 ? 2 : 0;
|
|
64
|
+
const user = (flags & 0x08) !== 0 ? bytes[cursor] : undefined;
|
|
65
|
+
const status = (0, _standardGattProfile.bloodPressureStatusFromFrame)(frame);
|
|
66
|
+
return {
|
|
67
|
+
systolic: Math.round(systolic * unit),
|
|
68
|
+
diastolic: Math.round(diastolic * unit),
|
|
69
|
+
...(heartRate === undefined ? {} : {
|
|
70
|
+
heartRate
|
|
71
|
+
}),
|
|
72
|
+
...(status === undefined ? {} : {
|
|
73
|
+
irregularHeartbeat: (status & 0x04) !== 0
|
|
74
|
+
}),
|
|
75
|
+
...(recordedAt ? {
|
|
76
|
+
recordedAt
|
|
77
|
+
} : {}),
|
|
78
|
+
...(user === undefined || user === 0xff ? {} : {
|
|
79
|
+
memorySlot: user + 1
|
|
80
|
+
})
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
/** `yearLE16 month day hour minute second` at `at`, local; undefined when the clock is unset. */
|
|
85
|
+
exports.readBloodPressure = readBloodPressure;
|
|
86
|
+
const readDateTime = (bytes, at) => {
|
|
87
|
+
const [low = 0, high = 0, month = 0, day = 0, hour = 0, minute = 0, second = 0] = bytes.slice(at, at + 7);
|
|
88
|
+
const year = low | high << 8;
|
|
89
|
+
const date = new Date(year, month - 1, day, hour, minute, second);
|
|
90
|
+
return year >= 2000 && date.getMonth() === month - 1 && date.getDate() === day ? date : undefined;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* UC-352 record: flags (bit 0 = pounds), weight u16 LE in tenths, then the device time. Pounds
|
|
95
|
+
* are converted to kilograms. A record too short to carry a time uses the phone's, as MedM does.
|
|
96
|
+
*/
|
|
97
|
+
const readWeight = (frame, now) => {
|
|
98
|
+
const bytes = frame.map(byte => (0, _hexToByte.hexToByte)(byte));
|
|
99
|
+
const raw = (bytes[1] ?? 0) | (bytes[2] ?? 0) << 8;
|
|
100
|
+
if (bytes.length < 3 || raw === 0 || raw === 0xffff) {
|
|
101
|
+
return undefined;
|
|
102
|
+
}
|
|
103
|
+
const value = ((bytes[0] ?? 0) & 0x01) !== 0 ? raw / 10 * POUND_IN_KG : raw / 10;
|
|
104
|
+
const recordedAt = bytes.length >= 10 ? readDateTime(bytes, 3) : now;
|
|
105
|
+
return {
|
|
106
|
+
bodyWeight: Math.round(value * 100) / 100,
|
|
107
|
+
...(recordedAt ? {
|
|
108
|
+
recordedAt
|
|
109
|
+
} : {})
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
exports.readWeight = readWeight;
|
|
113
|
+
//# sourceMappingURL=and-medical.protocol.js.map
|
package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.protocol.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_decodeMedicalFloat","require","_hexToByte","_standardGattProfile","sig16","assigned","AND_MEDICAL","exports","bloodPressureService","bloodPressureMeasurement","dateTime","currentTimeService","currentTime","commandService","command","scaleService","scaleRecord","POUND_IN_KG","KPA_IN_MMHG","toHex","bytes","map","value","toString","padStart","dateTimeCommand","now","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","scaleSetTimeCommand","sfloat","at","length","decodeMedicalFloat","undefined","readBloodPressure","frame","byte","hexToByte","flags","unit","systolic","diastolic","recordedAt","recordedAtFromBloodPressureFrame","cursor","heartRate","user","status","bloodPressureStatusFromFrame","Math","round","irregularHeartbeat","memorySlot","readDateTime","low","high","month","day","hour","minute","second","slice","year","date","Date","readWeight","raw","bodyWeight"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/and-medical/and-medical.protocol.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.sequencer.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.AndMedicalSequencer = void 0;
|
|
7
|
+
var _core = require("@ovok/core");
|
|
8
|
+
var _caseType = require("../../../types/case-type.js");
|
|
9
|
+
var _andMedicalProtocol = require("./and-medical.protocol.js");
|
|
10
|
+
/** `bpm`: time to 0x1810/0x2A08; `bpmCts`: to 0x1805/0x2A2B (UA-1200BLE/UB-1100BLE); `scale`: UC-352. */
|
|
11
|
+
|
|
12
|
+
/** MedM waits this long after connecting before a monitor's clock write. */
|
|
13
|
+
const MONITOR_TIME_DELAY_MS = 1_000;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Sets the clock, then reports whatever the device indicates. A monitor resends stored readings,
|
|
17
|
+
* so an exact repeat (same time and values) within one connection is reported once.
|
|
18
|
+
*/
|
|
19
|
+
class AndMedicalSequencer {
|
|
20
|
+
recorded = false;
|
|
21
|
+
seen = new Set();
|
|
22
|
+
constructor(params) {
|
|
23
|
+
this.params = params;
|
|
24
|
+
}
|
|
25
|
+
initialCommands = () => {
|
|
26
|
+
const now = this.now();
|
|
27
|
+
if (this.params.kind === "scale") {
|
|
28
|
+
return [{
|
|
29
|
+
serviceUuid: _andMedicalProtocol.AND_MEDICAL.commandService,
|
|
30
|
+
characteristicUuid: _andMedicalProtocol.AND_MEDICAL.command,
|
|
31
|
+
frame: (0, _andMedicalProtocol.scaleSetTimeCommand)(now)
|
|
32
|
+
}];
|
|
33
|
+
}
|
|
34
|
+
const cts = this.params.kind === "bpmCts";
|
|
35
|
+
return [{
|
|
36
|
+
serviceUuid: cts ? _andMedicalProtocol.AND_MEDICAL.currentTimeService : _andMedicalProtocol.AND_MEDICAL.bloodPressureService,
|
|
37
|
+
characteristicUuid: cts ? _andMedicalProtocol.AND_MEDICAL.currentTime : _andMedicalProtocol.AND_MEDICAL.dateTime,
|
|
38
|
+
frame: (0, _andMedicalProtocol.dateTimeCommand)(now),
|
|
39
|
+
delayBeforeWriteMs: MONITOR_TIME_DELAY_MS
|
|
40
|
+
}];
|
|
41
|
+
};
|
|
42
|
+
isNormalDisconnect = () => this.recorded;
|
|
43
|
+
nextCommand = frame => {
|
|
44
|
+
if (this.params.kind === "scale") {
|
|
45
|
+
const weight = (0, _andMedicalProtocol.readWeight)(frame, this.now());
|
|
46
|
+
if (weight) {
|
|
47
|
+
this.report({
|
|
48
|
+
measurementTypeKey: _core.MeasurementTypeKey.bodyWeight,
|
|
49
|
+
...weight
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
const reading = (0, _andMedicalProtocol.readBloodPressure)(frame);
|
|
55
|
+
const key = reading?.recordedAt instanceof Date ? JSON.stringify(reading) : undefined;
|
|
56
|
+
if (reading && !(key && this.seen.has(key))) {
|
|
57
|
+
if (key) {
|
|
58
|
+
this.seen.add(key);
|
|
59
|
+
}
|
|
60
|
+
this.report({
|
|
61
|
+
measurementTypeKey: _core.MeasurementTypeKey.bloodPressure,
|
|
62
|
+
...reading
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
return undefined;
|
|
66
|
+
};
|
|
67
|
+
report = reading => {
|
|
68
|
+
this.recorded = true;
|
|
69
|
+
this.params.onResult({
|
|
70
|
+
caseType: _caseType.CaseType.RESULT,
|
|
71
|
+
...reading
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
now = () => this.params.now?.() ?? new Date();
|
|
75
|
+
}
|
|
76
|
+
exports.AndMedicalSequencer = AndMedicalSequencer;
|
|
77
|
+
//# sourceMappingURL=and-medical.sequencer.js.map
|
package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.sequencer.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_core","require","_caseType","_andMedicalProtocol","MONITOR_TIME_DELAY_MS","AndMedicalSequencer","recorded","seen","Set","constructor","params","initialCommands","now","kind","serviceUuid","AND_MEDICAL","commandService","characteristicUuid","command","frame","scaleSetTimeCommand","cts","currentTimeService","bloodPressureService","currentTime","dateTime","dateTimeCommand","delayBeforeWriteMs","isNormalDisconnect","nextCommand","weight","readWeight","report","measurementTypeKey","MeasurementTypeKey","bodyWeight","undefined","reading","readBloodPressure","key","recordedAt","Date","JSON","stringify","has","add","bloodPressure","onResult","caseType","CaseType","RESULT","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/and-medical/and-medical.sequencer.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AAIA,IAAAE,mBAAA,GAAAF,OAAA;AAQA;;AAGA;AACA,MAAMG,qBAAqB,GAAG,KAAK;;AAEnC;AACA;AACA;AACA;AACA,MAAMC,mBAAmB,CAA6B;EAC5CC,QAAQ,GAAG,KAAK;EACPC,IAAI,GAAG,IAAIC,GAAG,CAAS,CAAC;EAElCC,WAAWA,CACCC,MAIhB,EACD;IAAA,KALiBA,MAIhB,GAJgBA,MAIhB;EACA;EAEIC,eAAe,GAAGA,CAAA,KAAgC;IACvD,MAAMC,GAAG,GAAG,IAAI,CAACA,GAAG,CAAC,CAAC;IAEtB,IAAI,IAAI,CAACF,MAAM,CAACG,IAAI,KAAK,OAAO,EAAE;MAChC,OAAO,CACL;QACEC,WAAW,EAAEC,+BAAW,CAACC,cAAc;QACvCC,kBAAkB,EAAEF,+BAAW,CAACG,OAAO;QACvCC,KAAK,EAAE,IAAAC,uCAAmB,EAACR,GAAG;MAChC,CAAC,CACF;IACH;IAEA,MAAMS,GAAG,GAAG,IAAI,CAACX,MAAM,CAACG,IAAI,KAAK,QAAQ;IAEzC,OAAO,CACL;MACEC,WAAW,EAAEO,GAAG,GAAGN,+BAAW,CAACO,kBAAkB,GAAGP,+BAAW,CAACQ,oBAAoB;MACpFN,kBAAkB,EAAEI,GAAG,GAAGN,+BAAW,CAACS,WAAW,GAAGT,+BAAW,CAACU,QAAQ;MACxEN,KAAK,EAAE,IAAAO,mCAAe,EAACd,GAAG,CAAC;MAC3Be,kBAAkB,EAAEvB;IACtB,CAAC,CACF;EACH,CAAC;EAEMwB,kBAAkB,GAAGA,CAAA,KAAe,IAAI,CAACtB,QAAQ;EAEjDuB,WAAW,GAAIV,KAAwB,IAA2C;IACvF,IAAI,IAAI,CAACT,MAAM,CAACG,IAAI,KAAK,OAAO,EAAE;MAChC,MAAMiB,MAAM,GAAG,IAAAC,8BAAU,EAACZ,KAAK,EAAE,IAAI,CAACP,GAAG,CAAC,CAAC,CAAC;MAE5C,IAAIkB,MAAM,EAAE;QACV,IAAI,CAACE,MAAM,CAAC;UAAEC,kBAAkB,EAAEC,wBAAkB,CAACC,UAAU;UAAE,GAAGL;QAAO,CAAC,CAAC;MAC/E;MAEA,OAAOM,SAAS;IAClB;IAEA,MAAMC,OAAO,GAAG,IAAAC,qCAAiB,EAACnB,KAAK,CAAC;IAExC,MAAMoB,GAAG,GAAGF,OAAO,EAAEG,UAAU,YAAYC,IAAI,GAAGC,IAAI,CAACC,SAAS,CAACN,OAAO,CAAC,GAAGD,SAAS;IAErF,IAAIC,OAAO,IAAI,EAAEE,GAAG,IAAI,IAAI,CAAChC,IAAI,CAACqC,GAAG,CAACL,GAAG,CAAC,CAAC,EAAE;MAC3C,IAAIA,GAAG,EAAE;QACP,IAAI,CAAChC,IAAI,CAACsC,GAAG,CAACN,GAAG,CAAC;MACpB;MACA,IAAI,CAACP,MAAM,CAAC;QAAEC,kBAAkB,EAAEC,wBAAkB,CAACY,aAAa;QAAE,GAAGT;MAAQ,CAAC,CAAC;IACnF;IAEA,OAAOD,SAAS;EAClB,CAAC;EAEOJ,MAAM,GAAIK,OAAgC,IAAW;IAC3D,IAAI,CAAC/B,QAAQ,GAAG,IAAI;IACpB,IAAI,CAACI,MAAM,CAACqC,QAAQ,CAAC;MAAEC,QAAQ,EAAEC,kBAAQ,CAACC,MAAM;MAAE,GAAGb;IAAQ,CAAC,CAAC;EACjE,CAAC;EAEOzB,GAAG,GAAGA,CAAA,KAAY,IAAI,CAACF,MAAM,CAACE,GAAG,GAAG,CAAC,IAAI,IAAI6B,IAAI,CAAC,CAAC;AAC7D;AAACU,OAAA,CAAA9C,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
|
@@ -26,7 +26,7 @@ class Aoj70bDevice extends _btManagedDevice.BTManagedDevice {
|
|
|
26
26
|
constructor(device, params) {
|
|
27
27
|
super(device, params);
|
|
28
28
|
this.createCommandSequencer = () => new _liveOximeterSequencer.LiveOximeterSequencer({
|
|
29
|
-
|
|
29
|
+
readValues: frame => (0, _liveOximeterSequencer.readOximeterData)(frame, _liveOximeterSequencer.AOJ_VALUES),
|
|
30
30
|
onResult: result => this.onResult?.(result)
|
|
31
31
|
});
|
|
32
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_btManagedDevice","require","_liveOximeterSequencer","_aojBpProtocol","aoj70bMainServices","uuid","AOJ_BP","service","monitorUuids","notify","parsingModel","caseValuePosition","cases","Aoj70bDevice","BTManagedDevice","mainServices","stuckDataTimeout","onStreamStart","undefined","constructor","device","params","createCommandSequencer","LiveOximeterSequencer","
|
|
1
|
+
{"version":3,"names":["_btManagedDevice","require","_liveOximeterSequencer","_aojBpProtocol","aoj70bMainServices","uuid","AOJ_BP","service","monitorUuids","notify","parsingModel","caseValuePosition","cases","Aoj70bDevice","BTManagedDevice","mainServices","stuckDataTimeout","onStreamStart","undefined","constructor","device","params","createCommandSequencer","LiveOximeterSequencer","readValues","frame","readOximeterData","AOJ_VALUES","onResult","result","validatePackage","handleSuccessResult","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/aoj/aoj-70b.device.ts"],"mappings":";;;;;;AAOA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAEA,IAAAE,cAAA,GAAAF,OAAA;AAEA,MAAMG,kBAA8B,GAAG,CACrC;EACEC,IAAI,EAAEC,qBAAM,CAACC,OAAO;EACpBC,YAAY,EAAE,CAAC;IAAEH,IAAI,EAAEC,qBAAM,CAACG,MAAM;IAAEC,YAAY,EAAE;MAAEC,iBAAiB,EAAE,EAAE;MAAEC,KAAK,EAAE;IAAG;EAAE,CAAC;AAC5F,CAAC,CACF;;AAED;AACA,MAAMC,YAAY,SAASC,gCAAe,CAA4B;EAC1DC,YAAY,GAAGX,kBAAkB;EACjCY,gBAAgB,GAAG,OAAO;EAC1BC,aAAa,GAAGC,SAAS;EAE5BC,WAAWA,CAACC,MAAc,EAAEC,MAAqD,EAAE;IACxF,KAAK,CAACD,MAAM,EAAEC,MAAM,CAAC;IACrB,IAAI,CAACC,sBAAsB,GAAG,MAC5B,IAAIC,4CAAqB,CAAC;MACxBC,UAAU,EAAGC,KAAK,IAAK,IAAAC,uCAAgB,EAACD,KAAK,EAAEE,iCAAU,CAAC;MAC1DC,QAAQ,EAAGC,MAAM,IACf,IAAI,CAACD,QAAQ,GACXC,MAGF;IACJ,CAAC,CAAC;EACN;;EAEA;EACUC,eAAe,GAAGA,CAAA,KAAe,IAAI;EAErCC,mBAAmBA,CAAA,EAAS;IACpC;EACF;AACF;AAACC,OAAA,CAAAnB,YAAA,GAAAA,YAAA","ignoreList":[]}
|
package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js
CHANGED
|
@@ -9,35 +9,17 @@ var _caseType = require("../../../types/case-type.js");
|
|
|
9
9
|
var _integratedDevices = require("../../../types/integrated-devices.js");
|
|
10
10
|
var _hexToByte = require("../../../utils/hex-to-byte.js");
|
|
11
11
|
var _btManagedDevice = require("../bt-managed-device.js");
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
var _taidocProtocol = require("../taidoc/taidoc.protocol.js");
|
|
13
|
+
var _taidocRecords = require("../taidoc/taidoc.records.js");
|
|
14
14
|
const BGM_SERVICE = "0003cdd0-0000-1000-8000-00805f9b0131";
|
|
15
15
|
const BGM_CHARACTERISTIC = "0003cdd1-0000-1000-8000-00805f9b0131";
|
|
16
|
-
const GLUCOSE_REQUEST = "
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Frame byte 5 of the TaiDoc `0x26` stored-result reply (`51 26 d0 d1 d2 d3 a5 cs`) is d3:
|
|
20
|
-
* bits 6-7 the meal flag, where `11` marks a control-solution test, and on multi-parameter
|
|
21
|
-
* meters bits 2-5 the parameter - 0 glucose; 6 haematocrit, 7 ketone, 8 uric acid,
|
|
22
|
-
* 9 cholesterol, 11 haemoglobin, 12 lactate, 13 triglycerides. Single-parameter TaiDoc meters
|
|
23
|
-
* keep the strip code in bits 2-5 instead, so this check holds only for multi-parameter ones;
|
|
24
|
-
* the TD-4216 and GlucoCheck Gold behind these two parsers both are.
|
|
25
|
-
*/
|
|
26
|
-
const RECORD_FLAGS_BYTE = 5;
|
|
27
|
-
const CONTROL_SOLUTION_FLAG = 0b11;
|
|
28
|
-
const GLUCOSE_PARAMETER = 0;
|
|
29
|
-
|
|
30
|
-
/** A stored TaiDoc result is a patient glucose reading, not another analyte or a control test. */
|
|
31
|
-
const isPatientGlucoseRecord = frame => {
|
|
32
|
-
const flags = (0, _hexToByte.hexToByte)(frame[RECORD_FLAGS_BYTE] ?? "00");
|
|
33
|
-
return flags >> 6 !== CONTROL_SOLUTION_FLAG && (flags >> 2 & 0x0f) === GLUCOSE_PARAMETER;
|
|
34
|
-
};
|
|
16
|
+
const GLUCOSE_REQUEST = (0, _taidocProtocol.taidocCommand)(_taidocProtocol.TAIDOC.readingResult).join("");
|
|
35
17
|
const servicesFor = device => {
|
|
36
18
|
const isBgm = device === _integratedDevices.IntegratedDevices.BGM;
|
|
37
19
|
return [{
|
|
38
|
-
uuid: isBgm ? BGM_SERVICE :
|
|
20
|
+
uuid: isBgm ? BGM_SERVICE : _taidocProtocol.TAIDOC_SERVICE,
|
|
39
21
|
monitorUuids: [{
|
|
40
|
-
uuid: isBgm ? BGM_CHARACTERISTIC :
|
|
22
|
+
uuid: isBgm ? BGM_CHARACTERISTIC : _taidocProtocol.TAIDOC_CHARACTERISTIC,
|
|
41
23
|
parsingModel: {
|
|
42
24
|
caseValuePosition: [isBgm ? 9 : 1],
|
|
43
25
|
cases: [...(isBgm ? ["00", "0b", "10", "11", "18", "22", "33", "55"] : ["46", ...(device === _integratedDevices.IntegratedDevices.GLUCOCHECK ? ["50"] : [])]).map(caseValue => ({
|
|
@@ -66,7 +48,7 @@ const servicesFor = device => {
|
|
|
66
48
|
}],
|
|
67
49
|
...(isBgm ? {} : {
|
|
68
50
|
writeUuid: {
|
|
69
|
-
uuid:
|
|
51
|
+
uuid: _taidocProtocol.TAIDOC_CHARACTERISTIC,
|
|
70
52
|
mainCommandUuid: GLUCOSE_REQUEST
|
|
71
53
|
}
|
|
72
54
|
})
|
|
@@ -87,7 +69,7 @@ class BloodGlucoseDevice extends _btManagedDevice.BTManagedDevice {
|
|
|
87
69
|
}
|
|
88
70
|
|
|
89
71
|
// A ketone, cholesterol or control-solution record decodes to a number too; it is not glucose.
|
|
90
|
-
if (this.deviceData.name !== _integratedDevices.IntegratedDevices.BGM && !isPatientGlucoseRecord(frame)) {
|
|
72
|
+
if (this.deviceData.name !== _integratedDevices.IntegratedDevices.BGM && !(0, _taidocRecords.isPatientGlucoseRecord)(frame)) {
|
|
91
73
|
return;
|
|
92
74
|
}
|
|
93
75
|
this.onResult?.(result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_caseType","_integratedDevices","_hexToByte","_btManagedDevice","
|
|
1
|
+
{"version":3,"names":["_core","require","_caseType","_integratedDevices","_hexToByte","_btManagedDevice","_taidocProtocol","_taidocRecords","BGM_SERVICE","BGM_CHARACTERISTIC","GLUCOSE_REQUEST","taidocCommand","TAIDOC","readingResult","join","servicesFor","device","isBgm","IntegratedDevices","BGM","uuid","TAIDOC_SERVICE","monitorUuids","TAIDOC_CHARACTERISTIC","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","frame","isPatientGlucoseRecord","onResult","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/blood-glucose/blood-glucose.device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -38,6 +38,7 @@ class BTDataProcessor {
|
|
|
38
38
|
currentUuid = "";
|
|
39
39
|
destroy = () => {
|
|
40
40
|
this.buffers.clear();
|
|
41
|
+
this.frameReader?.reset?.();
|
|
41
42
|
this.currentUuid = "";
|
|
42
43
|
this.measurementState.reset();
|
|
43
44
|
clearTimeout(this.stuckDataTimeout);
|
|
@@ -77,7 +78,7 @@ class BTDataProcessor {
|
|
|
77
78
|
*/
|
|
78
79
|
readFramesFromBuffer = (reader, uuid, buffer) => {
|
|
79
80
|
while (buffer.length > 0) {
|
|
80
|
-
const result = reader.readFrame(buffer);
|
|
81
|
+
const result = reader.readFrame(buffer, uuid);
|
|
81
82
|
const hasProgressed = result.consumedBytes > 0;
|
|
82
83
|
buffer.splice(0, result.consumedBytes);
|
|
83
84
|
if (result.status === _frameReadStatus.FrameReadStatus.COMPLETE) {
|
|
@@ -88,7 +89,7 @@ class BTDataProcessor {
|
|
|
88
89
|
if (result.status === _frameReadStatus.FrameReadStatus.CORRUPT) {
|
|
89
90
|
this.reportCorruptFrame();
|
|
90
91
|
}
|
|
91
|
-
if (
|
|
92
|
+
if (!hasProgressed) {
|
|
92
93
|
break;
|
|
93
94
|
}
|
|
94
95
|
}
|
|
@@ -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","onMeasurementEnd","onResult","currentUuid","destroy","clear","reset","clearTimeout","stuckDataTimeout","undefined","commandTimeout","processData","uuid","hexValue","String","toLowerCase","buffer","get","push","set","startStuckTimeout","readFramesFromBuffer","readWholeBuffer","armStuckTimeout","armCommandTimeout","startCommandTimeout","reader","length","result","readFrame","hasProgressed","consumedBytes","splice","status","FrameReadStatus","COMPLETE","handleFrame","frame","answerFrame","CORRUPT","reportCorruptFrame","
|
|
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","onMeasurementEnd","onResult","currentUuid","destroy","clear","reset","clearTimeout","stuckDataTimeout","undefined","commandTimeout","processData","uuid","hexValue","String","toLowerCase","buffer","get","push","set","startStuckTimeout","readFramesFromBuffer","readWholeBuffer","armStuckTimeout","armCommandTimeout","startCommandTimeout","reader","length","result","readFrame","hasProgressed","consumedBytes","splice","status","FrameReadStatus","COMPLETE","handleFrame","frame","answerFrame","CORRUPT","reportCorruptFrame","validatePackage","progress","commandProgress","commands","nextCommand","sendCommands","data","parse","sentryLogger","frameLength","dependentData","parsingCase","caseType","CaseType","DEPENDENT","handleDependentResult","isMeasuring","measuring","advance","onError","Error","cause","message","setTimeout","cancelConnection","duration","commandTimeoutMs","onCommandTimeout","terminal","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-data-processor.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.BTManagedDevice = void 0;
|
|
7
7
|
var _sentryLogger = require("../../../helpers/utils/sentry-logger.js");
|
|
8
8
|
var _telemetry = require("../../../helpers/utils/telemetry.js");
|
|
9
|
+
var _builtInMeasurementTypes = require("../../constants/built-in-measurement-types.js");
|
|
9
10
|
var _deviceVariants = require("../../constants/device-variants.js");
|
|
10
11
|
var _bluetoothError = require("../../types/bluetooth-error.js");
|
|
11
12
|
var _clockSync = require("../../types/clock-sync.js");
|
|
@@ -31,9 +32,13 @@ class BTManagedDevice {
|
|
|
31
32
|
* The timeout in milliseconds for the stuck data.
|
|
32
33
|
*/
|
|
33
34
|
|
|
34
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
* The frame cases' measurement types, or - for a sequencer-driven parser whose cases are
|
|
37
|
+
* empty - the parser's entry in `BUILT_IN_MEASUREMENT_TYPES`.
|
|
38
|
+
*/
|
|
35
39
|
getSupportedMeasurementTypeKeys() {
|
|
36
|
-
|
|
40
|
+
const declared = (0, _supportedMeasurementTypeKeys.supportedMeasurementTypeKeys)(this.mainServices);
|
|
41
|
+
return declared.length > 0 ? declared : [...(_builtInMeasurementTypes.BUILT_IN_MEASUREMENT_TYPES[this.deviceData.name] ?? [])];
|
|
37
42
|
}
|
|
38
43
|
|
|
39
44
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_sentryLogger","require","_telemetry","_deviceVariants","_bluetoothError","_clockSync","_deviceStatus","_resultIdentity","_supportedMeasurementTypeKeys","_btConnectionHandler","_btDataProcessor","_pollingCommandSequencer","BTManagedDevice","connected","destroyed","resultReportedThisConnection","historyTransferActive","bondedEventReported","reportedMeasurementKinds","Set","reportedDailyTotals","historyResultCount","getSupportedMeasurementTypeKeys","supportedMeasurementTypeKeys","mainServices","reportsBondedEvent","handleMeasurementEnd","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onConnectionEvent","onConnectionEventCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","resultPolicy","sentryLogger","deviceData","id","name","localName","manufacturerData","sn","measurementTypes","clockSync","clockSyncCapabilityForDevice","variant","findDeviceVariant","String","manufacturer","model","status","measurementTypeKey","addOvokSpanEvent","error","normalized","toBluetoothError","errorCode","code","originalError","translationKey","Error","caseType","_","data","policy","byMeasurement","default","has","add","temporal","end","Date","undefined","now","getTime","day","start","recordedAt","key","toISOString","slice","recordOvokMetric","kind","progress","current","result","Object","defineProperty","value","createStableResultId","enumerable","writable","destroy","connectionHandler","dataProcessor","disconnect","cancelConnection","connectInternal","clear","sequencer","createCommandSequencer","pollingSequencerFor","isHistoryTransfer","BTConnectionHandler","onStatusChanged","DeviceStatus","CONNECTED","bind","DISCONNECTED","event","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","serialNumber","onServicesDiscovered","uuids","initialCommands","onCommandSent","armStuckTimeout","armCommandTimeout","isNormalDisconnect","preferredMtu","BTDataProcessor","stuckDataTimeout","onStreamStart","onMeasurementEnd","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","commandTimeoutMs","onCommandTimeout","commandProgress","handleDependentResult","frameReader","connect","Promise","reject","connectionPromise","resolve","finally","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_sentryLogger","require","_telemetry","_builtInMeasurementTypes","_deviceVariants","_bluetoothError","_clockSync","_deviceStatus","_resultIdentity","_supportedMeasurementTypeKeys","_btConnectionHandler","_btDataProcessor","_pollingCommandSequencer","BTManagedDevice","connected","destroyed","resultReportedThisConnection","historyTransferActive","bondedEventReported","reportedMeasurementKinds","Set","reportedDailyTotals","historyResultCount","getSupportedMeasurementTypeKeys","declared","supportedMeasurementTypeKeys","mainServices","length","BUILT_IN_MEASUREMENT_TYPES","deviceData","name","reportsBondedEvent","handleMeasurementEnd","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onConnectionEvent","onConnectionEventCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","resultPolicy","sentryLogger","id","localName","manufacturerData","sn","measurementTypes","clockSync","clockSyncCapabilityForDevice","variant","findDeviceVariant","String","manufacturer","model","status","measurementTypeKey","addOvokSpanEvent","error","normalized","toBluetoothError","errorCode","code","originalError","translationKey","Error","caseType","_","data","policy","byMeasurement","default","has","add","temporal","end","Date","undefined","now","getTime","day","start","recordedAt","key","toISOString","slice","recordOvokMetric","kind","progress","current","result","Object","defineProperty","value","createStableResultId","enumerable","writable","destroy","connectionHandler","dataProcessor","disconnect","cancelConnection","connectInternal","clear","sequencer","createCommandSequencer","pollingSequencerFor","isHistoryTransfer","BTConnectionHandler","onStatusChanged","DeviceStatus","CONNECTED","bind","DISCONNECTED","event","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","serialNumber","onServicesDiscovered","uuids","initialCommands","onCommandSent","armStuckTimeout","armCommandTimeout","isNormalDisconnect","preferredMtu","BTDataProcessor","stuckDataTimeout","onStreamStart","onMeasurementEnd","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","commandTimeoutMs","onCommandTimeout","commandProgress","handleDependentResult","frameReader","connect","Promise","reject","connectionPromise","resolve","finally","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CofoeBpSequencer = void 0;
|
|
7
|
+
var _core = require("@ovok/core");
|
|
8
|
+
var _caseType = require("../../../types/case-type.js");
|
|
9
|
+
var _cofoeProtocol = require("./cofoe.protocol.js");
|
|
10
|
+
var _cofoeRecords = require("./cofoe.records.js");
|
|
11
|
+
const BP = {
|
|
12
|
+
result: 0x03,
|
|
13
|
+
timeRequest: 0x06,
|
|
14
|
+
records: [0x02, 0x03]
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Cofoe `FF FF` blood-pressure monitors. Both generations get the clock on connect and have
|
|
19
|
+
* every reading acknowledged; the device ends the session.
|
|
20
|
+
*
|
|
21
|
+
* - `history: false` (`Cofoe_BPM`): a live `03` result, timed by the phone.
|
|
22
|
+
* - `history: true` (`Cofoe_KF66EP`): `02`/`03` records stamped with the device's own (BCD)
|
|
23
|
+
* clock, which is set again whenever the device asks (`06`).
|
|
24
|
+
*/
|
|
25
|
+
class CofoeBpSequencer {
|
|
26
|
+
recorded = false;
|
|
27
|
+
gatt = _cofoeProtocol.COFOE_GATT.bloodPressure;
|
|
28
|
+
constructor(params) {
|
|
29
|
+
this.params = params;
|
|
30
|
+
if (params.history) {
|
|
31
|
+
this.gatt = _cofoeProtocol.COFOE_GATT.history;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** The records generation may expose its GATT under either UUID layout; write to the one found. */
|
|
36
|
+
onServicesDiscovered = serviceUuids => {
|
|
37
|
+
if (this.params.history && serviceUuids.includes(_cofoeProtocol.COFOE_GATT.historyReversed.service)) {
|
|
38
|
+
this.gatt = _cofoeProtocol.COFOE_GATT.historyReversed;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
initialCommands = () => [this.command(this.setTime())];
|
|
42
|
+
isNormalDisconnect = () => this.recorded;
|
|
43
|
+
isHistoryTransfer = () => this.params.history;
|
|
44
|
+
nextCommand = frame => {
|
|
45
|
+
const {
|
|
46
|
+
command,
|
|
47
|
+
body
|
|
48
|
+
} = (0, _cofoeProtocol.unframe)("bloodPressure", frame);
|
|
49
|
+
if (this.params.history && command === BP.timeRequest) {
|
|
50
|
+
return [this.command(this.setTime())];
|
|
51
|
+
}
|
|
52
|
+
const isRecord = this.params.history ? BP.records.includes(command) : command === BP.result;
|
|
53
|
+
if (!isRecord) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
const reading = this.read(body);
|
|
57
|
+
if (reading) {
|
|
58
|
+
this.recorded = true;
|
|
59
|
+
this.params.onResult({
|
|
60
|
+
caseType: _caseType.CaseType.RESULT,
|
|
61
|
+
measurementTypeKey: _core.MeasurementTypeKey.bloodPressure,
|
|
62
|
+
...reading
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
return [this.command(_cofoeProtocol.BP_ACK)];
|
|
66
|
+
};
|
|
67
|
+
read = body => {
|
|
68
|
+
if (this.params.history) {
|
|
69
|
+
return (0, _cofoeRecords.readBpRecord)(body);
|
|
70
|
+
}
|
|
71
|
+
const result = (0, _cofoeRecords.readBpResult)(body);
|
|
72
|
+
return result && {
|
|
73
|
+
...result,
|
|
74
|
+
recordedAt: this.now()
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
setTime = () => this.params.history ? (0, _cofoeProtocol.historySetTime)(this.now()) : (0, _cofoeProtocol.bpSetTime)(this.now());
|
|
78
|
+
now = () => this.params.now?.() ?? new Date();
|
|
79
|
+
command = frame => ({
|
|
80
|
+
serviceUuid: this.gatt.service,
|
|
81
|
+
characteristicUuid: this.gatt.write,
|
|
82
|
+
frame
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
exports.CofoeBpSequencer = CofoeBpSequencer;
|
|
86
|
+
//# sourceMappingURL=cofoe-bp.sequencer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_core","require","_caseType","_cofoeProtocol","_cofoeRecords","BP","result","timeRequest","records","CofoeBpSequencer","recorded","gatt","COFOE_GATT","bloodPressure","constructor","params","history","onServicesDiscovered","serviceUuids","includes","historyReversed","service","initialCommands","command","setTime","isNormalDisconnect","isHistoryTransfer","nextCommand","frame","body","unframe","isRecord","undefined","reading","read","onResult","caseType","CaseType","RESULT","measurementTypeKey","MeasurementTypeKey","BP_ACK","readBpRecord","readBpResult","recordedAt","now","historySetTime","bpSetTime","Date","serviceUuid","characteristicUuid","write","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.ts"],"mappings":"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","ignoreList":[]}
|