@ovok/native 1.10.9 → 1.10.11
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 +34 -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-aoj-variants.js +137 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-aoj-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js +15 -1
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -1
- 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-entries.js +3 -2
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -1
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-famidoc-variants.js +227 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-famidoc-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-joytech-variants.js +95 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-joytech-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-jumper-variants.js +149 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-jumper-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-standard-variants.js +1007 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-standard-variants.js.map +1 -0
- 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-variants.js +1093 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-transtek-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-variants.js +320 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-variants.js.map +1 -0
- 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 +58 -27
- 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 +2 -1
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.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/aoj-device-variants.js +112 -0
- package/lib/commonjs/modules/bt-management/constants/aoj-device-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-management/constants/built-in-measurement-types.js +84 -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 +256 -0
- package/lib/commonjs/modules/bt-management/constants/device-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-management/constants/famidoc-device-variants.js +190 -0
- package/lib/commonjs/modules/bt-management/constants/famidoc-device-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js +9 -1
- package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/joytech-device-variants.js +80 -0
- package/lib/commonjs/modules/bt-management/constants/joytech-device-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-management/constants/jumper-device-variants.js +115 -0
- package/lib/commonjs/modules/bt-management/constants/jumper-device-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-management/constants/standard-device-variants.js +807 -0
- package/lib/commonjs/modules/bt-management/constants/standard-device-variants.js.map +1 -0
- 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-device-variants.js +890 -0
- package/lib/commonjs/modules/bt-management/constants/transtek-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/index.js +20 -0
- package/lib/commonjs/modules/bt-management/index.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js +33 -0
- package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +7 -1
- package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/device-classes.js +44 -1
- package/lib/commonjs/modules/bt-management/services/device-classes.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/device-secrets.js +68 -0
- package/lib/commonjs/modules/bt-management/services/device-secrets.js.map +1 -0
- 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 +41 -0
- package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-70b.device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-bp.device.js +45 -0
- package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-bp.device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-bp.protocol.js +140 -0
- package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-bp.protocol.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.js +138 -0
- package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +12 -7
- 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-connection-handler.js +27 -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-data-processor.js +4 -4
- 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 +19 -3
- 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/custom/custom.device.js +12 -4
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/famidoc/famidoc.device.js +49 -0
- package/lib/commonjs/modules/bt-management/services/devices/famidoc/famidoc.device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/famidoc/famidoc.protocol.js +163 -0
- package/lib/commonjs/modules/bt-management/services/devices/famidoc/famidoc.protocol.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/famidoc/famidoc.sequencer.js +95 -0
- package/lib/commonjs/modules/bt-management/services/devices/famidoc/famidoc.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/joytech/joytech.device.js +40 -0
- package/lib/commonjs/modules/bt-management/services/devices/joytech/joytech.device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/joytech/joytech.protocol.js +162 -0
- package/lib/commonjs/modules/bt-management/services/devices/joytech/joytech.protocol.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/joytech/joytech.sequencer.js +63 -0
- package/lib/commonjs/modules/bt-management/services/devices/joytech/joytech.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.device.js +56 -0
- package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.protocol.js +67 -0
- package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.protocol.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.sequencer.js +60 -0
- package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/live-oximeter.sequencer.js +89 -0
- package/lib/commonjs/modules/bt-management/services/devices/live-oximeter.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/polling-command-sequencer.js +22 -8
- package/lib/commonjs/modules/bt-management/services/devices/polling-command-sequencer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +13 -2
- 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.glucose.js +153 -0
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.js.map +1 -0
- 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/transtek-command.device.js +71 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.protocol.js +112 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.protocol.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.records.js +132 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.records.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.sequencer.js +145 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.session.js +91 -0
- package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.session.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/integrated-devices.js +33 -0
- package/lib/commonjs/modules/bt-management/types/integrated-devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/utils/device-title.js +5 -1
- package/lib/commonjs/modules/bt-management/utils/device-title.js.map +1 -1
- package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js +34 -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-aoj-variants.js +135 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-aoj-variants.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js +15 -1
- package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -1
- 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-entries.js +3 -2
- package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -1
- package/lib/module/modules/bt-device/constants/supported-device-catalog-famidoc-variants.js +225 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-famidoc-variants.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-joytech-variants.js +93 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-joytech-variants.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-jumper-variants.js +147 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-jumper-variants.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-standard-variants.js +1005 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-standard-variants.js.map +1 -0
- 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-variants.js +1091 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-transtek-variants.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-variants.js +317 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-variants.js.map +1 -0
- 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 +59 -28
- 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 +2 -1
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.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/aoj-device-variants.js +110 -0
- package/lib/module/modules/bt-management/constants/aoj-device-variants.js.map +1 -0
- package/lib/module/modules/bt-management/constants/built-in-measurement-types.js +82 -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 +253 -0
- package/lib/module/modules/bt-management/constants/device-variants.js.map +1 -0
- package/lib/module/modules/bt-management/constants/famidoc-device-variants.js +188 -0
- package/lib/module/modules/bt-management/constants/famidoc-device-variants.js.map +1 -0
- package/lib/module/modules/bt-management/constants/integrated-devices-map.js +9 -1
- package/lib/module/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
- package/lib/module/modules/bt-management/constants/joytech-device-variants.js +78 -0
- package/lib/module/modules/bt-management/constants/joytech-device-variants.js.map +1 -0
- package/lib/module/modules/bt-management/constants/jumper-device-variants.js +113 -0
- package/lib/module/modules/bt-management/constants/jumper-device-variants.js.map +1 -0
- package/lib/module/modules/bt-management/constants/standard-device-variants.js +804 -0
- package/lib/module/modules/bt-management/constants/standard-device-variants.js.map +1 -0
- 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-device-variants.js +888 -0
- package/lib/module/modules/bt-management/constants/transtek-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/index.js +2 -0
- package/lib/module/modules/bt-management/index.js.map +1 -1
- package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js +33 -0
- package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/define-custom-device.js +7 -1
- package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/device-classes.js +44 -1
- package/lib/module/modules/bt-management/services/device-classes.js.map +1 -1
- package/lib/module/modules/bt-management/services/device-secrets.js +59 -0
- package/lib/module/modules/bt-management/services/device-secrets.js.map +1 -0
- 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 +37 -0
- package/lib/module/modules/bt-management/services/devices/aoj/aoj-70b.device.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/aoj/aoj-bp.device.js +41 -0
- package/lib/module/modules/bt-management/services/devices/aoj/aoj-bp.device.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/aoj/aoj-bp.protocol.js +123 -0
- package/lib/module/modules/bt-management/services/devices/aoj/aoj-bp.protocol.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.js +134 -0
- package/lib/module/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +12 -7
- 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-connection-handler.js +27 -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-data-processor.js +4 -4
- 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 +19 -3
- 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/custom/custom.device.js +12 -4
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/famidoc/famidoc.device.js +45 -0
- package/lib/module/modules/bt-management/services/devices/famidoc/famidoc.device.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/famidoc/famidoc.protocol.js +149 -0
- package/lib/module/modules/bt-management/services/devices/famidoc/famidoc.protocol.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/famidoc/famidoc.sequencer.js +91 -0
- package/lib/module/modules/bt-management/services/devices/famidoc/famidoc.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/joytech/joytech.device.js +36 -0
- package/lib/module/modules/bt-management/services/devices/joytech/joytech.device.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/joytech/joytech.protocol.js +150 -0
- package/lib/module/modules/bt-management/services/devices/joytech/joytech.protocol.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/joytech/joytech.sequencer.js +60 -0
- package/lib/module/modules/bt-management/services/devices/joytech/joytech.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/jumper/jumper.device.js +52 -0
- package/lib/module/modules/bt-management/services/devices/jumper/jumper.device.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/jumper/jumper.protocol.js +62 -0
- package/lib/module/modules/bt-management/services/devices/jumper/jumper.protocol.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/jumper/jumper.sequencer.js +57 -0
- package/lib/module/modules/bt-management/services/devices/jumper/jumper.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/live-oximeter.sequencer.js +83 -0
- package/lib/module/modules/bt-management/services/devices/live-oximeter.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/polling-command-sequencer.js +22 -8
- package/lib/module/modules/bt-management/services/devices/polling-command-sequencer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +6 -2
- 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.glucose.js +149 -0
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.js.map +1 -0
- 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/transtek-command.device.js +67 -0
- package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.device.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.protocol.js +94 -0
- package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.protocol.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.records.js +125 -0
- package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.records.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.sequencer.js +142 -0
- package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.session.js +85 -0
- package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.session.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/custom-device-definition.js +2 -0
- package/lib/module/modules/bt-management/types/custom-device-definition.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 +33 -0
- package/lib/module/modules/bt-management/types/integrated-devices.js.map +1 -1
- package/lib/module/modules/bt-management/utils/device-title.js +5 -1
- package/lib/module/modules/bt-management/utils/device-title.js.map +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-aoj-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-aoj-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +15 -1
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -1
- 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-entries.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-famidoc-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-famidoc-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-joytech-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-joytech-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-jumper-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-jumper-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-standard-variants.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-standard-variants.d.ts.map +1 -0
- 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-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-transtek-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-variants.d.ts +15 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-variants.d.ts.map +1 -0
- 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 +8 -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/components/bt-provider-child-wrapper.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/aoj-device-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/aoj-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 +23 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/device-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/famidoc-device-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/famidoc-device-variants.d.ts.map +1 -0
- 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/joytech-device-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/joytech-device-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/jumper-device-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/jumper-device-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/standard-device-variants.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/standard-device-variants.d.ts.map +1 -0
- 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-device-variants.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/transtek-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/index.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-service-uuids.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-classes.d.ts +43 -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-secrets.d.ts +22 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/device-secrets.d.ts.map +1 -0
- 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/aoj/aoj-70b.device.d.ts +17 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-70b.device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-bp.device.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-bp.device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-bp.protocol.d.ts +54 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-bp.protocol.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.d.ts +36 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts +1 -1
- 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-connection-handler.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts +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/custom/custom.device.d.ts +3 -2
- 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/famidoc/famidoc.device.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/famidoc/famidoc.device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/famidoc/famidoc.protocol.d.ts +56 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/famidoc/famidoc.protocol.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/famidoc/famidoc.sequencer.d.ts +34 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/famidoc/famidoc.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/joytech/joytech.device.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/joytech/joytech.device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/joytech/joytech.protocol.d.ts +43 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/joytech/joytech.protocol.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/joytech/joytech.sequencer.d.ts +23 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/joytech/joytech.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.device.d.ts +18 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.protocol.d.ts +32 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.protocol.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.sequencer.d.ts +22 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts +37 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/polling-command-sequencer.d.ts +4 -2
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/polling-command-sequencer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +2 -1
- 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.glucose.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.d.ts.map +1 -0
- 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/transtek-command.device.d.ts +21 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.protocol.d.ts +51 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.protocol.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.records.d.ts +33 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.records.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.sequencer.d.ts +49 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.session.d.ts +39 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.session.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/command-sequencer.d.ts +4 -2
- package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +2 -1
- 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-service-spec.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-service-spec.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts +6 -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 +33 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts +34 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/service.type.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/service.type.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/write-characteristic.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/write-characteristic.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/utils/device-title.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/bt-management/utils/device-title.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/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-aoj-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-aoj-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +15 -1
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -1
- 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-entries.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-famidoc-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-famidoc-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-joytech-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-joytech-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-jumper-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-jumper-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-standard-variants.d.ts +9 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-standard-variants.d.ts.map +1 -0
- 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-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-transtek-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-variants.d.ts +15 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-variants.d.ts.map +1 -0
- 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 +8 -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/components/bt-provider-child-wrapper.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/aoj-device-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/constants/aoj-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 +23 -0
- package/lib/typescript/module/src/modules/bt-management/constants/device-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/constants/famidoc-device-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/constants/famidoc-device-variants.d.ts.map +1 -0
- 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/joytech-device-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/constants/joytech-device-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/constants/jumper-device-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/constants/jumper-device-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/constants/standard-device-variants.d.ts +10 -0
- package/lib/typescript/module/src/modules/bt-management/constants/standard-device-variants.d.ts.map +1 -0
- 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-device-variants.d.ts +10 -0
- package/lib/typescript/module/src/modules/bt-management/constants/transtek-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/index.d.ts +3 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-service-uuids.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-classes.d.ts +43 -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-secrets.d.ts +22 -0
- package/lib/typescript/module/src/modules/bt-management/services/device-secrets.d.ts.map +1 -0
- 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/aoj/aoj-70b.device.d.ts +17 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-70b.device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-bp.device.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-bp.device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-bp.protocol.d.ts +54 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-bp.protocol.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.d.ts +36 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts +1 -1
- 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-connection-handler.d.ts +3 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts +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/custom/custom.device.d.ts +3 -2
- 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/famidoc/famidoc.device.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/famidoc/famidoc.device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/famidoc/famidoc.protocol.d.ts +56 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/famidoc/famidoc.protocol.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/famidoc/famidoc.sequencer.d.ts +34 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/famidoc/famidoc.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/joytech/joytech.device.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/joytech/joytech.device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/joytech/joytech.protocol.d.ts +43 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/joytech/joytech.protocol.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/joytech/joytech.sequencer.d.ts +23 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/joytech/joytech.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.device.d.ts +18 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.protocol.d.ts +32 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.protocol.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.sequencer.d.ts +22 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts +37 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/polling-command-sequencer.d.ts +4 -2
- package/lib/typescript/module/src/modules/bt-management/services/devices/polling-command-sequencer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +2 -1
- 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.glucose.d.ts +7 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.d.ts.map +1 -0
- 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/transtek-command.device.d.ts +21 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.protocol.d.ts +51 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.protocol.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.records.d.ts +33 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.records.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.sequencer.d.ts +49 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.session.d.ts +39 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.session.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/command-sequencer.d.ts +4 -2
- package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +2 -1
- 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-service-spec.d.ts +6 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-service-spec.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts +6 -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 +33 -0
- package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts +34 -1
- package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/service.type.d.ts +6 -0
- package/lib/typescript/module/src/modules/bt-management/types/service.type.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/write-characteristic.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/write-characteristic.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/utils/device-title.d.ts +2 -1
- package/lib/typescript/module/src/modules/bt-management/utils/device-title.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
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/* eslint-disable import/group-exports */
|
|
4
|
+
|
|
5
|
+
import { decodeMedicalFloat } from "../../../utils/decode-medical-float.js";
|
|
6
|
+
import { hexToByte } from "../../../utils/hex-to-byte.js";
|
|
7
|
+
import { bloodPressureStatusFromFrame, recordedAtFromBloodPressureFrame } from "../standard-gatt/standard-gatt.profile.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* A&D Medical (UA-651/656/1200BLE monitors, UC-352BLE scale), from MedM Health Diary 3.12.11's
|
|
11
|
+
* `CAND_*` classes.
|
|
12
|
+
*
|
|
13
|
+
* The monitors are the SIG Blood Pressure profile plus a clock write a second after connecting:
|
|
14
|
+
* a 7-byte SIG Date Time to 0x1810/0x2A08, or the same bytes to Current Time 0x1805/0x2A2B on
|
|
15
|
+
* the UA-1200BLE/UB-1100BLE. The scale takes A&D command frames (`length type command payload`,
|
|
16
|
+
* no checksum) on 233bf001 and indicates 10-byte weight records on 23434101.
|
|
17
|
+
*/
|
|
18
|
+
const sig16 = assigned => `0000${assigned}-0000-1000-8000-00805f9b34fb`;
|
|
19
|
+
export const AND_MEDICAL = {
|
|
20
|
+
bloodPressureService: sig16("1810"),
|
|
21
|
+
bloodPressureMeasurement: sig16("2a35"),
|
|
22
|
+
dateTime: sig16("2a08"),
|
|
23
|
+
currentTimeService: sig16("1805"),
|
|
24
|
+
currentTime: sig16("2a2b"),
|
|
25
|
+
commandService: "233bf000-5a34-1b6d-975c-000d5690abe4",
|
|
26
|
+
command: "233bf001-5a34-1b6d-975c-000d5690abe4",
|
|
27
|
+
scaleService: "23434100-1fe4-1eff-80cb-00ff78297d8b",
|
|
28
|
+
scaleRecord: "23434101-1fe4-1eff-80cb-00ff78297d8b"
|
|
29
|
+
};
|
|
30
|
+
const POUND_IN_KG = 0.45359237;
|
|
31
|
+
const KPA_IN_MMHG = 7.500617;
|
|
32
|
+
const toHex = bytes => bytes.map(value => (value & 0xff).toString(16).padStart(2, "0"));
|
|
33
|
+
|
|
34
|
+
/** SIG Date Time, phone-local: year (u16 LE), month, day, hour, minute, second. */
|
|
35
|
+
export const dateTimeCommand = now => toHex([now.getFullYear() & 0xff, now.getFullYear() >> 8, now.getMonth() + 1, now.getDate(), now.getHours(), now.getMinutes(), now.getSeconds()]);
|
|
36
|
+
|
|
37
|
+
/** A&D set-time frame for the scale: `08 01 01 YY MM DD hh mm ss`, binary, phone-local. */
|
|
38
|
+
export const scaleSetTimeCommand = now => toHex([0x08, 0x01, 0x01, now.getFullYear() % 100, now.getMonth() + 1, now.getDate(), now.getHours(), now.getMinutes(), now.getSeconds()]);
|
|
39
|
+
const sfloat = (bytes, at) => at + 1 < bytes.length ? decodeMedicalFloat((bytes[at] ?? 0) | (bytes[at + 1] ?? 0) << 8, 4, 12) : undefined;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* SIG Blood Pressure Measurement 0x2A35. kPa is converted to mmHg; the device timestamp is kept
|
|
43
|
+
* when the clock is valid; the user id (0-based, 0xFF unknown) becomes a 1-based memory slot;
|
|
44
|
+
* status bit 2 is the irregular pulse. A record without both pressures is dropped.
|
|
45
|
+
*/
|
|
46
|
+
export const readBloodPressure = frame => {
|
|
47
|
+
const bytes = frame.map(byte => hexToByte(byte));
|
|
48
|
+
const flags = bytes[0] ?? 0;
|
|
49
|
+
const unit = (flags & 0x01) !== 0 ? KPA_IN_MMHG : 1;
|
|
50
|
+
const systolic = sfloat(bytes, 1);
|
|
51
|
+
const diastolic = sfloat(bytes, 3);
|
|
52
|
+
if (systolic === undefined || diastolic === undefined) {
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
const recordedAt = recordedAtFromBloodPressureFrame(frame);
|
|
56
|
+
let cursor = 7 + ((flags & 0x02) !== 0 ? 7 : 0);
|
|
57
|
+
const heartRate = (flags & 0x04) !== 0 ? sfloat(bytes, cursor) : undefined;
|
|
58
|
+
cursor += (flags & 0x04) !== 0 ? 2 : 0;
|
|
59
|
+
const user = (flags & 0x08) !== 0 ? bytes[cursor] : undefined;
|
|
60
|
+
const status = bloodPressureStatusFromFrame(frame);
|
|
61
|
+
return {
|
|
62
|
+
systolic: Math.round(systolic * unit),
|
|
63
|
+
diastolic: Math.round(diastolic * unit),
|
|
64
|
+
...(heartRate === undefined ? {} : {
|
|
65
|
+
heartRate
|
|
66
|
+
}),
|
|
67
|
+
...(status === undefined ? {} : {
|
|
68
|
+
irregularHeartbeat: (status & 0x04) !== 0
|
|
69
|
+
}),
|
|
70
|
+
...(recordedAt ? {
|
|
71
|
+
recordedAt
|
|
72
|
+
} : {}),
|
|
73
|
+
...(user === undefined || user === 0xff ? {} : {
|
|
74
|
+
memorySlot: user + 1
|
|
75
|
+
})
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
/** `yearLE16 month day hour minute second` at `at`, local; undefined when the clock is unset. */
|
|
80
|
+
const readDateTime = (bytes, at) => {
|
|
81
|
+
const [low = 0, high = 0, month = 0, day = 0, hour = 0, minute = 0, second = 0] = bytes.slice(at, at + 7);
|
|
82
|
+
const year = low | high << 8;
|
|
83
|
+
const date = new Date(year, month - 1, day, hour, minute, second);
|
|
84
|
+
return year >= 2000 && date.getMonth() === month - 1 && date.getDate() === day ? date : undefined;
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* UC-352 record: flags (bit 0 = pounds), weight u16 LE in tenths, then the device time. Pounds
|
|
89
|
+
* are converted to kilograms. A record too short to carry a time uses the phone's, as MedM does.
|
|
90
|
+
*/
|
|
91
|
+
export const readWeight = (frame, now) => {
|
|
92
|
+
const bytes = frame.map(byte => hexToByte(byte));
|
|
93
|
+
const raw = (bytes[1] ?? 0) | (bytes[2] ?? 0) << 8;
|
|
94
|
+
if (bytes.length < 3 || raw === 0 || raw === 0xffff) {
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
const value = ((bytes[0] ?? 0) & 0x01) !== 0 ? raw / 10 * POUND_IN_KG : raw / 10;
|
|
98
|
+
const recordedAt = bytes.length >= 10 ? readDateTime(bytes, 3) : now;
|
|
99
|
+
return {
|
|
100
|
+
bodyWeight: Math.round(value * 100) / 100,
|
|
101
|
+
...(recordedAt ? {
|
|
102
|
+
recordedAt
|
|
103
|
+
} : {})
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
//# sourceMappingURL=and-medical.protocol.js.map
|
package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.protocol.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["decodeMedicalFloat","hexToByte","bloodPressureStatusFromFrame","recordedAtFromBloodPressureFrame","sig16","assigned","AND_MEDICAL","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","undefined","readBloodPressure","frame","byte","flags","unit","systolic","diastolic","recordedAt","cursor","heartRate","user","status","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/module/modules/bt-management/services/devices/and-medical/and-medical.sequencer.js
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { MeasurementTypeKey } from "@ovok/core";
|
|
4
|
+
import { CaseType } from "../../../types/case-type.js";
|
|
5
|
+
import { AND_MEDICAL, dateTimeCommand, readBloodPressure, readWeight, scaleSetTimeCommand } from "./and-medical.protocol.js";
|
|
6
|
+
|
|
7
|
+
/** `bpm`: time to 0x1810/0x2A08; `bpmCts`: to 0x1805/0x2A2B (UA-1200BLE/UB-1100BLE); `scale`: UC-352. */
|
|
8
|
+
|
|
9
|
+
/** MedM waits this long after connecting before a monitor's clock write. */
|
|
10
|
+
const MONITOR_TIME_DELAY_MS = 1_000;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Sets the clock, then reports whatever the device indicates. A monitor resends stored readings,
|
|
14
|
+
* so an exact repeat (same time and values) within one connection is reported once.
|
|
15
|
+
*/
|
|
16
|
+
class AndMedicalSequencer {
|
|
17
|
+
recorded = false;
|
|
18
|
+
seen = new Set();
|
|
19
|
+
constructor(params) {
|
|
20
|
+
this.params = params;
|
|
21
|
+
}
|
|
22
|
+
initialCommands = () => {
|
|
23
|
+
const now = this.now();
|
|
24
|
+
if (this.params.kind === "scale") {
|
|
25
|
+
return [{
|
|
26
|
+
serviceUuid: AND_MEDICAL.commandService,
|
|
27
|
+
characteristicUuid: AND_MEDICAL.command,
|
|
28
|
+
frame: scaleSetTimeCommand(now)
|
|
29
|
+
}];
|
|
30
|
+
}
|
|
31
|
+
const cts = this.params.kind === "bpmCts";
|
|
32
|
+
return [{
|
|
33
|
+
serviceUuid: cts ? AND_MEDICAL.currentTimeService : AND_MEDICAL.bloodPressureService,
|
|
34
|
+
characteristicUuid: cts ? AND_MEDICAL.currentTime : AND_MEDICAL.dateTime,
|
|
35
|
+
frame: dateTimeCommand(now),
|
|
36
|
+
delayBeforeWriteMs: MONITOR_TIME_DELAY_MS
|
|
37
|
+
}];
|
|
38
|
+
};
|
|
39
|
+
isNormalDisconnect = () => this.recorded;
|
|
40
|
+
nextCommand = frame => {
|
|
41
|
+
if (this.params.kind === "scale") {
|
|
42
|
+
const weight = readWeight(frame, this.now());
|
|
43
|
+
if (weight) {
|
|
44
|
+
this.report({
|
|
45
|
+
measurementTypeKey: MeasurementTypeKey.bodyWeight,
|
|
46
|
+
...weight
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
const reading = readBloodPressure(frame);
|
|
52
|
+
const key = reading?.recordedAt instanceof Date ? JSON.stringify(reading) : undefined;
|
|
53
|
+
if (reading && !(key && this.seen.has(key))) {
|
|
54
|
+
if (key) {
|
|
55
|
+
this.seen.add(key);
|
|
56
|
+
}
|
|
57
|
+
this.report({
|
|
58
|
+
measurementTypeKey: MeasurementTypeKey.bloodPressure,
|
|
59
|
+
...reading
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return undefined;
|
|
63
|
+
};
|
|
64
|
+
report = reading => {
|
|
65
|
+
this.recorded = true;
|
|
66
|
+
this.params.onResult({
|
|
67
|
+
caseType: CaseType.RESULT,
|
|
68
|
+
...reading
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
now = () => this.params.now?.() ?? new Date();
|
|
72
|
+
}
|
|
73
|
+
export { AndMedicalSequencer };
|
|
74
|
+
//# sourceMappingURL=and-medical.sequencer.js.map
|
package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.sequencer.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","CaseType","AND_MEDICAL","dateTimeCommand","readBloodPressure","readWeight","scaleSetTimeCommand","MONITOR_TIME_DELAY_MS","AndMedicalSequencer","recorded","seen","Set","constructor","params","initialCommands","now","kind","serviceUuid","commandService","characteristicUuid","command","frame","cts","currentTimeService","bloodPressureService","currentTime","dateTime","delayBeforeWriteMs","isNormalDisconnect","nextCommand","weight","report","measurementTypeKey","bodyWeight","undefined","reading","key","recordedAt","Date","JSON","stringify","has","add","bloodPressure","onResult","caseType","RESULT"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/and-medical/and-medical.sequencer.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { BTManagedDevice } from "../bt-managed-device.js";
|
|
4
|
+
import { AOJ_VALUES, LiveOximeterSequencer, readOximeterData } from "../live-oximeter.sequencer.js";
|
|
5
|
+
import { AOJ_BP } from "./aoj-bp.protocol.js";
|
|
6
|
+
const aoj70bMainServices = [{
|
|
7
|
+
uuid: AOJ_BP.service,
|
|
8
|
+
monitorUuids: [{
|
|
9
|
+
uuid: AOJ_BP.notify,
|
|
10
|
+
parsingModel: {
|
|
11
|
+
caseValuePosition: [],
|
|
12
|
+
cases: []
|
|
13
|
+
}
|
|
14
|
+
}]
|
|
15
|
+
}];
|
|
16
|
+
|
|
17
|
+
/** The AOJ-70A/70B pulse oximeter: live values only, reported as one spot reading. */
|
|
18
|
+
class Aoj70bDevice extends BTManagedDevice {
|
|
19
|
+
mainServices = aoj70bMainServices;
|
|
20
|
+
stuckDataTimeout = 120_000;
|
|
21
|
+
onStreamStart = undefined;
|
|
22
|
+
constructor(device, params) {
|
|
23
|
+
super(device, params);
|
|
24
|
+
this.createCommandSequencer = () => new LiveOximeterSequencer({
|
|
25
|
+
readValues: frame => readOximeterData(frame, AOJ_VALUES),
|
|
26
|
+
onResult: result => this.onResult?.(result)
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/** One notification is one packet. */
|
|
31
|
+
validatePackage = () => true;
|
|
32
|
+
handleSuccessResult() {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export { Aoj70bDevice };
|
|
37
|
+
//# sourceMappingURL=aoj-70b.device.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BTManagedDevice","AOJ_VALUES","LiveOximeterSequencer","readOximeterData","AOJ_BP","aoj70bMainServices","uuid","service","monitorUuids","notify","parsingModel","caseValuePosition","cases","Aoj70bDevice","mainServices","stuckDataTimeout","onStreamStart","undefined","constructor","device","params","createCommandSequencer","readValues","frame","onResult","result","validatePackage","handleSuccessResult"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/aoj/aoj-70b.device.ts"],"mappings":";;AAOA,SAASA,eAAe,QAAQ,yBAAsB;AACtD,SAASC,UAAU,EAAEC,qBAAqB,EAAEC,gBAAgB,QAAQ,+BAA4B;AAEhG,SAASC,MAAM,QAAQ,sBAAmB;AAE1C,MAAMC,kBAA8B,GAAG,CACrC;EACEC,IAAI,EAAEF,MAAM,CAACG,OAAO;EACpBC,YAAY,EAAE,CAAC;IAAEF,IAAI,EAAEF,MAAM,CAACK,MAAM;IAAEC,YAAY,EAAE;MAAEC,iBAAiB,EAAE,EAAE;MAAEC,KAAK,EAAE;IAAG;EAAE,CAAC;AAC5F,CAAC,CACF;;AAED;AACA,MAAMC,YAAY,SAASb,eAAe,CAA4B;EAC1Dc,YAAY,GAAGT,kBAAkB;EACjCU,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,IAAInB,qBAAqB,CAAC;MACxBoB,UAAU,EAAGC,KAAK,IAAKpB,gBAAgB,CAACoB,KAAK,EAAEtB,UAAU,CAAC;MAC1DuB,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;AAEA,SAASd,YAAY","ignoreList":[]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { IntegratedDevices } from "../../../types/integrated-devices.js";
|
|
4
|
+
import { BTManagedDevice } from "../bt-managed-device.js";
|
|
5
|
+
import { AOJ_BP, AOJ_BP_FFF0, AojBpFrameReader } from "./aoj-bp.protocol.js";
|
|
6
|
+
import { AojBpSequencer } from "./aoj-bp.sequencer.js";
|
|
7
|
+
const passThrough = {
|
|
8
|
+
caseValuePosition: [],
|
|
9
|
+
cases: []
|
|
10
|
+
};
|
|
11
|
+
const servicesFor = gatt => [{
|
|
12
|
+
uuid: gatt.service,
|
|
13
|
+
monitorUuids: [{
|
|
14
|
+
uuid: gatt.notify,
|
|
15
|
+
parsingModel: passThrough
|
|
16
|
+
}]
|
|
17
|
+
}];
|
|
18
|
+
|
|
19
|
+
/** AOJ Medical blood-pressure monitors; the FFF0 variant is the Cazon BSX530B. */
|
|
20
|
+
class AojBpDeviceClass extends BTManagedDevice {
|
|
21
|
+
stuckDataTimeout = 90_000;
|
|
22
|
+
onStreamStart = undefined;
|
|
23
|
+
constructor(device, params) {
|
|
24
|
+
super(device, params);
|
|
25
|
+
const fff0 = params.deviceName === IntegratedDevices.AOJ_BPM_FFF0;
|
|
26
|
+
const gatt = fff0 ? AOJ_BP_FFF0 : AOJ_BP;
|
|
27
|
+
this.mainServices = servicesFor(gatt);
|
|
28
|
+
this.frameReader = new AojBpFrameReader();
|
|
29
|
+
this.createCommandSequencer = () => new AojBpSequencer({
|
|
30
|
+
service: gatt.service,
|
|
31
|
+
write: gatt.write,
|
|
32
|
+
listenOnly: fff0,
|
|
33
|
+
onResult: result => this.onResult?.(result)
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
handleSuccessResult() {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export { AojBpDeviceClass as AojBpDevice };
|
|
41
|
+
//# sourceMappingURL=aoj-bp.device.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["IntegratedDevices","BTManagedDevice","AOJ_BP","AOJ_BP_FFF0","AojBpFrameReader","AojBpSequencer","passThrough","caseValuePosition","cases","servicesFor","gatt","uuid","service","monitorUuids","notify","parsingModel","AojBpDeviceClass","stuckDataTimeout","onStreamStart","undefined","constructor","device","params","fff0","deviceName","AOJ_BPM_FFF0","mainServices","frameReader","createCommandSequencer","write","listenOnly","onResult","result","handleSuccessResult","AojBpDevice"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/aoj/aoj-bp.device.ts"],"mappings":";;AAIA,SAASA,iBAAiB,QAAQ,sCAAmC;AAGrE,SAASC,eAAe,QAAQ,yBAAsB;AAEtD,SAASC,MAAM,EAAEC,WAAW,EAAEC,gBAAgB,QAAQ,sBAAmB;AACzE,SAASC,cAAc,QAAQ,uBAAoB;AAInD,MAAMC,WAAW,GAAG;EAAEC,iBAAiB,EAAE,EAAE;EAAEC,KAAK,EAAE;AAAG,CAAC;AAExD,MAAMC,WAAW,GAAIC,IAAyC,IAAiB,CAC7E;EAAEC,IAAI,EAAED,IAAI,CAACE,OAAO;EAAEC,YAAY,EAAE,CAAC;IAAEF,IAAI,EAAED,IAAI,CAACI,MAAM;IAAEC,YAAY,EAAET;EAAY,CAAC;AAAE,CAAC,CACzF;;AAED;AACA,MAAMU,gBAAgB,SAASf,eAAe,CAAc;EAEhDgB,gBAAgB,GAAG,MAAM;EACzBC,aAAa,GAAGC,SAAS;EAE5BC,WAAWA,CAACC,MAAc,EAAEC,MAAuC,EAAE;IAC1E,KAAK,CAACD,MAAM,EAAEC,MAAM,CAAC;IAErB,MAAMC,IAAI,GAAGD,MAAM,CAACE,UAAU,KAAKxB,iBAAiB,CAACyB,YAAY;IACjE,MAAMf,IAAI,GAAGa,IAAI,GAAGpB,WAAW,GAAGD,MAAM;IAExC,IAAI,CAACwB,YAAY,GAAGjB,WAAW,CAACC,IAAI,CAAC;IACrC,IAAI,CAACiB,WAAW,GAAG,IAAIvB,gBAAgB,CAAC,CAAC;IACzC,IAAI,CAACwB,sBAAsB,GAAG,MAC5B,IAAIvB,cAAc,CAAC;MACjBO,OAAO,EAAEF,IAAI,CAACE,OAAO;MACrBiB,KAAK,EAAEnB,IAAI,CAACmB,KAAK;MACjBC,UAAU,EAAEP,IAAI;MAChBQ,QAAQ,EAAGC,MAAM,IACf,IAAI,CAACD,QAAQ,GACXC,MACF;IACJ,CAAC,CAAC;EACN;EAEUC,mBAAmBA,CAAA,EAAS;IACpC;EACF;AACF;AAEA,SAASjB,gBAAgB,IAAIkB,WAAW","ignoreList":[]}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/* eslint-disable import/group-exports */
|
|
4
|
+
|
|
5
|
+
import { FrameReadStatus } from "../../../types/frame-read-status.js";
|
|
6
|
+
import { calculateCrc8Maxim } from "../../../utils/calculate-crc-8-maxim.js";
|
|
7
|
+
import { hexToByte } from "../../../utils/hex-to-byte.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* AOJ Medical's blood-pressure protocol (AOJ-30x/33x, ARM-111, WRS-35E and rebrands), from
|
|
11
|
+
* MedM Health Diary 3.12.11's `CAOJMedical_BPM`. It is not the AOJ-20A thermometer's framing.
|
|
12
|
+
*
|
|
13
|
+
* Frames are `BE B0` (app to device) or `D0 C2` (device to app), a length counting the command
|
|
14
|
+
* and payload, the command, the payload, and CRC-8/MAXIM over every byte before it.
|
|
15
|
+
*/
|
|
16
|
+
const sig16 = assigned => `0000${assigned}-0000-1000-8000-00805f9b34fb`;
|
|
17
|
+
export const AOJ_BP = {
|
|
18
|
+
service: sig16("ffe0"),
|
|
19
|
+
notify: sig16("ffe1"),
|
|
20
|
+
write: sig16("ffe2")
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
/** The Cazon BSX530B variant: one characteristic for both directions, and a listen-only session. */
|
|
24
|
+
export const AOJ_BP_FFF0 = {
|
|
25
|
+
service: sig16("fff0"),
|
|
26
|
+
notify: sig16("fff6"),
|
|
27
|
+
write: sig16("fff6")
|
|
28
|
+
};
|
|
29
|
+
export const AOJ_COMMAND = {
|
|
30
|
+
ack: 0x00,
|
|
31
|
+
serial: 0xd6,
|
|
32
|
+
systemInfo: 0xd8,
|
|
33
|
+
voice: 0xd9,
|
|
34
|
+
record: 0xcc
|
|
35
|
+
};
|
|
36
|
+
const DEVICE_HEADER = [0xd0, 0xc2];
|
|
37
|
+
const toHex = bytes => bytes.map(value => (value & 0xff).toString(16).padStart(2, "0"));
|
|
38
|
+
export const frame = (command, payload = []) => {
|
|
39
|
+
const bytes = toHex([0xbe, 0xb0, payload.length + 1, command, ...payload]);
|
|
40
|
+
return [...bytes, ...toHex([calculateCrc8Maxim(bytes, bytes.length)])];
|
|
41
|
+
};
|
|
42
|
+
export const commandOf = received => hexToByte(received[3] ?? "00");
|
|
43
|
+
export const payloadOf = received => received.slice(4, -1).map(byte => hexToByte(byte));
|
|
44
|
+
export const updateStatusCommand = () => frame(0xb2);
|
|
45
|
+
export const setTimeCommand = now => frame(0xb1, [now.getFullYear() >> 8, now.getFullYear() & 0xff, now.getMonth() + 1, now.getDate(), now.getHours(), now.getMinutes(), now.getSeconds()]);
|
|
46
|
+
export const getSerialCommand = () => frame(0xd6, [0x00]);
|
|
47
|
+
export const getSystemInfoCommand = () => frame(0xd8);
|
|
48
|
+
|
|
49
|
+
/** Voice off: the SDK has no setting for spoken readings. */
|
|
50
|
+
export const setVoiceCommand = () => frame(0xd9, [0x03, 0x00]);
|
|
51
|
+
|
|
52
|
+
/** `D7 FF 01`: send stored records for every user. */
|
|
53
|
+
export const getDataCommand = () => frame(0xd7, [0xff, 0x01]);
|
|
54
|
+
export const ackCommand = () => frame(0x00, [0x00]);
|
|
55
|
+
export const turnOffCommand = () => frame(0xd0);
|
|
56
|
+
|
|
57
|
+
/** Isolates `D0 C2` frames whatever the notification boundaries. */
|
|
58
|
+
export class AojBpFrameReader {
|
|
59
|
+
readFrame(buffer) {
|
|
60
|
+
const start = buffer.findIndex((byte, index) => hexToByte(byte) === DEVICE_HEADER[0] && (index + 1 >= buffer.length || hexToByte(buffer[index + 1] ?? "00") === DEVICE_HEADER[1]));
|
|
61
|
+
if (start === -1) {
|
|
62
|
+
return {
|
|
63
|
+
status: FrameReadStatus.INCOMPLETE,
|
|
64
|
+
consumedBytes: buffer.length
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
if (start + 3 > buffer.length) {
|
|
68
|
+
return {
|
|
69
|
+
status: FrameReadStatus.INCOMPLETE,
|
|
70
|
+
consumedBytes: start
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
const length = hexToByte(buffer[start + 2] ?? "00") + 4;
|
|
74
|
+
if (start + length > buffer.length) {
|
|
75
|
+
return {
|
|
76
|
+
status: FrameReadStatus.INCOMPLETE,
|
|
77
|
+
consumedBytes: start
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
const received = buffer.slice(start, start + length);
|
|
81
|
+
if (calculateCrc8Maxim(received, length - 1) !== hexToByte(received[length - 1] ?? "00")) {
|
|
82
|
+
return {
|
|
83
|
+
status: FrameReadStatus.CORRUPT,
|
|
84
|
+
consumedBytes: start + 1
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
status: FrameReadStatus.COMPLETE,
|
|
89
|
+
consumedBytes: start + length,
|
|
90
|
+
frame: received
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/** `D8`: the unsent-record counts for users 1 and 2, used to know when the upload is done. */
|
|
96
|
+
export const readUnsentCount = payload => (payload[4] ?? 0) + (payload[5] ?? 0);
|
|
97
|
+
/**
|
|
98
|
+
* `CC`: systolic, diastolic and pulse (mmHg, bpm), flags (bit 0 irregular heartbeat, top nibble
|
|
99
|
+
* the user), then `YYYY MM DD hh mm ss` local time. Diastolic, pulse and flags all zero is an
|
|
100
|
+
* error record whose first byte is the error code; a zero year means the clock was never set.
|
|
101
|
+
*/
|
|
102
|
+
export const readBloodPressure = payload => {
|
|
103
|
+
if (payload.length < 11) {
|
|
104
|
+
return undefined;
|
|
105
|
+
}
|
|
106
|
+
const [systolic = 0, diastolic = 0, heartRate = 0, flags = 0] = payload;
|
|
107
|
+
const year = (payload[4] ?? 0) << 8 | (payload[5] ?? 0);
|
|
108
|
+
if (diastolic === 0 && heartRate === 0 && flags === 0 || year === 0) {
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
const user = flags >> 4;
|
|
112
|
+
return {
|
|
113
|
+
systolic,
|
|
114
|
+
diastolic,
|
|
115
|
+
heartRate,
|
|
116
|
+
irregularHeartbeat: (flags & 0x01) !== 0,
|
|
117
|
+
recordedAt: new Date(year, (payload[6] ?? 1) - 1, payload[7] ?? 1, payload[8] ?? 0, payload[9] ?? 0, payload[10] ?? 0),
|
|
118
|
+
...(user > 0 ? {
|
|
119
|
+
memorySlot: user
|
|
120
|
+
} : {})
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
//# sourceMappingURL=aoj-bp.protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FrameReadStatus","calculateCrc8Maxim","hexToByte","sig16","assigned","AOJ_BP","service","notify","write","AOJ_BP_FFF0","AOJ_COMMAND","ack","serial","systemInfo","voice","record","DEVICE_HEADER","toHex","bytes","map","value","toString","padStart","frame","command","payload","length","commandOf","received","payloadOf","slice","byte","updateStatusCommand","setTimeCommand","now","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getSerialCommand","getSystemInfoCommand","setVoiceCommand","getDataCommand","ackCommand","turnOffCommand","AojBpFrameReader","readFrame","buffer","start","findIndex","index","status","INCOMPLETE","consumedBytes","CORRUPT","COMPLETE","readUnsentCount","readBloodPressure","undefined","systolic","diastolic","heartRate","flags","year","user","irregularHeartbeat","recordedAt","Date","memorySlot"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/aoj/aoj-bp.protocol.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { MeasurementTypeKey } from "@ovok/core";
|
|
4
|
+
import { CaseType } from "../../../types/case-type.js";
|
|
5
|
+
import { ackCommand, AOJ_COMMAND, commandOf, getDataCommand, getSerialCommand, getSystemInfoCommand, payloadOf, readBloodPressure, readUnsentCount, setTimeCommand, setVoiceCommand, turnOffCommand, updateStatusCommand } from "./aoj-bp.protocol.js";
|
|
6
|
+
/** MedM re-sends the time every 5 s, five times, then turns the monitor off. */
|
|
7
|
+
const TIME_RETRY_MS = 5_000;
|
|
8
|
+
const TIME_ATTEMPTS = 5;
|
|
9
|
+
const SYSTEM_INFO_RETRY_MS = 2_000;
|
|
10
|
+
|
|
11
|
+
/** Quiet time after the last record before the monitor is turned off. */
|
|
12
|
+
const END_AFTER_MS = 30_000;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* The AOJ blood-pressure session: status, time, serial, system info, voice, then "send stored
|
|
16
|
+
* data", acknowledging every record. Records stay on the monitor - the SDK never sends MedM's
|
|
17
|
+
* optional delete - and the monitor is turned off after the upload goes quiet.
|
|
18
|
+
*/
|
|
19
|
+
class AojBpSequencer {
|
|
20
|
+
phase = "time";
|
|
21
|
+
timeAttempts = 0;
|
|
22
|
+
recorded = false;
|
|
23
|
+
turnedOff = false;
|
|
24
|
+
unsent = 0;
|
|
25
|
+
constructor(params) {
|
|
26
|
+
this.params = params;
|
|
27
|
+
}
|
|
28
|
+
initialCommands = () => {
|
|
29
|
+
if (this.params.listenOnly) {
|
|
30
|
+
this.phase = "data";
|
|
31
|
+
return [];
|
|
32
|
+
}
|
|
33
|
+
this.timeAttempts = 1;
|
|
34
|
+
return [this.command(updateStatusCommand()), this.command(setTimeCommand(this.now()), 1_000)];
|
|
35
|
+
};
|
|
36
|
+
isNormalDisconnect = () => this.turnedOff || this.recorded;
|
|
37
|
+
commandTimeoutMs = () => {
|
|
38
|
+
switch (this.phase) {
|
|
39
|
+
case "time":
|
|
40
|
+
return this.params.listenOnly ? undefined : TIME_RETRY_MS;
|
|
41
|
+
case "system-info":
|
|
42
|
+
return SYSTEM_INFO_RETRY_MS;
|
|
43
|
+
case "data":
|
|
44
|
+
return this.recorded && !this.params.listenOnly ? END_AFTER_MS : undefined;
|
|
45
|
+
default:
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
onCommandTimeout = () => {
|
|
50
|
+
if (this.phase === "time") {
|
|
51
|
+
if (this.timeAttempts >= TIME_ATTEMPTS) {
|
|
52
|
+
return this.turnOff();
|
|
53
|
+
}
|
|
54
|
+
this.timeAttempts += 1;
|
|
55
|
+
return {
|
|
56
|
+
commands: [this.command(setTimeCommand(this.now()))]
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
if (this.phase === "system-info") {
|
|
60
|
+
return {
|
|
61
|
+
commands: [this.command(getSystemInfoCommand())]
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
return this.phase === "data" ? this.turnOff() : {};
|
|
65
|
+
};
|
|
66
|
+
commandProgress = frame => commandOf(frame) === AOJ_COMMAND.record ? "partial" : "complete";
|
|
67
|
+
nextCommand = frame => {
|
|
68
|
+
const command = commandOf(frame);
|
|
69
|
+
if (command === AOJ_COMMAND.record) {
|
|
70
|
+
return this.record(payloadOf(frame));
|
|
71
|
+
}
|
|
72
|
+
if (this.phase === "time" && command === AOJ_COMMAND.ack) {
|
|
73
|
+
this.phase = "serial";
|
|
74
|
+
return [this.command(getSerialCommand())];
|
|
75
|
+
}
|
|
76
|
+
if (this.phase === "serial" && command === AOJ_COMMAND.serial) {
|
|
77
|
+
this.phase = "system-info";
|
|
78
|
+
return [this.command(getSystemInfoCommand())];
|
|
79
|
+
}
|
|
80
|
+
if (this.phase === "system-info" && command === AOJ_COMMAND.systemInfo) {
|
|
81
|
+
this.unsent = readUnsentCount(payloadOf(frame));
|
|
82
|
+
this.phase = "voice";
|
|
83
|
+
return [this.command(setVoiceCommand())];
|
|
84
|
+
}
|
|
85
|
+
if (this.phase === "voice" && command === AOJ_COMMAND.voice) {
|
|
86
|
+
this.phase = "data";
|
|
87
|
+
return [this.command(getDataCommand())];
|
|
88
|
+
}
|
|
89
|
+
return undefined;
|
|
90
|
+
};
|
|
91
|
+
record = payload => {
|
|
92
|
+
this.unsent -= 1;
|
|
93
|
+
const reading = readBloodPressure(payload);
|
|
94
|
+
|
|
95
|
+
// MedM acknowledges only a readable record; an error record is left unanswered.
|
|
96
|
+
if (!reading) {
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
this.recorded = true;
|
|
100
|
+
this.params.onResult({
|
|
101
|
+
caseType: CaseType.RESULT,
|
|
102
|
+
measurementTypeKey: MeasurementTypeKey.bloodPressure,
|
|
103
|
+
systolic: reading.systolic,
|
|
104
|
+
diastolic: reading.diastolic,
|
|
105
|
+
heartRate: reading.heartRate,
|
|
106
|
+
recordedAt: reading.recordedAt,
|
|
107
|
+
...(reading.memorySlot ? {
|
|
108
|
+
memorySlot: reading.memorySlot
|
|
109
|
+
} : {}),
|
|
110
|
+
...(reading.irregularHeartbeat ? {
|
|
111
|
+
irregularHeartbeat: true
|
|
112
|
+
} : {})
|
|
113
|
+
});
|
|
114
|
+
return [this.command(ackCommand())];
|
|
115
|
+
};
|
|
116
|
+
turnOff = () => {
|
|
117
|
+
this.phase = "done";
|
|
118
|
+
this.turnedOff = true;
|
|
119
|
+
return {
|
|
120
|
+
commands: [this.command(turnOffCommand())]
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
now = () => this.params.now?.() ?? new Date();
|
|
124
|
+
command = (frame, delayBeforeWriteMs) => ({
|
|
125
|
+
serviceUuid: this.params.service,
|
|
126
|
+
characteristicUuid: this.params.write,
|
|
127
|
+
frame,
|
|
128
|
+
...(delayBeforeWriteMs ? {
|
|
129
|
+
delayBeforeWriteMs
|
|
130
|
+
} : {})
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
export { AojBpSequencer };
|
|
134
|
+
//# sourceMappingURL=aoj-bp.sequencer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","CaseType","ackCommand","AOJ_COMMAND","commandOf","getDataCommand","getSerialCommand","getSystemInfoCommand","payloadOf","readBloodPressure","readUnsentCount","setTimeCommand","setVoiceCommand","turnOffCommand","updateStatusCommand","TIME_RETRY_MS","TIME_ATTEMPTS","SYSTEM_INFO_RETRY_MS","END_AFTER_MS","AojBpSequencer","phase","timeAttempts","recorded","turnedOff","unsent","constructor","params","initialCommands","listenOnly","command","now","isNormalDisconnect","commandTimeoutMs","undefined","onCommandTimeout","turnOff","commands","commandProgress","frame","record","nextCommand","ack","serial","systemInfo","voice","payload","reading","onResult","caseType","RESULT","measurementTypeKey","bloodPressure","systolic","diastolic","heartRate","recordedAt","memorySlot","irregularHeartbeat","Date","delayBeforeWriteMs","serviceUuid","service","characteristicUuid","write"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/aoj/aoj-bp.sequencer.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js
CHANGED
|
@@ -5,17 +5,17 @@ import { CaseType } from "../../../types/case-type.js";
|
|
|
5
5
|
import { IntegratedDevices } from "../../../types/integrated-devices.js";
|
|
6
6
|
import { hexToByte } from "../../../utils/hex-to-byte.js";
|
|
7
7
|
import { BTManagedDevice } from "../bt-managed-device.js";
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
import { TAIDOC, TAIDOC_CHARACTERISTIC, TAIDOC_SERVICE, taidocCommand } from "../taidoc/taidoc.protocol.js";
|
|
9
|
+
import { isPatientGlucoseRecord } from "../taidoc/taidoc.records.js";
|
|
10
10
|
const BGM_SERVICE = "0003cdd0-0000-1000-8000-00805f9b0131";
|
|
11
11
|
const BGM_CHARACTERISTIC = "0003cdd1-0000-1000-8000-00805f9b0131";
|
|
12
|
-
const GLUCOSE_REQUEST = "
|
|
12
|
+
const GLUCOSE_REQUEST = taidocCommand(TAIDOC.readingResult).join("");
|
|
13
13
|
const servicesFor = device => {
|
|
14
14
|
const isBgm = device === IntegratedDevices.BGM;
|
|
15
15
|
return [{
|
|
16
|
-
uuid: isBgm ? BGM_SERVICE :
|
|
16
|
+
uuid: isBgm ? BGM_SERVICE : TAIDOC_SERVICE,
|
|
17
17
|
monitorUuids: [{
|
|
18
|
-
uuid: isBgm ? BGM_CHARACTERISTIC :
|
|
18
|
+
uuid: isBgm ? BGM_CHARACTERISTIC : TAIDOC_CHARACTERISTIC,
|
|
19
19
|
parsingModel: {
|
|
20
20
|
caseValuePosition: [isBgm ? 9 : 1],
|
|
21
21
|
cases: [...(isBgm ? ["00", "0b", "10", "11", "18", "22", "33", "55"] : ["46", ...(device === IntegratedDevices.GLUCOCHECK ? ["50"] : [])]).map(caseValue => ({
|
|
@@ -44,7 +44,7 @@ const servicesFor = device => {
|
|
|
44
44
|
}],
|
|
45
45
|
...(isBgm ? {} : {
|
|
46
46
|
writeUuid: {
|
|
47
|
-
uuid:
|
|
47
|
+
uuid: TAIDOC_CHARACTERISTIC,
|
|
48
48
|
mainCommandUuid: GLUCOSE_REQUEST
|
|
49
49
|
}
|
|
50
50
|
})
|
|
@@ -59,10 +59,15 @@ export class BloodGlucoseDevice extends BTManagedDevice {
|
|
|
59
59
|
this.mainServices = servicesFor(params.deviceName);
|
|
60
60
|
}
|
|
61
61
|
validatePackage = pkg => pkg.length >= (this.deviceData.name === IntegratedDevices.BGM ? 12 : 8);
|
|
62
|
-
handleSuccessResult(result) {
|
|
62
|
+
handleSuccessResult(result, frame) {
|
|
63
63
|
if (result.caseType !== CaseType.RESULT || result.bloodGlucose === 0) {
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
|
+
|
|
67
|
+
// A ketone, cholesterol or control-solution record decodes to a number too; it is not glucose.
|
|
68
|
+
if (this.deviceData.name !== IntegratedDevices.BGM && !isPatientGlucoseRecord(frame)) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
66
71
|
this.onResult?.(result);
|
|
67
72
|
}
|
|
68
73
|
}
|