@ovok/native 1.10.10 → 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 +19 -1
- package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-and-medical-variants.js +47 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-and-medical-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-cofoe-variants.js +119 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-cofoe-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-standard-variants.js +6 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-standard-variants.js.map +1 -1
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-taidoc-variants.js +173 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-taidoc-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-variants.js +8 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-variants.js.map +1 -1
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-yonker-variants.js +113 -0
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-yonker-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js +2 -37
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/and-medical-device-variants.js +39 -0
- package/lib/commonjs/modules/bt-management/constants/and-medical-device-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-management/constants/built-in-measurement-types.js +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 +5 -1
- package/lib/commonjs/modules/bt-management/constants/device-variants.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/standard-device-variants.js +5 -0
- package/lib/commonjs/modules/bt-management/constants/standard-device-variants.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/taidoc-device-variants.js +144 -0
- package/lib/commonjs/modules/bt-management/constants/taidoc-device-variants.js.map +1 -0
- package/lib/commonjs/modules/bt-management/constants/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/services/background-sync/background-service-uuids.js +18 -0
- package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/device-classes.js +23 -1
- package/lib/commonjs/modules/bt-management/services/device-classes.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.device.js +61 -0
- package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.protocol.js +113 -0
- package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.protocol.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.sequencer.js +77 -0
- package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-70b.device.js +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-70b.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +7 -25
- package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +7 -2
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.js +86 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.js +155 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.js +33 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.device.js +87 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.protocol.js +185 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.protocol.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.records.js +86 -0
- package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.records.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.device.js +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/live-oximeter.sequencer.js +10 -6
- package/lib/commonjs/modules/bt-management/services/devices/live-oximeter.sequencer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.device.js +50 -0
- package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.protocol.js +127 -0
- package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.protocol.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.records.js +181 -0
- package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.records.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.sequencer.js +139 -0
- package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/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 +18 -0
- package/lib/commonjs/modules/bt-management/types/integrated-devices.js.map +1 -1
- package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js +19 -1
- package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
- package/lib/module/modules/bt-device/constants/supported-device-catalog-and-medical-variants.js +45 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-and-medical-variants.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-cofoe-variants.js +117 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-cofoe-variants.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-standard-variants.js +6 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-standard-variants.js.map +1 -1
- package/lib/module/modules/bt-device/constants/supported-device-catalog-taidoc-variants.js +171 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-taidoc-variants.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-variants.js +8 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-variants.js.map +1 -1
- package/lib/module/modules/bt-device/constants/supported-device-catalog-yonker-variants.js +111 -0
- package/lib/module/modules/bt-device/constants/supported-device-catalog-yonker-variants.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-devices.js +2 -37
- package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/module/modules/bt-management/constants/and-medical-device-variants.js +37 -0
- package/lib/module/modules/bt-management/constants/and-medical-device-variants.js.map +1 -0
- package/lib/module/modules/bt-management/constants/built-in-measurement-types.js +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 +5 -1
- package/lib/module/modules/bt-management/constants/device-variants.js.map +1 -1
- package/lib/module/modules/bt-management/constants/standard-device-variants.js +5 -0
- package/lib/module/modules/bt-management/constants/standard-device-variants.js.map +1 -1
- package/lib/module/modules/bt-management/constants/taidoc-device-variants.js +142 -0
- package/lib/module/modules/bt-management/constants/taidoc-device-variants.js.map +1 -0
- package/lib/module/modules/bt-management/constants/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/services/background-sync/background-service-uuids.js +18 -0
- package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -1
- package/lib/module/modules/bt-management/services/device-classes.js +23 -1
- package/lib/module/modules/bt-management/services/device-classes.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.device.js +57 -0
- package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.device.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.protocol.js +106 -0
- package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.protocol.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.sequencer.js +74 -0
- package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/aoj/aoj-70b.device.js +2 -2
- package/lib/module/modules/bt-management/services/devices/aoj/aoj-70b.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +6 -24
- package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +7 -2
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.js +82 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.js +148 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.js +30 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.device.js +83 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.device.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.protocol.js +173 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.protocol.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.records.js +78 -0
- package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.records.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/jumper/jumper.device.js +2 -2
- package/lib/module/modules/bt-management/services/devices/jumper/jumper.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/live-oximeter.sequencer.js +10 -6
- package/lib/module/modules/bt-management/services/devices/live-oximeter.sequencer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.device.js +46 -0
- package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.device.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.protocol.js +114 -0
- package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.protocol.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.records.js +168 -0
- package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.records.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.sequencer.js +136 -0
- package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/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/device-measurement-map.js.map +1 -1
- package/lib/module/modules/bt-management/types/integrated-devices.js +18 -0
- package/lib/module/modules/bt-management/types/integrated-devices.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-cofoe-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-cofoe-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-standard-variants.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-taidoc-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-taidoc-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-variants.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-yonker-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-yonker-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/constants/and-medical-device-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/and-medical-device-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/built-in-measurement-types.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/built-in-measurement-types.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/cofoe-device-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/cofoe-device-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/device-variants.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/constants/standard-device-variants.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/constants/taidoc-device-variants.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/taidoc-device-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/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/services/background-sync/background-service-uuids.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/device-classes.d.ts +22 -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/devices/and-medical/and-medical.device.d.ts +18 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.protocol.d.ts +30 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.protocol.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.sequencer.d.ts +26 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.d.ts +32 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.d.ts +46 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.d.ts +15 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.device.d.ts +18 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.protocol.d.ts +75 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.protocol.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.records.d.ts +22 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.records.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts +6 -2
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.device.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.protocol.d.ts +50 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.protocol.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.records.d.ts +40 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.records.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.sequencer.d.ts +38 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/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/device-data.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +18 -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 +19 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts +2 -2
- package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-and-medical-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-and-medical-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-cofoe-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-cofoe-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-standard-variants.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-taidoc-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-taidoc-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-variants.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-yonker-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-yonker-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/constants/and-medical-device-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/constants/and-medical-device-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/constants/built-in-measurement-types.d.ts +9 -0
- package/lib/typescript/module/src/modules/bt-management/constants/built-in-measurement-types.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/constants/cofoe-device-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/constants/cofoe-device-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/constants/device-variants.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/constants/standard-device-variants.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/constants/taidoc-device-variants.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/constants/taidoc-device-variants.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/constants/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/services/background-sync/background-service-uuids.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/device-classes.d.ts +22 -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/devices/and-medical/and-medical.device.d.ts +18 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.protocol.d.ts +30 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.protocol.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.sequencer.d.ts +26 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.d.ts +32 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.d.ts +46 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.d.ts +15 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.device.d.ts +18 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.protocol.d.ts +75 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.protocol.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.records.d.ts +22 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.records.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts +6 -2
- package/lib/typescript/module/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.device.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.protocol.d.ts +50 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.protocol.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.records.d.ts +40 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.records.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.sequencer.d.ts +38 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/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/device-data.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +18 -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 +19 -1
- package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { CommandSequencer, CommandTimeoutResult } from "../../../types/command-sequencer";
|
|
2
|
+
import { DeviceCommand } from "../../../types/device-command";
|
|
3
|
+
interface GlucoseSequencerParams {
|
|
4
|
+
onResult: (result: Record<string, unknown>) => void;
|
|
5
|
+
now?: () => Date;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* KF-B06, CGH200 and Novocont Comfort: handshake, device info, set the clock, then get-data
|
|
9
|
+
* until the data header (`15`) arrives, and acknowledge each `11` record with the sequence
|
|
10
|
+
* byte it carried. There is no end-of-data command; the meter closes the link.
|
|
11
|
+
*/
|
|
12
|
+
export declare class CofoeKfb06Sequencer implements CommandSequencer {
|
|
13
|
+
private readonly params;
|
|
14
|
+
private phase;
|
|
15
|
+
private sequence;
|
|
16
|
+
constructor(params: GlucoseSequencerParams);
|
|
17
|
+
initialCommands: () => readonly DeviceCommand[];
|
|
18
|
+
isHistoryTransfer: () => boolean;
|
|
19
|
+
isNormalDisconnect: () => boolean;
|
|
20
|
+
commandTimeoutMs: () => number | undefined;
|
|
21
|
+
onCommandTimeout: () => CommandTimeoutResult;
|
|
22
|
+
/** Keeps the get-data retry running across anything that is not the data header. */
|
|
23
|
+
commandProgress: (frame: readonly string[]) => "partial" | "complete";
|
|
24
|
+
nextCommand: (frame: readonly string[]) => readonly DeviceCommand[] | undefined;
|
|
25
|
+
private send;
|
|
26
|
+
private now;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* CGH25 and CGH30. The meter drives: it asks for the time (`01`), says it is ready (`06`), is
|
|
30
|
+
* asked for its record count, and the records are then pulled newest first, from index `count`
|
|
31
|
+
* down to 1. MedM can also wipe the meter's memory afterwards; that is never done here.
|
|
32
|
+
*/
|
|
33
|
+
export declare class CofoeCgh25Sequencer implements CommandSequencer {
|
|
34
|
+
private readonly params;
|
|
35
|
+
private remaining;
|
|
36
|
+
private finished;
|
|
37
|
+
constructor(params: GlucoseSequencerParams);
|
|
38
|
+
initialCommands: () => readonly DeviceCommand[];
|
|
39
|
+
isHistoryTransfer: () => boolean;
|
|
40
|
+
isNormalDisconnect: () => boolean;
|
|
41
|
+
nextCommand: (frame: readonly string[]) => readonly DeviceCommand[] | undefined;
|
|
42
|
+
private requestNext;
|
|
43
|
+
private now;
|
|
44
|
+
}
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=cofoe-glucose.sequencer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cofoe-glucose.sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAY9D,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACpD,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AA8BD;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,gBAAgB;IAIvC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAH1C,OAAO,CAAC,KAAK,CAAqE;IAClF,OAAO,CAAC,QAAQ,CAAK;gBAEe,MAAM,EAAE,sBAAsB;IAE3D,eAAe,QAAO,SAAS,aAAa,EAAE,CAAiC;IAE/E,iBAAiB,QAAO,OAAO,CAAS;IAExC,kBAAkB,QAAO,OAAO,CAA6B;IAE7D,gBAAgB,QAAO,MAAM,GAAG,SAAS,CACU;IAEnD,gBAAgB,QAAO,oBAAoB,CACwB;IAE1E,oFAAoF;IAC7E,eAAe,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,SAAS,GAAG,UAAU,CAG1D;IAEV,WAAW,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,SAAS,aAAa,EAAE,GAAG,SAAS,CAoCnF;IAEF,OAAO,CAAC,IAAI,CAA+E;IAE3F,OAAO,CAAC,GAAG,CAAiD;CAC7D;AAYD;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,gBAAgB;IAIvC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAH1C,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAS;gBAEW,MAAM,EAAE,sBAAsB;IAE3D,eAAe,QAAO,SAAS,aAAa,EAAE,CAAO;IAErD,iBAAiB,QAAO,OAAO,CAAS;IAExC,kBAAkB,QAAO,OAAO,CAAkB;IAElD,WAAW,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,SAAS,aAAa,EAAE,GAAG,SAAS,CAyBnF;IAEF,OAAO,CAAC,WAAW,CAYjB;IAEF,OAAO,CAAC,GAAG,CAAiD;CAC7D"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CommandSequencer } from "../../../types/command-sequencer";
|
|
2
|
+
import { DeviceCommand } from "../../../types/device-command";
|
|
3
|
+
/** KF-HW-081A: one ASCII reading per notification, timed by the phone; the app never writes. */
|
|
4
|
+
declare class CofoeThermometerSequencer implements CommandSequencer {
|
|
5
|
+
private readonly params;
|
|
6
|
+
private recorded;
|
|
7
|
+
constructor(params: {
|
|
8
|
+
onResult: (result: Record<string, unknown>) => void;
|
|
9
|
+
});
|
|
10
|
+
initialCommands: () => readonly DeviceCommand[];
|
|
11
|
+
isNormalDisconnect: () => boolean;
|
|
12
|
+
nextCommand: (frame: readonly string[]) => undefined;
|
|
13
|
+
}
|
|
14
|
+
export { CofoeThermometerSequencer };
|
|
15
|
+
//# sourceMappingURL=cofoe-thermometer.sequencer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cofoe-thermometer.sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAI9D,gGAAgG;AAChG,cAAM,yBAA0B,YAAW,gBAAgB;IAGtC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAF1C,OAAO,CAAC,QAAQ,CAAS;gBAEW,MAAM,EAAE;QAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;KAAE;IAE5F,eAAe,QAAO,SAAS,aAAa,EAAE,CAAO;IAErD,kBAAkB,QAAO,OAAO,CAAkB;IAElD,WAAW,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,SAAS,CAcxD;CACH;AAED,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
|
package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.device.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Device } from "react-native-ble-plx";
|
|
2
|
+
import { CreateDeviceParams } from "../../../types/create-device-params";
|
|
3
|
+
import { IntegratedDevices } from "../../../types/integrated-devices";
|
|
4
|
+
import { IService } from "../../../types/service.type";
|
|
5
|
+
import { BTManagedDevice } from "../bt-managed-device";
|
|
6
|
+
type CofoeDevice = IntegratedDevices.COFOE_BPM | IntegratedDevices.COFOE_BPM_HISTORY | IntegratedDevices.COFOE_GLUCOMETER | IntegratedDevices.COFOE_GLUCOMETER_CGH25 | IntegratedDevices.COFOE_THERMOMETER;
|
|
7
|
+
/** Cofoe KF-6x blood-pressure monitors, KF-B06 and CGH glucometers and the KF-HW-081A thermometer. */
|
|
8
|
+
declare class CofoeDeviceClass extends BTManagedDevice<CofoeDevice> {
|
|
9
|
+
protected mainServices: IService[];
|
|
10
|
+
protected stuckDataTimeout: number;
|
|
11
|
+
protected onStreamStart: undefined;
|
|
12
|
+
constructor(device: Device, params: CreateDeviceParams<CofoeDevice>);
|
|
13
|
+
/** The thermometer has no frame reader: one notification is one message. */
|
|
14
|
+
protected validatePackage: () => boolean;
|
|
15
|
+
protected handleSuccessResult(): void;
|
|
16
|
+
}
|
|
17
|
+
export { CofoeDeviceClass as CofoeDevice };
|
|
18
|
+
//# sourceMappingURL=cofoe.device.d.ts.map
|
package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.device.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cofoe.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/cofoe/cofoe.device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAOvD,KAAK,WAAW,GACZ,iBAAiB,CAAC,SAAS,GAC3B,iBAAiB,CAAC,iBAAiB,GACnC,iBAAiB,CAAC,gBAAgB,GAClC,iBAAiB,CAAC,sBAAsB,GACxC,iBAAiB,CAAC,iBAAiB,CAAC;AA2BxC,sGAAsG;AACtG,cAAM,gBAAiB,SAAQ,eAAe,CAAC,WAAW,CAAC;IACzD,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC;IACnC,SAAS,CAAC,gBAAgB,SAAU;IACpC,SAAS,CAAC,aAAa,YAAa;gBAEjB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,CAAC,WAAW,CAAC;IAgC1E,4EAA4E;IAC5E,SAAS,CAAC,eAAe,QAAO,OAAO,CAAS;IAEhD,SAAS,CAAC,mBAAmB,IAAI,IAAI;CAGtC;AAED,OAAO,EAAE,gBAAgB,IAAI,WAAW,EAAE,CAAC"}
|
package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.protocol.d.ts
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { FrameReadResult } from "../../../types/frame-read-result";
|
|
2
|
+
import { FrameReader } from "../../../types/frame-reader";
|
|
3
|
+
export declare const COFOE_GATT: {
|
|
4
|
+
readonly bloodPressure: {
|
|
5
|
+
service: string;
|
|
6
|
+
notify: string;
|
|
7
|
+
write: string;
|
|
8
|
+
};
|
|
9
|
+
readonly history: {
|
|
10
|
+
service: string;
|
|
11
|
+
notify: string;
|
|
12
|
+
write: string;
|
|
13
|
+
};
|
|
14
|
+
readonly historyReversed: {
|
|
15
|
+
service: string;
|
|
16
|
+
notify: string;
|
|
17
|
+
write: string;
|
|
18
|
+
};
|
|
19
|
+
readonly glucometer: {
|
|
20
|
+
service: string;
|
|
21
|
+
notify: string;
|
|
22
|
+
write: string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export declare const toBytes: (frame: readonly string[]) => number[];
|
|
26
|
+
/** `FF FF len cmd payload ck`. */
|
|
27
|
+
export declare const bpFrame: (command: number, payload?: readonly number[]) => string[];
|
|
28
|
+
/** `5A A5 cmd seq len payload crc`. */
|
|
29
|
+
export declare const kfb06Frame: (command: number, sequence: number, payload?: readonly number[]) => string[];
|
|
30
|
+
/** `$PCL A cmd len payload sum`. */
|
|
31
|
+
export declare const cgh25Frame: (command: number, payload?: readonly number[]) => string[];
|
|
32
|
+
declare const FRAMINGS: {
|
|
33
|
+
bloodPressure: {
|
|
34
|
+
magic: number[];
|
|
35
|
+
header: number;
|
|
36
|
+
length: (frame: readonly number[]) => number;
|
|
37
|
+
valid: (frame: readonly number[]) => boolean;
|
|
38
|
+
};
|
|
39
|
+
kfb06: {
|
|
40
|
+
magic: number[];
|
|
41
|
+
header: number;
|
|
42
|
+
length: (frame: readonly number[]) => number;
|
|
43
|
+
valid: (frame: readonly number[]) => boolean;
|
|
44
|
+
};
|
|
45
|
+
cgh25: {
|
|
46
|
+
magic: number[];
|
|
47
|
+
header: number;
|
|
48
|
+
length: (frame: readonly number[]) => number;
|
|
49
|
+
valid: (frame: readonly number[]) => boolean;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
export type CofoeFraming = keyof typeof FRAMINGS;
|
|
53
|
+
/** Isolates verified frames of one framing whatever the notification boundaries. */
|
|
54
|
+
export declare class CofoeFrameReader implements FrameReader {
|
|
55
|
+
private readonly framing;
|
|
56
|
+
constructor(framing: CofoeFraming);
|
|
57
|
+
readFrame(buffer: readonly string[]): FrameReadResult;
|
|
58
|
+
}
|
|
59
|
+
/** The command and body of a verified frame. */
|
|
60
|
+
export declare const unframe: (framing: CofoeFraming, frame: readonly string[]) => {
|
|
61
|
+
command: number;
|
|
62
|
+
sequence: number;
|
|
63
|
+
body: number[];
|
|
64
|
+
};
|
|
65
|
+
/** `Cofoe_BPM` set-time, `08`: binary `YY MM DD hh mm ss`. */
|
|
66
|
+
export declare const bpSetTime: (now: Date) => string[];
|
|
67
|
+
/** `Cofoe_KF66EP` set-time, `08`: BCD `YY MM DD hh mm ss`. */
|
|
68
|
+
export declare const historySetTime: (now: Date) => string[];
|
|
69
|
+
/** KF-B06 set-time, `10`: binary `YY MM DD hh mm ss`. */
|
|
70
|
+
export declare const kfb06SetTime: (sequence: number, now: Date) => string[];
|
|
71
|
+
/** CGH25 set-time, `01`: `00 00 YY MM DD hh mm 00 00`. */
|
|
72
|
+
export declare const cgh25SetTime: (now: Date) => string[];
|
|
73
|
+
export declare const BP_ACK: string[];
|
|
74
|
+
export {};
|
|
75
|
+
//# sourceMappingURL=cofoe.protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cofoe.protocol.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/cofoe/cofoe.protocol.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAiC1D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;CAKb,CAAC;AAKX,eAAO,MAAM,OAAO,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,MAAM,EAA0C,CAAC;AAOpG,kCAAkC;AAClC,eAAO,MAAM,OAAO,GAAI,SAAS,MAAM,EAAE,UAAS,SAAS,MAAM,EAAO,KAAG,MAAM,EAIhF,CAAC;AAEF,uCAAuC;AACvC,eAAO,MAAM,UAAU,GACrB,SAAS,MAAM,EACf,UAAU,MAAM,EAChB,UAAS,SAAS,MAAM,EAAO,KAC9B,MAAM,EAIR,CAAC;AAIF,oCAAoC;AACpC,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,EAAE,UAAS,SAAS,MAAM,EAAO,KAAG,MAAM,EAInF,CAAC;AAaF,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;CAoBqB,CAAC;AAEpC,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,QAAQ,CAAC;AAEjD,oFAAoF;AACpF,qBAAa,gBAAiB,YAAW,WAAW;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEf,OAAO,EAAE,YAAY;IAIjC,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,eAAe;CAoC7D;AAED,gDAAgD;AAChD,eAAO,MAAM,OAAO,GAClB,SAAS,YAAY,EACrB,OAAO,SAAS,MAAM,EAAE,KACvB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAUrD,CAAC;AAeF,8DAA8D;AAC9D,eAAO,MAAM,SAAS,GAAI,KAAK,IAAI,KAAG,MAAM,EAA+B,CAAC;AAE5E,8DAA8D;AAC9D,eAAO,MAAM,cAAc,GAAI,KAAK,IAAI,KAAG,MAAM,EAA0C,CAAC;AAE5F,yDAAyD;AACzD,eAAO,MAAM,YAAY,GAAI,UAAU,MAAM,EAAE,KAAK,IAAI,KAAG,MAAM,EACzB,CAAC;AAEzC,0DAA0D;AAC1D,eAAO,MAAM,YAAY,GAAI,KAAK,IAAI,KAAG,MAAM,EACY,CAAC;AAE5D,eAAO,MAAM,MAAM,UAAgB,CAAC"}
|
package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.records.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface CofoeBloodPressure {
|
|
2
|
+
systolic: number;
|
|
3
|
+
diastolic: number;
|
|
4
|
+
heartRate: number;
|
|
5
|
+
irregularHeartbeat: boolean;
|
|
6
|
+
}
|
|
7
|
+
/** `Cofoe_BPM` result, `03`: four bytes, timed by the phone. */
|
|
8
|
+
export declare const readBpResult: (body: readonly number[]) => CofoeBloodPressure | undefined;
|
|
9
|
+
/** `Cofoe_KF66EP` record, `02`/`03`: BCD `YY MM DD hh mm ss`, then the four result bytes. */
|
|
10
|
+
export declare const readBpRecord: (body: readonly number[]) => (CofoeBloodPressure & {
|
|
11
|
+
recordedAt: Date;
|
|
12
|
+
}) | undefined;
|
|
13
|
+
export interface CofoeGlucose {
|
|
14
|
+
bloodGlucose: number;
|
|
15
|
+
recordedAt: Date;
|
|
16
|
+
}
|
|
17
|
+
/** KF-B06 record, `11`: binary `YY MM DD hh mm ss`, type (`9` = glucose), u16 LE tenths of mmol/L. */
|
|
18
|
+
export declare const readKfb06Glucose: (body: readonly number[]) => CofoeGlucose | undefined;
|
|
19
|
+
/** CGH25 record, `00`/`02`: index (u16 BE), `YY MM DD hh mm`, u16 BE tenths of mmol/L. */
|
|
20
|
+
export declare const readCgh25Glucose: (body: readonly number[]) => CofoeGlucose | undefined;
|
|
21
|
+
export declare const readThermometerText: (frame: readonly string[]) => number | undefined;
|
|
22
|
+
//# sourceMappingURL=cofoe.records.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cofoe.records.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/cofoe/cofoe.records.ts"],"names":[],"mappings":"AAgCA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAeD,gEAAgE;AAChE,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,kBAAkB,GAAG,SACvB,CAAC;AAEtD,6FAA6F;AAC7F,eAAO,MAAM,YAAY,GACvB,MAAM,SAAS,MAAM,EAAE,KACtB,CAAC,kBAAkB,GAAG;IAAE,UAAU,EAAE,IAAI,CAAA;CAAE,CAAC,GAAG,SAKhD,CAAC;AASF,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,IAAI,CAAC;CAClB;AASD,sGAAsG;AACtG,eAAO,MAAM,gBAAgB,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,YAAY,GAAG,SAG3D,CAAC;AAEhB,0FAA0F;AAC1F,eAAO,MAAM,gBAAgB,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,YAAY,GAAG,SAG3D,CAAC;AAKhB,eAAO,MAAM,mBAAmB,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,MAAM,GAAG,SAYvE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jumper.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/jumper/jumper.device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD,KAAK,YAAY,GACb,iBAAiB,CAAC,eAAe,GACjC,iBAAiB,CAAC,UAAU,GAC5B,iBAAiB,CAAC,kBAAkB,CAAC;AAyBzC,8FAA8F;AAC9F,cAAM,iBAAkB,SAAQ,eAAe,CAAC,YAAY,CAAC;IAC3D,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC;IACnC,SAAS,CAAC,gBAAgB,SAAW;IACrC,SAAS,CAAC,aAAa,YAAa;gBAEjB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,CAAC,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"jumper.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/jumper/jumper.device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD,KAAK,YAAY,GACb,iBAAiB,CAAC,eAAe,GACjC,iBAAiB,CAAC,UAAU,GAC5B,iBAAiB,CAAC,kBAAkB,CAAC;AAyBzC,8FAA8F;AAC9F,cAAM,iBAAkB,SAAQ,eAAe,CAAC,YAAY,CAAC;IAC3D,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC;IACnC,SAAS,CAAC,gBAAgB,SAAW;IACrC,SAAS,CAAC,aAAa,YAAa;gBAEjB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,CAAC,YAAY,CAAC;IAsB3E,qCAAqC;IACrC,SAAS,CAAC,eAAe,QAAO,OAAO,CAAS;IAEhD,SAAS,CAAC,mBAAmB,IAAI,IAAI;CAGtC;AAED,OAAO,EAAE,iBAAiB,IAAI,YAAY,EAAE,CAAC"}
|
|
@@ -6,19 +6,22 @@ interface Latest {
|
|
|
6
6
|
perfusionIndex?: number;
|
|
7
7
|
recordedAt: Date;
|
|
8
8
|
}
|
|
9
|
+
type OximeterValues = Omit<Latest, "recordedAt">;
|
|
9
10
|
/** Picks the values frame out of whatever else the device sends (waveform, status). */
|
|
10
11
|
type IsValuesFrame = (header: number, length: number) => boolean;
|
|
12
|
+
/** Which of pulse and SpO2 comes first after the header byte. */
|
|
13
|
+
type FieldOrder = "pulse-spo2" | "spo2-pulse";
|
|
11
14
|
/** AOJ-70: header exactly `81`, extra bytes ignored. */
|
|
12
15
|
declare const AOJ_VALUES: IsValuesFrame;
|
|
13
16
|
/** Jumper JPD-500D: low nibble 1, exactly four bytes. */
|
|
14
17
|
declare const JUMPER_VALUES: IsValuesFrame;
|
|
15
18
|
/** Pulse rate counts at 1-254 bpm, SpO2 is invalid at 0 or 0x7F, PI 0 means none. */
|
|
16
|
-
declare const readOximeterData: (frame: readonly string[], isValuesFrame?: IsValuesFrame) =>
|
|
19
|
+
declare const readOximeterData: (frame: readonly string[], isValuesFrame?: IsValuesFrame, fieldOrder?: FieldOrder) => OximeterValues | undefined;
|
|
17
20
|
declare class LiveOximeterSequencer implements CommandSequencer {
|
|
18
21
|
private readonly params;
|
|
19
22
|
private latest?;
|
|
20
23
|
constructor(params: {
|
|
21
|
-
|
|
24
|
+
readValues: (frame: readonly string[]) => OximeterValues | undefined;
|
|
22
25
|
onResult: (result: Record<string, unknown>) => void;
|
|
23
26
|
});
|
|
24
27
|
initialCommands: () => readonly DeviceCommand[];
|
|
@@ -29,5 +32,6 @@ declare class LiveOximeterSequencer implements CommandSequencer {
|
|
|
29
32
|
commandProgress: (frame: readonly string[]) => "ignored" | "partial" | "complete";
|
|
30
33
|
nextCommand: () => undefined;
|
|
31
34
|
}
|
|
35
|
+
export type { OximeterValues };
|
|
32
36
|
export { AOJ_VALUES, JUMPER_VALUES, LiveOximeterSequencer, readOximeterData };
|
|
33
37
|
//# sourceMappingURL=live-oximeter.sequencer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-oximeter.sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/live-oximeter.sequencer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"live-oximeter.sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/live-oximeter.sequencer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAc3D,UAAU,MAAM;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,IAAI,CAAC;CAClB;AAED,KAAK,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAEjD,uFAAuF;AACvF,KAAK,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;AAEjE,iEAAiE;AACjE,KAAK,UAAU,GAAG,YAAY,GAAG,YAAY,CAAC;AAE9C,wDAAwD;AACxD,QAAA,MAAM,UAAU,EAAE,aAAkE,CAAC;AAErF,yDAAyD;AACzD,QAAA,MAAM,aAAa,EAAE,aAAyE,CAAC;AAE/F,qFAAqF;AACrF,QAAA,MAAM,gBAAgB,GACpB,OAAO,SAAS,MAAM,EAAE,EACxB,gBAAe,aAA0B,EACzC,aAAY,UAAyB,KACpC,cAAc,GAAG,SAmBnB,CAAC;AAEF,cAAM,qBAAsB,YAAW,gBAAgB;IAInD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHzB,OAAO,CAAC,MAAM,CAAC,CAAS;gBAGL,MAAM,EAAE;QACvB,UAAU,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,cAAc,GAAG,SAAS,CAAC;QACrE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;KACrD;IAGI,eAAe,QAAO,SAAS,aAAa,EAAE,CAAO;IAErD,kBAAkB,QAAO,OAAO,CAAS;IAEzC,gBAAgB,QAAO,MAAM,GAAG,SAAS,CAA0C;IAEnF,gBAAgB,QAAO,oBAAoB,CAchD;IAEF,+EAA+E;IACxE,eAAe,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAUrF;IAEK,WAAW,QAAO,SAAS,CAAc;CACjD;AAED,YAAY,EAAE,cAAc,EAAE,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,CAAC"}
|
package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.device.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Device } from "react-native-ble-plx";
|
|
2
|
+
import { CreateDeviceParams } from "../../../types/create-device-params";
|
|
3
|
+
import { IntegratedDevices } from "../../../types/integrated-devices";
|
|
4
|
+
import { IService } from "../../../types/service.type";
|
|
5
|
+
import { BTManagedDevice } from "../bt-managed-device";
|
|
6
|
+
type TaidocDevice = IntegratedDevices.TAIDOC_MULTI | IntegratedDevices.TAIDOC_BPM | IntegratedDevices.TAIDOC_THERMOMETER | IntegratedDevices.TAIDOC_OXIMETER | IntegratedDevices.TAIDOC_SCALE;
|
|
7
|
+
/** TaiDoc and FORA meters on the 0x51 command protocol: history download of every device user. */
|
|
8
|
+
declare class TaidocDeviceClass extends BTManagedDevice<TaidocDevice> {
|
|
9
|
+
protected mainServices: IService[];
|
|
10
|
+
protected stuckDataTimeout: number;
|
|
11
|
+
protected onStreamStart: undefined;
|
|
12
|
+
constructor(device: Device, params: CreateDeviceParams<TaidocDevice>);
|
|
13
|
+
protected handleSuccessResult(): void;
|
|
14
|
+
}
|
|
15
|
+
export { TaidocDeviceClass as TaidocDevice };
|
|
16
|
+
//# sourceMappingURL=taidoc.device.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taidoc.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/taidoc/taidoc.device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD,KAAK,YAAY,GACb,iBAAiB,CAAC,YAAY,GAC9B,iBAAiB,CAAC,UAAU,GAC5B,iBAAiB,CAAC,kBAAkB,GACpC,iBAAiB,CAAC,eAAe,GACjC,iBAAiB,CAAC,YAAY,CAAC;AAoBnC,kGAAkG;AAClG,cAAM,iBAAkB,SAAQ,eAAe,CAAC,YAAY,CAAC;IAC3D,SAAS,CAAC,YAAY,aAAsB;IAC5C,SAAS,CAAC,gBAAgB,SAAU;IACpC,SAAS,CAAC,aAAa,YAAa;gBAEjB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,CAAC,YAAY,CAAC;IAe3E,SAAS,CAAC,mBAAmB,IAAI,IAAI;CAGtC;AAED,OAAO,EAAE,iBAAiB,IAAI,YAAY,EAAE,CAAC"}
|
package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.protocol.d.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { FrameReadResult } from "../../../types/frame-read-result";
|
|
2
|
+
import { FrameReader } from "../../../types/frame-reader";
|
|
3
|
+
/**
|
|
4
|
+
* TaiDoc's "0x51" command protocol, shared by its glucose meters, blood-pressure monitors,
|
|
5
|
+
* thermometers, pulse oximeters and scales. Layouts are from MedM Health Diary 3.12.11's
|
|
6
|
+
* `CTaiDocCommandDevice` and its per-driver subclasses.
|
|
7
|
+
*
|
|
8
|
+
* A frame is `51 cmd d0 d1 d2 d3 end cs`: `end` is A3 from the app and A5 from the device, and
|
|
9
|
+
* `cs` is the 8-bit sum of every byte before it. The scale's record and set-user frames are
|
|
10
|
+
* variable, `51 cmd LL data[LL] end cs`. One characteristic is both written and notified, so
|
|
11
|
+
* the device echoes every command back; an A3-terminated frame is that echo.
|
|
12
|
+
*/
|
|
13
|
+
export declare const TAIDOC_SERVICE = "00001523-1212-efde-1523-785feabcd123";
|
|
14
|
+
export declare const TAIDOC_CHARACTERISTIC = "00001524-1212-efde-1523-785feabcd123";
|
|
15
|
+
export declare const TAIDOC: {
|
|
16
|
+
readonly wakeUp: 34;
|
|
17
|
+
readonly deviceTime: 35;
|
|
18
|
+
readonly model: 36;
|
|
19
|
+
readonly readingTime: 37;
|
|
20
|
+
readonly readingResult: 38;
|
|
21
|
+
readonly serial1: 39;
|
|
22
|
+
readonly serial2: 40;
|
|
23
|
+
readonly oximeterAfterTime: 41;
|
|
24
|
+
readonly readingCount: 43;
|
|
25
|
+
readonly setTime: 51;
|
|
26
|
+
readonly shutdown: 80;
|
|
27
|
+
readonly wakeNotice: 84;
|
|
28
|
+
readonly weightRecord: 113;
|
|
29
|
+
readonly setUser: 114;
|
|
30
|
+
readonly busy: 224;
|
|
31
|
+
};
|
|
32
|
+
export declare const commandOf: (frame: readonly string[]) => number;
|
|
33
|
+
/** `51 cmd a b c d A3 cs`. */
|
|
34
|
+
export declare const taidocCommand: (command: number, a?: number, b?: number, c?: number, d?: number) => string[];
|
|
35
|
+
export declare const readingCountCommand: (user: number) => string[];
|
|
36
|
+
export declare const readingCommand: (command: typeof TAIDOC.readingTime | typeof TAIDOC.readingResult, index: number, user: number) => string[];
|
|
37
|
+
/** `date16 = yy << 9 | month << 5 | day`, then minute and hour; the meter keeps local time. */
|
|
38
|
+
export declare const setTimeCommand: (now: Date) => string[];
|
|
39
|
+
/** The scale's record request, `51 71 02 idxLo idxHi A3 cs`. */
|
|
40
|
+
export declare const weightRecordCommand: (index: number) => string[];
|
|
41
|
+
/** The app's own command, echoed back on the shared characteristic. */
|
|
42
|
+
export declare const isHostFrame: (frame: readonly string[]) => boolean;
|
|
43
|
+
/** Isolates 0x51 frames whatever the notification boundaries, skipping noise to the next start. */
|
|
44
|
+
export declare class TaidocFrameReader implements FrameReader {
|
|
45
|
+
readFrame(buffer: readonly string[]): FrameReadResult;
|
|
46
|
+
}
|
|
47
|
+
export declare const usersFor: (model: readonly string[]) => number;
|
|
48
|
+
/** The 0x2B answer: the current user's record count, little-endian. */
|
|
49
|
+
export declare const readCount: (frame: readonly string[]) => number;
|
|
50
|
+
//# sourceMappingURL=taidoc.protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taidoc.protocol.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/taidoc/taidoc.protocol.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG1D;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,yCAAyC,CAAC;AACrE,eAAO,MAAM,qBAAqB,yCAAyC,CAAC;AAE5E,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;CAgBT,CAAC;AAmBX,eAAO,MAAM,SAAS,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,MAA0B,CAAC;AAEhF,8BAA8B;AAC9B,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,UAAK,EAAE,UAAK,EAAE,UAAK,EAAE,UAAK,KAAG,MAAM,EAC5B,CAAC;AAEvD,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,KAAG,MAAM,EACf,CAAC;AAE3C,eAAO,MAAM,cAAc,GACzB,SAAS,OAAO,MAAM,CAAC,WAAW,GAAG,OAAO,MAAM,CAAC,aAAa,EAChE,OAAO,MAAM,EACb,MAAM,MAAM,KACX,MAAM,EAAwE,CAAC;AAElF,+FAA+F;AAC/F,eAAO,MAAM,cAAc,GAAI,KAAK,IAAI,KAAG,MAAM,EAIhD,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,MAAM,EACkC,CAAC;AAE7F,uEAAuE;AACvE,eAAO,MAAM,WAAW,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,OACT,CAAC;AAE/C,mGAAmG;AACnG,qBAAa,iBAAkB,YAAW,WAAW;IAC5C,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,eAAe;CA6B7D;AAQD,eAAO,MAAM,QAAQ,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,MACsB,CAAC;AAE3E,uEAAuE;AACvE,eAAO,MAAM,SAAS,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,MACT,CAAC"}
|
package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.records.d.ts
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export declare const isBloodPressureRecord: (time: readonly string[]) => boolean;
|
|
2
|
+
/**
|
|
3
|
+
* The record time in a 0x25 answer: `date16` as in set time, minute and hour. A year byte past
|
|
4
|
+
* 2069 is MedM's "clock not valid", and such a record is dropped rather than given today's date.
|
|
5
|
+
*/
|
|
6
|
+
export declare const readRecordTime: (time: readonly string[]) => Date | undefined;
|
|
7
|
+
/** 0x26 blood pressure: systolic, mean arterial pressure, diastolic, pulse. */
|
|
8
|
+
export declare const readBloodPressure: (time: readonly string[], result: readonly string[]) => Record<string, unknown> | undefined;
|
|
9
|
+
/** A stored TaiDoc result is a patient glucose reading, not another analyte or a control test. */
|
|
10
|
+
export declare const isPatientGlucoseRecord: (result: readonly string[]) => boolean;
|
|
11
|
+
/**
|
|
12
|
+
* 0x26 glucose, mg/dL little-endian in d0-d1. The meters on this parser are glucose-only or
|
|
13
|
+
* BP+glucose, whose bits 2-5 may hold a strip code, so only control-solution tests are dropped.
|
|
14
|
+
*/
|
|
15
|
+
export declare const readGlucose: (result: readonly string[]) => number | undefined;
|
|
16
|
+
/** 0x26 temperature, tenths of a degree Celsius; above 60.0 is MedM's object (surface) mode. */
|
|
17
|
+
export declare const readTemperature: (result: readonly string[]) => number | undefined;
|
|
18
|
+
/** 0x26 pulse oximetry: SpO2 % in d0-d1, pulse in d3. */
|
|
19
|
+
export declare const readOximeter: (result: readonly string[]) => {
|
|
20
|
+
bloodOxygen: number;
|
|
21
|
+
pulseRate: number;
|
|
22
|
+
} | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* The scale's 34-byte 0x71 record: yy MM dd hh mm at 4-8, user at 9, a unit selector at 15 and
|
|
25
|
+
* the weight in tenths, big-endian, at 16. Selector 1 puts the weight in a second slot in a unit
|
|
26
|
+
* MedM does not name, so it is dropped rather than guessed. Body composition is not decoded:
|
|
27
|
+
* which quantity each of its fields carries is not known.
|
|
28
|
+
*/
|
|
29
|
+
export declare const readWeight: (record: readonly string[]) => {
|
|
30
|
+
bodyWeight: number;
|
|
31
|
+
recordedAt: Date;
|
|
32
|
+
user: number;
|
|
33
|
+
} | undefined;
|
|
34
|
+
/** What the 0x26 record holds: `multi` is glucose or blood pressure by the type bit, `bpm` always blood pressure. */
|
|
35
|
+
export type TaidocKind = "multi" | "bpm" | "thermometer" | "oximeter" | "scale";
|
|
36
|
+
/** One 0x25/0x26 record pair as a result, or undefined when it is invalid or not a reading. */
|
|
37
|
+
export declare const decodeRecord: (kind: TaidocKind, time: readonly string[], result: readonly string[], user: number) => Record<string, unknown> | undefined;
|
|
38
|
+
/** The scale's 0x71 record as a result. */
|
|
39
|
+
export declare const decodeWeightRecord: (record: readonly string[]) => Record<string, unknown> | undefined;
|
|
40
|
+
//# sourceMappingURL=taidoc.records.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taidoc.records.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/taidoc/taidoc.records.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,qBAAqB,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,OACvB,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,IAAI,GAAG,SAiB/D,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,iBAAiB,GAC5B,MAAM,SAAS,MAAM,EAAE,EACvB,QAAQ,SAAS,MAAM,EAAE,KACxB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAc5B,CAAC;AAYF,kGAAkG;AAClG,eAAO,MAAM,sBAAsB,GAAI,QAAQ,SAAS,MAAM,EAAE,KAAG,OAIlE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,SAAS,MAAM,EAAE,KAAG,MAAM,GAAG,SAMhE,CAAC;AAEF,gGAAgG;AAChG,eAAO,MAAM,eAAe,GAAI,QAAQ,SAAS,MAAM,EAAE,KAAG,MAAM,GAAG,SAIpE,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,YAAY,GACvB,QAAQ,SAAS,MAAM,EAAE,KACxB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,SAO/C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GACrB,QAAQ,SAAS,MAAM,EAAE,KACxB;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SA4B3D,CAAC;AAEF,qHAAqH;AACrH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,KAAK,GAAG,aAAa,GAAG,UAAU,GAAG,OAAO,CAAC;AAkChF,+FAA+F;AAC/F,eAAO,MAAM,YAAY,GACvB,MAAM,UAAU,EAChB,MAAM,SAAS,MAAM,EAAE,EACvB,QAAQ,SAAS,MAAM,EAAE,EACzB,MAAM,MAAM,KACX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAK5B,CAAC;AAEF,2CAA2C;AAC3C,eAAO,MAAM,kBAAkB,GAAI,QAAQ,SAAS,MAAM,EAAE,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAWxF,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { CommandSequencer, CommandTimeoutResult } from "../../../types/command-sequencer";
|
|
2
|
+
import { DeviceCommand } from "../../../types/device-command";
|
|
3
|
+
import { TaidocKind } from "./taidoc.records";
|
|
4
|
+
/**
|
|
5
|
+
* MedM's history session: model, serial, device time, set time, then for every device user the
|
|
6
|
+
* record count and each record by index (record time 0x25, then result 0x26; the scale's 0x71
|
|
7
|
+
* carries both). It ends with power off 0x50; the clear-memory command 0x52 is never sent.
|
|
8
|
+
*/
|
|
9
|
+
declare class TaidocSequencer implements CommandSequencer {
|
|
10
|
+
private readonly params;
|
|
11
|
+
private last;
|
|
12
|
+
private retries;
|
|
13
|
+
private ended;
|
|
14
|
+
private user;
|
|
15
|
+
private maxUser;
|
|
16
|
+
private count;
|
|
17
|
+
private index;
|
|
18
|
+
private recordTime;
|
|
19
|
+
constructor(params: {
|
|
20
|
+
kind: TaidocKind;
|
|
21
|
+
onResult: (result: Record<string, unknown>) => void;
|
|
22
|
+
now?: () => Date;
|
|
23
|
+
});
|
|
24
|
+
initialCommands: () => readonly DeviceCommand[];
|
|
25
|
+
isHistoryTransfer: () => boolean;
|
|
26
|
+
isNormalDisconnect: () => boolean;
|
|
27
|
+
commandTimeoutMs: () => number | undefined;
|
|
28
|
+
onCommandTimeout: () => CommandTimeoutResult;
|
|
29
|
+
commandProgress: (frame: readonly string[]) => "ignored" | "complete";
|
|
30
|
+
nextCommand: (frame: readonly string[]) => readonly DeviceCommand[] | undefined;
|
|
31
|
+
/** Requests the next index, then the next user's count, then powers the device off. */
|
|
32
|
+
private nextReading;
|
|
33
|
+
private report;
|
|
34
|
+
private now;
|
|
35
|
+
private send;
|
|
36
|
+
}
|
|
37
|
+
export { TaidocSequencer };
|
|
38
|
+
//# sourceMappingURL=taidoc.sequencer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taidoc.sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/taidoc/taidoc.sequencer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAgB9D,OAAO,EAAoC,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAgBhF;;;;GAIG;AACH,cAAM,eAAgB,YAAW,gBAAgB;IAW7C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVzB,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,UAAU,CAAyB;gBAGxB,MAAM,EAAE;QACvB,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QACpD,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;KAClB;IAGI,eAAe,QAAO,SAAS,aAAa,EAAE,CAEnD;IAEK,iBAAiB,QAAO,OAAO,CAAS;IAExC,kBAAkB,QAAO,OAAO,CAAe;IAE/C,gBAAgB,QAAO,MAAM,GAAG,SAAS,CACD;IAExC,gBAAgB,QAAO,oBAAoB,CAQhD;IAEK,eAAe,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,SAAS,GAAG,UAAU,CAC7B;IAEvC,WAAW,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,SAAS,aAAa,EAAE,GAAG,SAAS,CAyDnF;IAEF,uFAAuF;IACvF,OAAO,CAAC,WAAW,CAsBjB;IAEF,OAAO,CAAC,MAAM,CAIZ;IAEF,OAAO,CAAC,GAAG,CAAiD;IAE5D,OAAO,CAAC,IAAI,CAKV;CACH;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
package/lib/typescript/module/src/modules/bt-management/services/devices/yonker/yonker.device.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Device } from "react-native-ble-plx";
|
|
2
|
+
import { CreateDeviceParams } from "../../../types/create-device-params";
|
|
3
|
+
import { IntegratedDevices } from "../../../types/integrated-devices";
|
|
4
|
+
import { IService } from "../../../types/service.type";
|
|
5
|
+
import { BTManagedDevice } from "../bt-managed-device";
|
|
6
|
+
type YonkerDevice = IntegratedDevices.YONKER_OXIMETER | IntegratedDevices.YONKER_BPM | IntegratedDevices.YONKER_THERMOMETER | IntegratedDevices.YONKER_SCALE | IntegratedDevices.YONKER_80B;
|
|
7
|
+
/**
|
|
8
|
+
* Yonker YK-81C oximeters, YK-BPA blood-pressure monitors, YK-IRT4 thermometers, the AiLink
|
|
9
|
+
* weight scale and the YK-80B oximeter, with their rebrands.
|
|
10
|
+
*/
|
|
11
|
+
declare class YonkerDeviceClass extends BTManagedDevice<YonkerDevice> {
|
|
12
|
+
protected mainServices: IService[];
|
|
13
|
+
protected stuckDataTimeout: number;
|
|
14
|
+
protected onStreamStart: undefined;
|
|
15
|
+
constructor(device: Device, params: CreateDeviceParams<YonkerDevice>);
|
|
16
|
+
/** The oximeter, monitor and thermometer send one frame per notification. */
|
|
17
|
+
protected validatePackage: () => boolean;
|
|
18
|
+
protected handleSuccessResult(): void;
|
|
19
|
+
}
|
|
20
|
+
export { YonkerDeviceClass as YonkerDevice };
|
|
21
|
+
//# sourceMappingURL=yonker.device.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yonker.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/yonker/yonker.device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAYvD,KAAK,YAAY,GACb,iBAAiB,CAAC,eAAe,GACjC,iBAAiB,CAAC,UAAU,GAC5B,iBAAiB,CAAC,kBAAkB,GACpC,iBAAiB,CAAC,YAAY,GAC9B,iBAAiB,CAAC,UAAU,CAAC;AAoDjC;;;GAGG;AACH,cAAM,iBAAkB,SAAQ,eAAe,CAAC,YAAY,CAAC;IAC3D,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC;IACnC,SAAS,CAAC,gBAAgB,SAAW;IACrC,SAAS,CAAC,aAAa,YAAa;gBAEjB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,CAAC,YAAY,CAAC;IAkB3E,6EAA6E;IAC7E,SAAS,CAAC,eAAe,QAAO,OAAO,CAAS;IAEhD,SAAS,CAAC,mBAAmB,IAAI,IAAI;CAGtC;AAED,OAAO,EAAE,iBAAiB,IAAI,YAAY,EAAE,CAAC"}
|
package/lib/typescript/module/src/modules/bt-management/services/devices/yonker/yonker.protocol.d.ts
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { FrameReadResult } from "../../../types/frame-read-result";
|
|
2
|
+
import { FrameReader } from "../../../types/frame-reader";
|
|
3
|
+
import { OximeterValues } from "../live-oximeter.sequencer";
|
|
4
|
+
export declare const YONKER_GATT: {
|
|
5
|
+
readonly service: "cdeacd80-5235-4c07-8846-93a37ee6b86d";
|
|
6
|
+
readonly notify: "cdeacd81-5235-4c07-8846-93a37ee6b86d";
|
|
7
|
+
readonly notifyAlternate: "cdeacd82-5235-4c07-8846-93a37ee6b86d";
|
|
8
|
+
/** Nordic UART; MedM subscribes to its `…0002` characteristic. */
|
|
9
|
+
readonly uartService: "6e400001-b5a3-f393-e0a9-e50e24dcca9e";
|
|
10
|
+
readonly uartNotify: "6e400002-b5a3-f393-e0a9-e50e24dcca9e";
|
|
11
|
+
/** Where the blood-pressure monitor takes its clock. */
|
|
12
|
+
readonly timeService: string;
|
|
13
|
+
readonly timeWrite: string;
|
|
14
|
+
};
|
|
15
|
+
/** The scale and the YK-80B: notify on `ffe2`, long frames to `ffe1`, short ones to `ffe3`. */
|
|
16
|
+
export declare const AILINK_GATT: {
|
|
17
|
+
readonly service: string;
|
|
18
|
+
readonly writeLong: string;
|
|
19
|
+
readonly notify: string;
|
|
20
|
+
readonly writeShort: string;
|
|
21
|
+
};
|
|
22
|
+
/** `8F YY MM DD hh mm` and nine zero bytes, local time. */
|
|
23
|
+
export declare const bpmSetTimeCommand: (now: Date) => string[];
|
|
24
|
+
/**
|
|
25
|
+
* `81 SYS DIA PULSE USER RECORD YY MM DD hh mm`, mmHg, local time. A zero year means the clock
|
|
26
|
+
* was never set, and the phone's time is used, as MedM does.
|
|
27
|
+
*/
|
|
28
|
+
export declare const readYonkerBloodPressure: (frame: readonly string[], now: Date) => Record<string, unknown> | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* `80 hi lo FLAGS X`: hundredths of a degree; flags bit 1 marks Fahrenheit, which MedM ignores
|
|
31
|
+
* and the SDK converts.
|
|
32
|
+
*/
|
|
33
|
+
export declare const readYonkerTemperature: (frame: readonly string[]) => number | undefined;
|
|
34
|
+
/** `A7 ID ID (n+1) CMD payload CS 7A`, the checksum covering everything but the first byte. */
|
|
35
|
+
export declare const longFrame: (id: number, command: number, payload?: readonly number[]) => string[];
|
|
36
|
+
/** `A6 (n+1) CMD payload CS 6A`. */
|
|
37
|
+
export declare const shortFrame: (command: number, payload?: readonly number[]) => string[];
|
|
38
|
+
/** Scale set time, command `37`: `YY MM DD hh mm ss weekday` (Sunday 1), local time. */
|
|
39
|
+
export declare const scaleSetTimeCommand: (now: Date) => string[];
|
|
40
|
+
export declare const idOf: (frame: readonly string[]) => number;
|
|
41
|
+
export declare const commandOf: (frame: readonly string[]) => number;
|
|
42
|
+
export declare const bodyOf: (frame: readonly string[]) => number[];
|
|
43
|
+
/**
|
|
44
|
+
* Scale weight, command `02`: a u24 big-endian raw value, then precision (high nibble, decimal
|
|
45
|
+
* places) and unit (low nibble). Only kilograms (unit 0) are accepted - the SDK sets the scale to
|
|
46
|
+
* kilograms, and the other unit codes are not documented.
|
|
47
|
+
*/
|
|
48
|
+
export declare const readScaleWeight: (body: readonly number[]) => number | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* YK-80B measurement, command `03`: status, SpO2, pulse, PI×10, battery, RR×10, waveform, bar,
|
|
51
|
+
* worn. Dropped when the status or worn flag is zero or the SpO2 is `FF`, as MedM does.
|
|
52
|
+
*/
|
|
53
|
+
export declare const read80bMeasurement: (frame: readonly string[]) => OximeterValues | undefined;
|
|
54
|
+
/** YK-80B firmware request, the one command MedM writes to it. */
|
|
55
|
+
export declare const FIRMWARE_REQUEST: string[];
|
|
56
|
+
/** Isolates checked `A7 … 7A` frames (and `A6 … 7A` for the YK-80B) across notifications. */
|
|
57
|
+
export declare class AilinkFrameReader implements FrameReader {
|
|
58
|
+
private readonly starts;
|
|
59
|
+
constructor(starts: readonly number[]);
|
|
60
|
+
readFrame(buffer: readonly string[]): FrameReadResult;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=yonker.protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yonker.protocol.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/yonker/yonker.protocol.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAY5D,eAAO,MAAM,WAAW;;;;IAKtB,kEAAkE;;;IAIlE,wDAAwD;;;CAGhD,CAAC;AAEX,+FAA+F;AAC/F,eAAO,MAAM,WAAW;;;;;CAKd,CAAC;AAUX,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB,GAAI,KAAK,IAAI,KAAG,MAAM,EAShD,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAClC,OAAO,SAAS,MAAM,EAAE,EACxB,KAAK,IAAI,KACR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAoB5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,MAAM,GAAG,SAczE,CAAC;AAEF,+FAA+F;AAC/F,eAAO,MAAM,SAAS,GAAI,IAAI,MAAM,EAAE,SAAS,MAAM,EAAE,UAAS,SAAS,MAAM,EAAO,KAAG,MAAM,EAI9F,CAAC;AAEF,oCAAoC;AACpC,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,EAAE,UAAS,SAAS,MAAM,EAAO,KAAG,MAAM,EAInF,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,mBAAmB,GAAI,KAAK,IAAI,KAAG,MAAM,EASlD,CAAC;AAEL,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,MACkB,CAAC;AAEnE,eAAO,MAAM,SAAS,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,MAAqC,CAAC;AAE3F,eAAO,MAAM,MAAM,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,MAAM,EAA+B,CAAC;AAExF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAAM,GAAG,SASlE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,cAAc,GAAG,SAyB9E,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,gBAAgB,UAAmB,CAAC;AAEjD,6FAA6F;AAC7F,qBAAa,iBAAkB,YAAW,WAAW;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,SAAS,MAAM,EAAE;IAEtD,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,eAAe;CAkC7D"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { CommandSequencer } from "../../../types/command-sequencer";
|
|
2
|
+
import { DeviceCommand } from "../../../types/device-command";
|
|
3
|
+
/**
|
|
4
|
+
* The Yonker blood-pressure monitor and thermometer push one frame per reading. The monitor is
|
|
5
|
+
* sent the time on connect and then pushes its records by itself.
|
|
6
|
+
*/
|
|
7
|
+
declare class YonkerSequencer implements CommandSequencer {
|
|
8
|
+
private readonly params;
|
|
9
|
+
private recorded;
|
|
10
|
+
private lastTemperature?;
|
|
11
|
+
constructor(params: {
|
|
12
|
+
kind: "blood-pressure" | "thermometer";
|
|
13
|
+
onResult: (result: Record<string, unknown>) => void;
|
|
14
|
+
now?: () => Date;
|
|
15
|
+
});
|
|
16
|
+
initialCommands: () => readonly DeviceCommand[];
|
|
17
|
+
isNormalDisconnect: () => boolean;
|
|
18
|
+
nextCommand: (frame: readonly string[]) => undefined;
|
|
19
|
+
private bloodPressure;
|
|
20
|
+
private temperature;
|
|
21
|
+
private now;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The AiLink scale: disables its encryption, then two seconds later sets the time and kilograms
|
|
25
|
+
* and asks for its software info, as MedM does. Weight frames repeat while it settles; the last
|
|
26
|
+
* one is reported when the scale says the measurement is complete. Body composition is not read.
|
|
27
|
+
*/
|
|
28
|
+
declare class YonkerScaleSequencer implements CommandSequencer {
|
|
29
|
+
private readonly params;
|
|
30
|
+
private id;
|
|
31
|
+
private pendingWeight?;
|
|
32
|
+
private recorded;
|
|
33
|
+
constructor(params: {
|
|
34
|
+
onResult: (result: Record<string, unknown>) => void;
|
|
35
|
+
now?: () => Date;
|
|
36
|
+
});
|
|
37
|
+
initialCommands: () => readonly DeviceCommand[];
|
|
38
|
+
isNormalDisconnect: () => boolean;
|
|
39
|
+
nextCommand: (frame: readonly string[]) => readonly DeviceCommand[] | undefined;
|
|
40
|
+
private report;
|
|
41
|
+
private now;
|
|
42
|
+
private long;
|
|
43
|
+
private short;
|
|
44
|
+
}
|
|
45
|
+
export { YonkerScaleSequencer, YonkerSequencer };
|
|
46
|
+
//# sourceMappingURL=yonker.sequencer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yonker.sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/yonker/yonker.sequencer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAoB9D;;;GAGG;AACH,cAAM,eAAgB,YAAW,gBAAgB;IAK7C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,eAAe,CAAC,CAAgC;gBAGrC,MAAM,EAAE;QACvB,IAAI,EAAE,gBAAgB,GAAG,aAAa,CAAC;QACvC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QACpD,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;KAClB;IAGI,eAAe,QAAO,SAAS,aAAa,EAAE,CAS5C;IAEF,kBAAkB,QAAO,OAAO,CAAkB;IAElD,WAAW,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,SAAS,CAUxD;IAEF,OAAO,CAAC,aAAa,CAInB;IAEF,OAAO,CAAC,WAAW,CAejB;IAEF,OAAO,CAAC,GAAG,CAAiD;CAC7D;AAaD;;;;GAIG;AACH,cAAM,oBAAqB,YAAW,gBAAgB;IAMlD,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAS;gBAGN,MAAM,EAAE;QACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QACpD,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;KAClB;IAGI,eAAe,QAAO,SAAS,aAAa,EAAE,CAKnD;IAEK,kBAAkB,QAAO,OAAO,CAAkB;IAElD,WAAW,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,SAAS,aAAa,EAAE,GAAG,SAAS,CAqBnF;IAEF,OAAO,CAAC,MAAM,CAcZ;IAEF,OAAO,CAAC,GAAG,CAAiD;IAE5D,OAAO,CAAC,IAAI,CAIT;IAEH,OAAO,CAAC,KAAK,CAKV;CACJ;AAED,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-data.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/device-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,0FAA0F;IAC1F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,iGAAiG;IACjG,OAAO,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,EAAE,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"device-data.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/device-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,0FAA0F;IAC1F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,iGAAiG;IACjG,OAAO,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,EAAE,EAAE,MAAM,CAAC;IAEX,0EAA0E;IAC1E,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;IACvC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC,CAAC"}
|
|
@@ -98,6 +98,24 @@ interface DeviceMeasurementMap {
|
|
|
98
98
|
[IntegratedDevices.JUMPER_THERMOMETER]: BodyTemperatureMeasurement;
|
|
99
99
|
[IntegratedDevices.JOYTECH_BPM]: BloodPressureMeasurement;
|
|
100
100
|
[IntegratedDevices.JOYTECH_THERMOMETER]: BodyTemperatureMeasurement;
|
|
101
|
+
[IntegratedDevices.AND_BPM]: BloodPressureMeasurement;
|
|
102
|
+
[IntegratedDevices.AND_BPM_CTS]: BloodPressureMeasurement;
|
|
103
|
+
[IntegratedDevices.AND_SCALE]: BodyWeightMeasurement;
|
|
104
|
+
[IntegratedDevices.YONKER_OXIMETER]: PulseOximeterMeasurement;
|
|
105
|
+
[IntegratedDevices.YONKER_BPM]: BloodPressureMeasurement;
|
|
106
|
+
[IntegratedDevices.YONKER_THERMOMETER]: BodyTemperatureMeasurement;
|
|
107
|
+
[IntegratedDevices.YONKER_SCALE]: BodyWeightMeasurement;
|
|
108
|
+
[IntegratedDevices.YONKER_80B]: PulseOximeterMeasurement;
|
|
109
|
+
[IntegratedDevices.COFOE_BPM]: BloodPressureMeasurement;
|
|
110
|
+
[IntegratedDevices.COFOE_BPM_HISTORY]: BloodPressureMeasurement;
|
|
111
|
+
[IntegratedDevices.COFOE_GLUCOMETER]: BloodGlucoseMeasurement;
|
|
112
|
+
[IntegratedDevices.COFOE_GLUCOMETER_CGH25]: BloodGlucoseMeasurement;
|
|
113
|
+
[IntegratedDevices.COFOE_THERMOMETER]: BodyTemperatureMeasurement;
|
|
114
|
+
[IntegratedDevices.TAIDOC_MULTI]: BloodPressureMeasurement | BloodGlucoseMeasurement;
|
|
115
|
+
[IntegratedDevices.TAIDOC_BPM]: BloodPressureMeasurement;
|
|
116
|
+
[IntegratedDevices.TAIDOC_THERMOMETER]: BodyTemperatureMeasurement;
|
|
117
|
+
[IntegratedDevices.TAIDOC_OXIMETER]: PulseOximeterMeasurement;
|
|
118
|
+
[IntegratedDevices.TAIDOC_SCALE]: BodyWeightMeasurement;
|
|
101
119
|
}
|
|
102
120
|
/**
|
|
103
121
|
* A built-in device has a measurement type the SDK knows statically. A device registered
|