@ovok/native 0.4.5 → 0.4.7
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-management/index.js +176 -0
- package/lib/commonjs/modules/bt-management/index.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/custom/compile-case-fields.js +49 -0
- package/lib/commonjs/modules/bt-management/services/custom/compile-case-fields.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-case.js +47 -41
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-case.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-frame.js +48 -2
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-frame.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js +98 -0
- package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +24 -1
- package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/device-creator.js +15 -8
- package/lib/commonjs/modules/bt-management/services/device-creator.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj.thermometers.js +85 -0
- package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.frame-reader.js +8 -74
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.frame-reader.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-command-writer.js +141 -0
- package/lib/commonjs/modules/bt-management/services/devices/bt-command-writer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +16 -50
- 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 +17 -6
- 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 +21 -14
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js +36 -0
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +81 -14
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.command-builder.js +48 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.command-builder.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.commands.js +37 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.commands.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.device-info.js +83 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.device-info.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.device-names.js +26 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.device-names.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-names.js +36 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-names.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +155 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.frame-reader.js +98 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.frame-reader.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.frame.js +29 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.frame.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.identity-gate.js +103 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.identity-gate.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.name-match.js +32 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.name-match.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.response-type.js +64 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.response-type.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +143 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/polling-command-sequencer.js +38 -0
- package/lib/commonjs/modules/bt-management/services/devices/polling-command-sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +156 -0
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +124 -0
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +113 -0
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.lepod.js +117 -0
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.lepod.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js +82 -0
- package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/command-sequencer.js +6 -0
- package/lib/commonjs/modules/bt-management/types/command-sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/custom-checksum-algorithm.js +2 -0
- package/lib/commonjs/modules/bt-management/types/custom-checksum-algorithm.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/custom-checksum-spec.js +6 -0
- package/lib/commonjs/modules/bt-management/types/custom-checksum-spec.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/custom-lepu-spec.js +2 -0
- package/lib/commonjs/modules/bt-management/types/custom-lepu-spec.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/custom-measurement-spec.js +6 -0
- package/lib/commonjs/modules/bt-management/types/custom-measurement-spec.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/device-command.js +2 -0
- package/lib/commonjs/modules/bt-management/types/device-command.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/measurement-group.js +6 -0
- package/lib/commonjs/modules/bt-management/types/measurement-group.js.map +1 -0
- package/lib/commonjs/modules/bt-management/utils/calculate-checksum.js +49 -0
- package/lib/commonjs/modules/bt-management/utils/calculate-checksum.js.map +1 -0
- package/lib/commonjs/modules/bt-management/utils/create-frame-validator.js +9 -0
- package/lib/commonjs/modules/bt-management/utils/create-frame-validator.js.map +1 -1
- package/lib/commonjs/modules/bt-management/utils/hex-to-bytes.js +19 -0
- package/lib/commonjs/modules/bt-management/utils/hex-to-bytes.js.map +1 -0
- package/lib/commonjs/modules/bt-management/utils/le-32-to-bytes.js +13 -0
- package/lib/commonjs/modules/bt-management/utils/le-32-to-bytes.js.map +1 -0
- package/lib/commonjs/modules/bt-management/utils/summarise-measurement-for-log.js +22 -0
- package/lib/commonjs/modules/bt-management/utils/summarise-measurement-for-log.js.map +1 -0
- package/lib/commonjs/modules/bt-management/utils/supported-measurement-type-keys.js +18 -0
- package/lib/commonjs/modules/bt-management/utils/supported-measurement-type-keys.js.map +1 -0
- package/lib/module/modules/bt-management/index.js +16 -0
- package/lib/module/modules/bt-management/index.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/compile-case-fields.js +44 -0
- package/lib/module/modules/bt-management/services/custom/compile-case-fields.js.map +1 -0
- package/lib/module/modules/bt-management/services/custom/compile-custom-case.js +47 -41
- package/lib/module/modules/bt-management/services/custom/compile-custom-case.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/compile-custom-frame.js +48 -2
- package/lib/module/modules/bt-management/services/custom/compile-custom-frame.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js +93 -0
- package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -0
- package/lib/module/modules/bt-management/services/custom/define-custom-device.js +24 -1
- package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/device-creator.js +16 -8
- package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js +81 -0
- package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.frame-reader.js +8 -73
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.frame-reader.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-command-writer.js +136 -0
- package/lib/module/modules/bt-management/services/devices/bt-command-writer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +16 -50
- 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 +17 -6
- 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 +21 -14
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js +32 -0
- package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +81 -14
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.command-builder.js +43 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.command-builder.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.commands.js +33 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.commands.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.device-info.js +79 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.device-info.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.device-names.js +22 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.device-names.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-names.js +32 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-names.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +150 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.frame-reader.js +93 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.frame-reader.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.frame.js +24 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.frame.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.identity-gate.js +98 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.identity-gate.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.name-match.js +27 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.name-match.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.response-type.js +59 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.response-type.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +140 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/polling-command-sequencer.js +34 -0
- package/lib/module/modules/bt-management/services/devices/polling-command-sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +149 -0
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +118 -0
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +108 -0
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.lepod.js +114 -0
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.lepod.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js +79 -0
- package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -0
- package/lib/module/modules/bt-management/types/command-sequencer.js +4 -0
- package/lib/module/modules/bt-management/types/command-sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/types/custom-checksum-algorithm.js +2 -0
- package/lib/module/modules/bt-management/types/custom-checksum-algorithm.js.map +1 -0
- package/lib/module/modules/bt-management/types/custom-checksum-spec.js +4 -0
- package/lib/module/modules/bt-management/types/custom-checksum-spec.js.map +1 -0
- package/lib/module/modules/bt-management/types/custom-device-definition.js.map +1 -1
- package/lib/module/modules/bt-management/types/custom-lepu-spec.js +2 -0
- package/lib/module/modules/bt-management/types/custom-lepu-spec.js.map +1 -0
- package/lib/module/modules/bt-management/types/custom-measurement-spec.js +4 -0
- package/lib/module/modules/bt-management/types/custom-measurement-spec.js.map +1 -0
- package/lib/module/modules/bt-management/types/device-command.js +2 -0
- package/lib/module/modules/bt-management/types/device-command.js.map +1 -0
- package/lib/module/modules/bt-management/types/measurement-group.js +4 -0
- package/lib/module/modules/bt-management/types/measurement-group.js.map +1 -0
- package/lib/module/modules/bt-management/utils/calculate-checksum.js +44 -0
- package/lib/module/modules/bt-management/utils/calculate-checksum.js.map +1 -0
- package/lib/module/modules/bt-management/utils/create-frame-validator.js +9 -0
- package/lib/module/modules/bt-management/utils/create-frame-validator.js.map +1 -1
- package/lib/module/modules/bt-management/utils/hex-to-bytes.js +14 -0
- package/lib/module/modules/bt-management/utils/hex-to-bytes.js.map +1 -0
- package/lib/module/modules/bt-management/utils/le-32-to-bytes.js +8 -0
- package/lib/module/modules/bt-management/utils/le-32-to-bytes.js.map +1 -0
- package/lib/module/modules/bt-management/utils/summarise-measurement-for-log.js +17 -0
- package/lib/module/modules/bt-management/utils/summarise-measurement-for-log.js.map +1 -0
- package/lib/module/modules/bt-management/utils/supported-measurement-type-keys.js +13 -0
- package/lib/module/modules/bt-management/utils/supported-measurement-type-keys.js.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-case-fields.d.ts +13 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-case-fields.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-case.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-frame.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts +24 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.frame-reader.d.ts +5 -8
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.frame-reader.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-command-writer.d.ts +67 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-command-writer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +6 -4
- 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 +20 -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 +12 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts +21 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +33 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.command-builder.d.ts +24 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.command-builder.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.commands.d.ts +32 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.commands.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.device-info.d.ts +27 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.device-info.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.device-names.d.ts +20 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.device-names.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-names.d.ts +14 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-names.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +75 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.frame-reader.d.ts +28 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.frame-reader.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.frame.d.ts +12 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.frame.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts +81 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.name-match.d.ts +17 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.name-match.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.response-type.d.ts +33 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.response-type.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +85 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/polling-command-sequencer.d.ts +27 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/polling-command-sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +44 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts +44 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +32 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts +25 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts +39 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts +26 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-case-spec.d.ts +13 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-case-spec.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-checksum-algorithm.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-checksum-algorithm.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-checksum-spec.d.ts +23 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-checksum-spec.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts +12 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-frame-spec.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-frame-spec.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +44 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-measurement-spec.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-measurement-spec.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-command.d.ts +18 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-command.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/measurement-group.d.ts +14 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/measurement-group.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/parsing-case.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/parsing-case.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/utils/calculate-checksum.d.ts +13 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/calculate-checksum.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/create-frame-validator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/utils/hex-to-bytes.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/hex-to-bytes.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/le-32-to-bytes.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/le-32-to-bytes.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/summarise-measurement-for-log.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/summarise-measurement-for-log.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/supported-measurement-type-keys.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/supported-measurement-type-keys.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/custom/compile-case-fields.d.ts +13 -0
- package/lib/typescript/module/src/modules/bt-management/services/custom/compile-case-fields.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-case.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-frame.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts +11 -0
- package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts +24 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.frame-reader.d.ts +5 -8
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.frame-reader.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-command-writer.d.ts +67 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-command-writer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +6 -4
- 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 +20 -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 +12 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts +21 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +33 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.command-builder.d.ts +24 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.command-builder.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.commands.d.ts +32 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.commands.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.device-info.d.ts +27 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.device-info.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.device-names.d.ts +20 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.device-names.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-names.d.ts +14 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-names.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +75 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.frame-reader.d.ts +28 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.frame-reader.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.frame.d.ts +12 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.frame.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts +81 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.name-match.d.ts +17 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.name-match.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.response-type.d.ts +33 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.response-type.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +85 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/polling-command-sequencer.d.ts +27 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/polling-command-sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +44 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts +44 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +32 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts +25 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts +39 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts +26 -0
- package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-case-spec.d.ts +13 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-case-spec.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-checksum-algorithm.d.ts +10 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-checksum-algorithm.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-checksum-spec.d.ts +23 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-checksum-spec.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts +12 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-frame-spec.d.ts +8 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-frame-spec.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +44 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-measurement-spec.d.ts +9 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-measurement-spec.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/device-command.d.ts +18 -0
- package/lib/typescript/module/src/modules/bt-management/types/device-command.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/measurement-group.d.ts +14 -0
- package/lib/typescript/module/src/modules/bt-management/types/measurement-group.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/parsing-case.d.ts +9 -0
- package/lib/typescript/module/src/modules/bt-management/types/parsing-case.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/utils/calculate-checksum.d.ts +13 -0
- package/lib/typescript/module/src/modules/bt-management/utils/calculate-checksum.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/utils/create-frame-validator.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/utils/hex-to-bytes.d.ts +10 -0
- package/lib/typescript/module/src/modules/bt-management/utils/hex-to-bytes.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/utils/le-32-to-bytes.d.ts +3 -0
- package/lib/typescript/module/src/modules/bt-management/utils/le-32-to-bytes.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/utils/summarise-measurement-for-log.d.ts +9 -0
- package/lib/typescript/module/src/modules/bt-management/utils/summarise-measurement-for-log.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/utils/supported-measurement-type-keys.d.ts +10 -0
- package/lib/typescript/module/src/modules/bt-management/utils/supported-measurement-type-keys.d.ts.map +1 -0
- package/package.json +12 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { CustomDeviceDefinition } from "../../../types/custom-device-definition";
|
|
2
|
+
interface StandardDeviceParams {
|
|
3
|
+
/** Reported back as deviceData.name, and must not collide with a built-in device. */
|
|
4
|
+
id: string;
|
|
5
|
+
/** The name the hardware advertises. */
|
|
6
|
+
nameMatch: string | RegExp;
|
|
7
|
+
/** Overrides the default settle time, for hardware slower than most. */
|
|
8
|
+
stuckDataTimeoutMs?: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Blood Pressure Service 0x1810, Blood Pressure Measurement 0x2A35.
|
|
12
|
+
*
|
|
13
|
+
* The pulse rate is deliberately not read. Its offset moves with the timestamp flag, and
|
|
14
|
+
* every byte a declaration reads must fit inside one `minLengthBytes` for the whole
|
|
15
|
+
* characteristic - reading it would raise the minimum to sixteen bytes and reject the
|
|
16
|
+
* shorter frames outright. The pressures sit at bytes 1-4 whatever the flags say, so they
|
|
17
|
+
* are always safe. A device whose pulse matters needs a device class.
|
|
18
|
+
*/
|
|
19
|
+
declare const standardBloodPressureDevice: (params: StandardDeviceParams) => CustomDeviceDefinition;
|
|
20
|
+
/** Health Thermometer Service 0x1809, Temperature Measurement 0x2A1C. */
|
|
21
|
+
declare const standardThermometerDevice: (params: StandardDeviceParams) => CustomDeviceDefinition;
|
|
22
|
+
/**
|
|
23
|
+
* Weight Scale Service 0x181D, Weight Measurement 0x2A9D.
|
|
24
|
+
*
|
|
25
|
+
* The reading is a scaled integer rather than a float, so the resolution is applied here.
|
|
26
|
+
*/
|
|
27
|
+
declare const standardWeightScaleDevice: (params: StandardDeviceParams) => CustomDeviceDefinition;
|
|
28
|
+
/**
|
|
29
|
+
* Pulse Oximeter Service 0x1822, PLX Spot-Check Measurement 0x2A5E.
|
|
30
|
+
*
|
|
31
|
+
* Saturation and pulse rate are both required by the catalog, which matches the
|
|
32
|
+
* specification: a spot-check measurement always carries both.
|
|
33
|
+
*/
|
|
34
|
+
declare const standardPulseOximeterDevice: (params: StandardDeviceParams) => CustomDeviceDefinition;
|
|
35
|
+
/**
|
|
36
|
+
* Heart Rate Service 0x180D, Heart Rate Measurement 0x2A37.
|
|
37
|
+
*
|
|
38
|
+
* Only the eight-bit layout is declared. The sixteen-bit variant needs byte 2, which would
|
|
39
|
+
* raise `minLengthBytes` to three and reject every eight-bit frame - the common case - so it
|
|
40
|
+
* is left out rather than made to displace it.
|
|
41
|
+
*/
|
|
42
|
+
declare const standardHeartRateDevice: (params: StandardDeviceParams) => CustomDeviceDefinition;
|
|
43
|
+
export { standardBloodPressureDevice, standardHeartRateDevice, standardPulseOximeterDevice, standardThermometerDevice, standardWeightScaleDevice, };
|
|
44
|
+
//# sourceMappingURL=standard-gatt.devices.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standard-gatt.devices.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAwBjF,UAAU,oBAAoB;IAE5B,qFAAqF;IACrF,EAAE,EAAE,MAAM,CAAC;IAEX,wCAAwC;IACxC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAE3B,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAkED;;;;;;;;GAQG;AACH,QAAA,MAAM,2BAA2B,GAC/B,QAAQ,oBAAoB,KAC3B,sBAaC,CAAC;AAEL,yEAAyE;AACzE,QAAA,MAAM,yBAAyB,GAC7B,QAAQ,oBAAoB,KAC3B,sBAUC,CAAC;AAKL;;;;GAIG;AACH,QAAA,MAAM,yBAAyB,GAC7B,QAAQ,oBAAoB,KAC3B,sBAgBC,CAAC;AAEL;;;;;GAKG;AACH,QAAA,MAAM,2BAA2B,GAC/B,QAAQ,oBAAoB,KAC3B,sBAWC,CAAC;AAEL;;;;;;GAMG;AACH,QAAA,MAAM,uBAAuB,GAC3B,QAAQ,oBAAoB,KAC3B,sBAUC,CAAC;AAEL,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,GAC1B,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { CustomDeviceDefinition } from "../../../types/custom-device-definition";
|
|
2
|
+
interface ViatomBpParams {
|
|
3
|
+
/** Reported back as deviceData.name, and must not collide with a built-in device. */
|
|
4
|
+
id: string;
|
|
5
|
+
/**
|
|
6
|
+
* The advertised name, defaulting to a matcher for this product that cannot also match a
|
|
7
|
+
* longer one in the family.
|
|
8
|
+
*/
|
|
9
|
+
nameMatch?: string | RegExp;
|
|
10
|
+
/**
|
|
11
|
+
* The models this declaration may poll, once they are known. Left empty the advertised
|
|
12
|
+
* name is the identification, which is what the vendor's own SDK binds on.
|
|
13
|
+
*/
|
|
14
|
+
expectedDeviceTypes?: number[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Declares one monitor of the BP2 series.
|
|
18
|
+
*
|
|
19
|
+
* `advertisedName` is the name the vendor's SDK matches - `BP2A`, `BP2T` - and the matcher
|
|
20
|
+
* derived from it excludes every longer name in the family, so a declaration for `BP2`
|
|
21
|
+
* cannot pick up a `BP2W`.
|
|
22
|
+
*/
|
|
23
|
+
declare const viatomBpMonitor: (advertisedName: string, params: ViatomBpParams) => CustomDeviceDefinition;
|
|
24
|
+
/** BP2A, the arm-cuff monitor of the series. */
|
|
25
|
+
declare const bp2aMonitor: (params: ViatomBpParams) => CustomDeviceDefinition;
|
|
26
|
+
/** BP2T, documented by the vendor alongside BP2 and BP2A as the same protocol. */
|
|
27
|
+
declare const bp2tMonitor: (params: ViatomBpParams) => CustomDeviceDefinition;
|
|
28
|
+
/** BP2W. Documented in its own section, but decoding the same realtime struct. */
|
|
29
|
+
declare const bp2wMonitor: (params: ViatomBpParams) => CustomDeviceDefinition;
|
|
30
|
+
/**
|
|
31
|
+
* The names the BP3 range advertises.
|
|
32
|
+
*
|
|
33
|
+
* Fifteen products differing in cuff and casing rather than in protocol, so declaring the
|
|
34
|
+
* range is one line per name:
|
|
35
|
+
*
|
|
36
|
+
* ```typescript
|
|
37
|
+
* const bp3Devices = BP3_MODEL_NAMES.map((name) =>
|
|
38
|
+
* viatomBpMonitor(name, { id: `viatom-${name.toLowerCase()}` }),
|
|
39
|
+
* );
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
declare const BP3_MODEL_NAMES: readonly string[];
|
|
43
|
+
export { bp2aMonitor, bp2tMonitor, bp2wMonitor, BP3_MODEL_NAMES, viatomBpMonitor, };
|
|
44
|
+
//# sourceMappingURL=viatom.bp-monitors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viatom.bp-monitors.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAsFjF,UAAU,cAAc;IAEtB,qFAAqF;IACrF,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;;;;;GAMG;AACH,QAAA,MAAM,eAAe,GACnB,gBAAgB,MAAM,EACtB,QAAQ,cAAc,KACrB,sBAWC,CAAC;AAEL,gDAAgD;AAChD,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,kFAAkF;AAClF,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,kFAAkF;AAClF,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAgBrC,CAAC;AAEF,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,eAAe,GAChB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { CustomDeviceDefinition } from "../../../types/custom-device-definition";
|
|
2
|
+
interface ViatomEcgParams {
|
|
3
|
+
/** Reported back as deviceData.name, and must not collide with a built-in device. */
|
|
4
|
+
id: string;
|
|
5
|
+
/**
|
|
6
|
+
* The advertised name, defaulting to a matcher for this product that cannot also match a
|
|
7
|
+
* longer one in the family.
|
|
8
|
+
*/
|
|
9
|
+
nameMatch?: string | RegExp;
|
|
10
|
+
/**
|
|
11
|
+
* The models this declaration may poll, once they are known. Worth more here than
|
|
12
|
+
* elsewhere in the family, because of what these opcodes mean on the wrong hardware.
|
|
13
|
+
*/
|
|
14
|
+
expectedDeviceTypes?: number[];
|
|
15
|
+
}
|
|
16
|
+
/** The ER1, and the handheld recorders sold under other names on the same protocol. */
|
|
17
|
+
declare const er1Recorder: (advertisedName: string, params: ViatomEcgParams) => CustomDeviceDefinition;
|
|
18
|
+
/**
|
|
19
|
+
* The ER2, which reads the same block but over a link that grants nothing beyond the
|
|
20
|
+
* minimum. Asking it for the MTU the rest of the family grants is what the vendor's own SDK
|
|
21
|
+
* declines to do, and a command longer than the link carries is truncated rather than
|
|
22
|
+
* refused.
|
|
23
|
+
*/
|
|
24
|
+
declare const er2Recorder: (advertisedName: string, params: ViatomEcgParams) => CustomDeviceDefinition;
|
|
25
|
+
/** The ER3, which reads the same parameter block from a different opcode. */
|
|
26
|
+
declare const er3Recorder: (advertisedName: string, params: ViatomEcgParams) => CustomDeviceDefinition;
|
|
27
|
+
/** The names the ER1 recorders advertise. */
|
|
28
|
+
declare const ER1_MODEL_NAMES: readonly string[];
|
|
29
|
+
/** The names the ER2 recorders advertise, all of them on the small-MTU link. */
|
|
30
|
+
declare const ER2_MODEL_NAMES: readonly string[];
|
|
31
|
+
export { er1Recorder, ER1_MODEL_NAMES, er2Recorder, ER2_MODEL_NAMES, er3Recorder, };
|
|
32
|
+
//# sourceMappingURL=viatom.ecg-recorders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viatom.ecg-recorders.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAqDjF,UAAU,eAAe;IAEvB,qFAAqF;IACrF,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AA4CD,uFAAuF;AACvF,QAAA,MAAM,WAAW,GACf,gBAAgB,MAAM,EACtB,QAAQ,eAAe,KACtB,sBASA,CAAC;AAEJ;;;;;GAKG;AACH,QAAA,MAAM,WAAW,GACf,gBAAgB,MAAM,EACtB,QAAQ,eAAe,KACtB,sBASA,CAAC;AAEJ,6EAA6E;AAC7E,QAAA,MAAM,WAAW,GACf,gBAAgB,MAAM,EACtB,QAAQ,eAAe,KACtB,sBASA,CAAC;AAEJ,6CAA6C;AAC7C,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EASrC,CAAC;AAEF,gFAAgF;AAChF,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAA+C,CAAC;AAEtF,OAAO,EACL,WAAW,EACX,eAAe,EACf,WAAW,EACX,eAAe,EACf,WAAW,GACZ,CAAC"}
|
package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { CustomDeviceDefinition } from "../../../types/custom-device-definition";
|
|
2
|
+
interface LepodParams {
|
|
3
|
+
/** Reported back as deviceData.name, and must not collide with a built-in device. */
|
|
4
|
+
id: string;
|
|
5
|
+
/**
|
|
6
|
+
* The advertised name, defaulting to a matcher for this product that cannot also match a
|
|
7
|
+
* longer one in the family.
|
|
8
|
+
*/
|
|
9
|
+
nameMatch?: string | RegExp;
|
|
10
|
+
/** The models this declaration may poll, once they are known. */
|
|
11
|
+
expectedDeviceTypes?: number[];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Declares a Lepod, reporting every reading its realtime frame carries.
|
|
15
|
+
*
|
|
16
|
+
* An instrument that is not attached reports a value outside the physiological range for
|
|
17
|
+
* what it measures, so that reading is discarded and reported while the others in the same
|
|
18
|
+
* frame are still delivered. The device also marks those conditions in bits of a lead-off
|
|
19
|
+
* byte, which a declaration cannot select on - reading them quietly needs a device class.
|
|
20
|
+
*/
|
|
21
|
+
declare const lepodMonitor: (advertisedName: string, params: LepodParams) => CustomDeviceDefinition;
|
|
22
|
+
/** The names the Lepod range advertises. */
|
|
23
|
+
declare const LEPOD_MODEL_NAMES: readonly string[];
|
|
24
|
+
export { LEPOD_MODEL_NAMES, lepodMonitor };
|
|
25
|
+
//# sourceMappingURL=viatom.lepod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viatom.lepod.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.lepod.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAoGjF,UAAU,WAAW;IAEnB,qFAAqF;IACrF,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B,iEAAiE;IACjE,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,YAAY,GAChB,gBAAgB,MAAM,EACtB,QAAQ,WAAW,KAClB,sBAsBC,CAAC;AAEL,4CAA4C;AAC5C,QAAA,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAA0B,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { CustomDeviceDefinition } from "../../../types/custom-device-definition";
|
|
2
|
+
interface ViatomOximeterParams {
|
|
3
|
+
/** Reported back as deviceData.name, and must not collide with a built-in device. */
|
|
4
|
+
id: string;
|
|
5
|
+
/**
|
|
6
|
+
* The advertised name, defaulting to a matcher for this product that cannot also match a
|
|
7
|
+
* longer one in the family.
|
|
8
|
+
*/
|
|
9
|
+
nameMatch?: string | RegExp;
|
|
10
|
+
/**
|
|
11
|
+
* The models this declaration may poll, once they are known. Left empty the advertised
|
|
12
|
+
* name is the identification, which is what the vendor's own SDK binds on.
|
|
13
|
+
*/
|
|
14
|
+
expectedDeviceTypes?: number[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Declares one oximeter of the range.
|
|
18
|
+
*
|
|
19
|
+
* **A finger that is not in the sensor yields no reading, reported as an error.** The device
|
|
20
|
+
* answers every poll whether or not it is measuring, and marks an unusable reading in two
|
|
21
|
+
* bits of a status byte - which a declaration cannot read, because a case is selected by
|
|
22
|
+
* whole bytes. What it can do is refuse the number: an oxygen saturation measured off the
|
|
23
|
+
* finger falls outside the physiological range, so it is discarded rather than reported.
|
|
24
|
+
* The reading is therefore never wrong, but a device left connected with nobody wearing it
|
|
25
|
+
* reports a decoding failure on each poll. Reading those bits quietly needs a device class.
|
|
26
|
+
*/
|
|
27
|
+
declare const viatomOximeter: (advertisedName: string, params: ViatomOximeterParams) => CustomDeviceDefinition;
|
|
28
|
+
/**
|
|
29
|
+
* The names the oximeter range advertises.
|
|
30
|
+
*
|
|
31
|
+
* ```typescript
|
|
32
|
+
* const oximeters = VIATOM_OXIMETER_NAMES.map((name) =>
|
|
33
|
+
* viatomOximeter(name, { id: `viatom-${name.toLowerCase()}` }),
|
|
34
|
+
* );
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
declare const VIATOM_OXIMETER_NAMES: readonly string[];
|
|
38
|
+
export { VIATOM_OXIMETER_NAMES, viatomOximeter };
|
|
39
|
+
//# sourceMappingURL=viatom.oximeters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viatom.oximeters.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.oximeters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AA2BjF,UAAU,oBAAoB;IAE5B,qFAAqF;IACrF,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;;;;;;;;;GAUG;AACH,QAAA,MAAM,cAAc,GAClB,gBAAgB,MAAM,EACtB,QAAQ,oBAAoB,KAC3B,sBAkCC,CAAC;AAEL;;;;;;;;GAQG;AACH,QAAA,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAqB3C,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { DeviceCommand } from "./device-command";
|
|
2
|
+
/**
|
|
3
|
+
* Decides what to send a device, and when.
|
|
4
|
+
*
|
|
5
|
+
* These protocols are self-clocking: the device answers a request, and the answer is what
|
|
6
|
+
* says which request comes next. A file read walks its offsets that way, and an identity
|
|
7
|
+
* check gates everything after it on the reply to the first command. Neither can be
|
|
8
|
+
* expressed by re-sending one fixed frame, which is all the SDK could do before.
|
|
9
|
+
*
|
|
10
|
+
* At most one command is outstanding at a time. The transport serialises writes, so an
|
|
11
|
+
* implementation may assume the frame it is answering is the reply to the command it last
|
|
12
|
+
* returned.
|
|
13
|
+
*/
|
|
14
|
+
export interface CommandSequencer {
|
|
15
|
+
/** Sent once every characteristic is subscribed. Empty starts a device that only listens. */
|
|
16
|
+
initialCommands(): readonly DeviceCommand[];
|
|
17
|
+
/**
|
|
18
|
+
* Answers one complete frame.
|
|
19
|
+
*
|
|
20
|
+
* Returning `undefined` sends nothing, which is how a sequencer waits: an unidentified
|
|
21
|
+
* device is left alone rather than addressed with an opcode that may mean something else
|
|
22
|
+
* on the hardware actually present.
|
|
23
|
+
*/
|
|
24
|
+
nextCommand(frame: readonly string[]): readonly DeviceCommand[] | undefined;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=command-sequencer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/command-sequencer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB;IAE/B,6FAA6F;IAC7F,eAAe,IAAI,SAAS,aAAa,EAAE,CAAC;IAE5C;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,aAAa,EAAE,GAAG,SAAS,CAAC;CAC7E"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { MeasurementTypeKey } from "@ovok/core";
|
|
2
2
|
import { CustomCaseKind } from "./custom-case-kind";
|
|
3
3
|
import { CustomFieldSpec } from "./custom-field-spec";
|
|
4
|
+
import { CustomMeasurementSpec } from "./custom-measurement-spec";
|
|
4
5
|
/** One frame shape the device emits, selected by the monitor's `caseSelectorBytes`. */
|
|
5
6
|
export interface CustomCaseSpec {
|
|
6
7
|
/**
|
|
@@ -13,6 +14,18 @@ export interface CustomCaseSpec {
|
|
|
13
14
|
measurementTypeKey?: MeasurementTypeKey;
|
|
14
15
|
/** Required and non-empty for a "result" case, forbidden otherwise. */
|
|
15
16
|
fields?: CustomFieldSpec[];
|
|
17
|
+
/**
|
|
18
|
+
* Further readings the same frame carries.
|
|
19
|
+
*
|
|
20
|
+
* A multi-parameter monitor sends one frame holding a heart rate, an oxygen saturation
|
|
21
|
+
* and a temperature at once. Those are three measurements, not one with nine properties,
|
|
22
|
+
* so each is declared with its own type and its own fields and each is reported
|
|
23
|
+
* separately. Property names must still be unique across the whole frame, because the
|
|
24
|
+
* decoded object is flat.
|
|
25
|
+
*
|
|
26
|
+
* Only meaningful on a "result" case.
|
|
27
|
+
*/
|
|
28
|
+
additionalMeasurements?: CustomMeasurementSpec[];
|
|
16
29
|
description?: string;
|
|
17
30
|
}
|
|
18
31
|
//# sourceMappingURL=custom-case-spec.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-case-spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-case-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"custom-case-spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-case-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,uFAAuF;AACvF,MAAM,WAAW,cAAc;IAE7B;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB,IAAI,EAAE,cAAc,CAAC;IAErB,qFAAqF;IACrF,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IAExC,uEAAuE;IACvE,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAE3B;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAEjD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
package/lib/typescript/commonjs/src/modules/bt-management/types/custom-checksum-algorithm.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The checksums a declared device is allowed to claim.
|
|
3
|
+
*
|
|
4
|
+
* Deliberately short. Every algorithm here has one agreed definition, so a declaration that
|
|
5
|
+
* names one cannot mean two different things on two devices. A vendor scheme needing a seed,
|
|
6
|
+
* a reflected table or a width other than a byte belongs in a device class, where it can be
|
|
7
|
+
* written down and tested as code rather than inferred from a name.
|
|
8
|
+
*/
|
|
9
|
+
export type CustomChecksumAlgorithm = "crc8" | "xor" | "sum";
|
|
10
|
+
//# sourceMappingURL=custom-checksum-algorithm.d.ts.map
|
package/lib/typescript/commonjs/src/modules/bt-management/types/custom-checksum-algorithm.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-checksum-algorithm.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-checksum-algorithm.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CustomChecksumAlgorithm } from "./custom-checksum-algorithm";
|
|
2
|
+
/**
|
|
3
|
+
* How a declared frame proves it arrived intact.
|
|
4
|
+
*
|
|
5
|
+
* Without one a declaration has no integrity check at all: a corrupted notification whose
|
|
6
|
+
* header and length still look right is decoded, and the wrong number is reported as a
|
|
7
|
+
* reading. Every vendor driver examined for this fleet authenticates its frames, so a
|
|
8
|
+
* declaration that omits one trusts the radio further than the vendor does.
|
|
9
|
+
*
|
|
10
|
+
* The covered range is stated rather than assumed. A trailing checksum over everything
|
|
11
|
+
* before it is the common shape and is the default, but devices that cover only the payload
|
|
12
|
+
* exist, and a convention hidden in the validator would silently mis-verify them.
|
|
13
|
+
*/
|
|
14
|
+
export interface CustomChecksumSpec {
|
|
15
|
+
algorithm: CustomChecksumAlgorithm;
|
|
16
|
+
/** Byte offset holding the checksum. */
|
|
17
|
+
index: number;
|
|
18
|
+
/** First covered byte. Defaults to 0. */
|
|
19
|
+
from?: number;
|
|
20
|
+
/** Covered byte count. Defaults to every byte between `from` and `index`. */
|
|
21
|
+
byteCount?: number;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=custom-checksum-spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-checksum-spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-checksum-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,uBAAuB,CAAC;IAEnC,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IAEd,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { CompiledCustomField } from "./compiled-custom-field";
|
|
|
3
3
|
import { CustomDeviceId } from "./custom-device-id";
|
|
4
4
|
import { CustomDeviceSpec } from "./custom-device-spec";
|
|
5
5
|
import { CustomFrameSpec } from "./custom-frame-spec";
|
|
6
|
+
import { CustomLepuSpec } from "./custom-lepu-spec";
|
|
6
7
|
import { IService } from "./service.type";
|
|
7
8
|
/**
|
|
8
9
|
* A validated, ready-to-run custom device. Only defineCustomDevice produces one.
|
|
@@ -18,5 +19,9 @@ export interface CustomDeviceDefinition {
|
|
|
18
19
|
readonly fields: ReadonlyMap<string, CompiledCustomField>;
|
|
19
20
|
/** Frame declaration of every monitor characteristic, keyed by its 128-bit UUID. */
|
|
20
21
|
readonly frames: ReadonlyMap<string, CustomFrameSpec>;
|
|
22
|
+
/** MTU to request once connected, when the declaration asked for one. */
|
|
23
|
+
readonly preferredMtu?: number;
|
|
24
|
+
/** Validated Lepu protocol declaration, with its UUIDs normalised. */
|
|
25
|
+
readonly lepu?: CustomLepuSpec;
|
|
21
26
|
}
|
|
22
27
|
//# sourceMappingURL=custom-device-definition.d.ts.map
|
package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-device-definition.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-device-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAC;IAErC,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAE5B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAEhC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC;IAElC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAElC,yFAAyF;IACzF,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAE1D,oFAAoF;IACpF,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"custom-device-definition.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-device-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAC;IAErC,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAE5B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAEhC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC;IAElC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAElC,yFAAyF;IACzF,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAE1D,oFAAoF;IACpF,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAEtD,yEAAyE;IACzE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B,sEAAsE;IACtE,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;CAChC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CustomLepuSpec } from "./custom-lepu-spec";
|
|
1
2
|
import { CustomServiceSpec } from "./custom-service-spec";
|
|
2
3
|
/** Plain, JSON-shaped declaration of a Bluetooth device the SDK has no class for. */
|
|
3
4
|
export interface CustomDeviceSpec {
|
|
@@ -8,5 +9,16 @@ export interface CustomDeviceSpec {
|
|
|
8
9
|
/** Milliseconds without a usable frame before the read is abandoned. 1000-6000000. */
|
|
9
10
|
stuckDataTimeoutMs: number;
|
|
10
11
|
services: CustomServiceSpec[];
|
|
12
|
+
/**
|
|
13
|
+
* MTU to ask for once connected. A larger one carries a frame in fewer notifications and
|
|
14
|
+
* a command in fewer writes. Omit it to keep whatever the platform negotiates.
|
|
15
|
+
*/
|
|
16
|
+
preferredMtu?: number;
|
|
17
|
+
/**
|
|
18
|
+
* Declares the Lepu/Viatom framed protocol, which brings its own frame reader and its own
|
|
19
|
+
* command sequence. A declaration with this needs no `services[].write`: commands are
|
|
20
|
+
* built rather than written down, and are addressed through `lepu.write`.
|
|
21
|
+
*/
|
|
22
|
+
lepu?: CustomLepuSpec;
|
|
11
23
|
}
|
|
12
24
|
//# sourceMappingURL=custom-device-spec.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-device-spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-device-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAE/B,sFAAsF;IACtF,EAAE,EAAE,MAAM,CAAC;IAEX,sGAAsG;IACtG,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAE3B,sFAAsF;IACtF,kBAAkB,EAAE,MAAM,CAAC;IAE3B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"custom-device-spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-device-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAE/B,sFAAsF;IACtF,EAAE,EAAE,MAAM,CAAC;IAEX,sGAAsG;IACtG,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAE3B,sFAAsF;IACtF,kBAAkB,EAAE,MAAM,CAAC;IAE3B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAE9B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CustomByteOrder } from "./custom-byte-order";
|
|
2
|
+
import { CustomChecksumSpec } from "./custom-checksum-spec";
|
|
2
3
|
/**
|
|
3
4
|
* How a notification buffer is recognised as a complete frame.
|
|
4
5
|
*
|
|
@@ -23,5 +24,12 @@ export interface CustomFrameSpec {
|
|
|
23
24
|
/** Bytes in the frame the length field does not count (header, checksum, ...). */
|
|
24
25
|
overheadBytes: number;
|
|
25
26
|
};
|
|
27
|
+
/**
|
|
28
|
+
* How the frame proves it arrived intact.
|
|
29
|
+
*
|
|
30
|
+
* Optional because some devices genuinely send none, but a declaration without one accepts
|
|
31
|
+
* whatever the radio delivered. Declare it wherever the device has one.
|
|
32
|
+
*/
|
|
33
|
+
checksum?: CustomChecksumSpec;
|
|
26
34
|
}
|
|
27
35
|
//# sourceMappingURL=custom-frame-spec.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-frame-spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-frame-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"custom-frame-spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-frame-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAE9B,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB,yDAAyD;IACzD,MAAM,CAAC,EAAE;QAEP,uCAAuC;QACvC,KAAK,EAAE,MAAM,CAAC;QAEd,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;QAElB,SAAS,EAAE,eAAe,CAAC;QAE3B,kFAAkF;QAClF,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IAEF;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Declares that a device speaks the Lepu/Viatom framed protocol.
|
|
3
|
+
*
|
|
4
|
+
* The whole family shares one frame - `start | cmd | ~cmd | type | seq | len | payload |
|
|
5
|
+
* crc8` - one checksum, and one generic opcode space. What it does not share is the meaning
|
|
6
|
+
* of the low opcodes: `0x08` polls realtime data on a BP2, starts a blood-pressure
|
|
7
|
+
* measurement on an AirBp and starts an ECG on a Lepod. A frame built for the wrong one is
|
|
8
|
+
* still well formed, so nothing in the protocol catches a driver bound to the wrong
|
|
9
|
+
* hardware.
|
|
10
|
+
*
|
|
11
|
+
* That is why `pollCommand` may not be declared without `expectedDeviceTypes`. Registration
|
|
12
|
+
* refuses it, because a poll with nobody to check it against is exactly the mis-binding the
|
|
13
|
+
* gate exists to prevent.
|
|
14
|
+
*/
|
|
15
|
+
export interface CustomLepuSpec {
|
|
16
|
+
/**
|
|
17
|
+
* The frame's leading byte. Most of the family uses `a5`, a smaller group `55`, and a few
|
|
18
|
+
* accept either and settle on one at runtime - so it is a list.
|
|
19
|
+
*/
|
|
20
|
+
startBytes: string[];
|
|
21
|
+
/** Where commands are written. The service must be one this declaration also monitors. */
|
|
22
|
+
write: {
|
|
23
|
+
serviceUuid: string;
|
|
24
|
+
characteristicUuid: string;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* The models this declaration was written for, as the device reports them in its
|
|
28
|
+
* information reply. A device reporting anything else is never polled.
|
|
29
|
+
*
|
|
30
|
+
* These values are only ever observed on hardware. The vendor's own SDK binds a driver
|
|
31
|
+
* from the advertised name and never reads the model back, so there is no table of them
|
|
32
|
+
* to copy - which is what `pollCommand` being optional is for.
|
|
33
|
+
*/
|
|
34
|
+
expectedDeviceTypes: number[];
|
|
35
|
+
/**
|
|
36
|
+
* The opcode to poll with, once the device has proved it is one of those models.
|
|
37
|
+
*
|
|
38
|
+
* Leaving it out is a working mode, not an omission: the device is asked what it is, the
|
|
39
|
+
* answer is reported, and nothing else is sent. That is how a model number is learned in
|
|
40
|
+
* the first place, and it is safe on hardware nobody has identified yet.
|
|
41
|
+
*/
|
|
42
|
+
pollCommand?: number;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=custom-lepu-spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-lepu-spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-lepu-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;IAE7B;;;OAGG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB,0FAA0F;IAC1F,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IAEF;;;;;;;OAOG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MeasurementTypeKey } from "@ovok/core";
|
|
2
|
+
import { CustomFieldSpec } from "./custom-field-spec";
|
|
3
|
+
/** One reading, and the byte ranges it decodes from. */
|
|
4
|
+
export interface CustomMeasurementSpec {
|
|
5
|
+
measurementTypeKey: MeasurementTypeKey;
|
|
6
|
+
/** Must include every property the catalog marks required for this measurement. */
|
|
7
|
+
fields: CustomFieldSpec[];
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=custom-measurement-spec.d.ts.map
|
package/lib/typescript/commonjs/src/modules/bt-management/types/custom-measurement-spec.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-measurement-spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-measurement-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,wDAAwD;AACxD,MAAM,WAAW,qBAAqB;IACpC,kBAAkB,EAAE,kBAAkB,CAAC;IAEvC,mFAAmF;IACnF,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One write to a device.
|
|
3
|
+
*
|
|
4
|
+
* The frame is the whole command, in hex bytes, and is addressed to a characteristic rather
|
|
5
|
+
* than left to be inferred from the service that happens to declare a write. A device with
|
|
6
|
+
* more than one writable characteristic - a control point and a data channel, say - cannot
|
|
7
|
+
* be driven at all when the target is implied.
|
|
8
|
+
*
|
|
9
|
+
* Bytes rather than a hex string, because the transport splits a command that exceeds the
|
|
10
|
+
* negotiated MTU. Splitting a string is a byte boundary the caller has to remember to
|
|
11
|
+
* double; splitting an array cannot land inside a byte.
|
|
12
|
+
*/
|
|
13
|
+
export interface DeviceCommand {
|
|
14
|
+
serviceUuid: string;
|
|
15
|
+
characteristicUuid: string;
|
|
16
|
+
frame: readonly string[];
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=device-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-command.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/device-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { MeasurementTypeKey } from "@ovok/core";
|
|
2
|
+
/**
|
|
3
|
+
* One reading inside a decoded frame, and which of its properties belong to that reading.
|
|
4
|
+
*
|
|
5
|
+
* A multi-parameter monitor reports several readings in a single frame - a heart rate, an
|
|
6
|
+
* oxygen saturation, a temperature - and they are separate measurements rather than one
|
|
7
|
+
* measurement with many properties. Decoding produces a flat object, so the grouping is
|
|
8
|
+
* what says where each reading ends.
|
|
9
|
+
*/
|
|
10
|
+
export interface MeasurementGroup {
|
|
11
|
+
measurementTypeKey: MeasurementTypeKey;
|
|
12
|
+
fieldNames: string[];
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=measurement-group.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measurement-group.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/measurement-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { MeasurementTypeKey } from "@ovok/core";
|
|
2
2
|
import { CaseType } from "./case-type";
|
|
3
|
+
import { MeasurementGroup } from "./measurement-group";
|
|
3
4
|
import { ParserDefinition } from "./parser-definition";
|
|
4
5
|
export interface ParsingCase {
|
|
5
6
|
measurementTypeKey?: MeasurementTypeKey;
|
|
@@ -7,5 +8,13 @@ export interface ParsingCase {
|
|
|
7
8
|
parseDefinitions: ParserDefinition[];
|
|
8
9
|
caseValue: string;
|
|
9
10
|
description?: string;
|
|
11
|
+
/**
|
|
12
|
+
* The readings this frame carries, in declaration order.
|
|
13
|
+
*
|
|
14
|
+
* Populated by declarations only; a device class reports its own readings and leaves this
|
|
15
|
+
* undefined. One entry is the ordinary case, and more than one is a frame that reports
|
|
16
|
+
* several measurements at once.
|
|
17
|
+
*/
|
|
18
|
+
measurements?: MeasurementGroup[];
|
|
10
19
|
}
|
|
11
20
|
//# sourceMappingURL=parsing-case.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsing-case.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/parsing-case.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"parsing-case.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/parsing-case.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACnC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CustomChecksumAlgorithm } from "../types/custom-checksum-algorithm";
|
|
2
|
+
import { CustomChecksumSpec } from "../types/custom-checksum-spec";
|
|
3
|
+
declare const isChecksumAlgorithm: (candidate: unknown) => candidate is CustomChecksumAlgorithm;
|
|
4
|
+
/**
|
|
5
|
+
* Whether a buffer's checksum byte matches the bytes it covers.
|
|
6
|
+
*
|
|
7
|
+
* A buffer too short to hold the checksum byte fails rather than reading it as zero: an
|
|
8
|
+
* absent byte is not a matching byte, and treating it as one would let a truncated
|
|
9
|
+
* notification through as a valid reading.
|
|
10
|
+
*/
|
|
11
|
+
declare const hasValidChecksum: (pkg: string[], checksum: CustomChecksumSpec) => boolean;
|
|
12
|
+
export { hasValidChecksum, isChecksumAlgorithm };
|
|
13
|
+
//# sourceMappingURL=calculate-checksum.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculate-checksum.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/utils/calculate-checksum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAgCnE,QAAA,MAAM,mBAAmB,GACvB,WAAW,OAAO,KACjB,SAAS,IAAI,uBAC0C,CAAC;AAU3D;;;;;;GAMG;AACH,QAAA,MAAM,gBAAgB,GACpB,KAAK,MAAM,EAAE,EACb,UAAU,kBAAkB,KAC3B,OAWF,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC"}
|
package/lib/typescript/commonjs/src/modules/bt-management/utils/create-frame-validator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-frame-validator.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/utils/create-frame-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"create-frame-validator.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/utils/create-frame-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAsB7D;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAC9B,OAAO,eAAe,MACtB,KAAK,MAAM,EAAE,KAAG,OA6BhB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Splits a hex string into the bytes it spells: "a508f7" -> ["a5","08","f7"].
|
|
3
|
+
*
|
|
4
|
+
* Anything that is not a pair of hex digits is dropped, so a malformed string yields a
|
|
5
|
+
* shorter command rather than a byte that is half a value. Both callers hand it hex that
|
|
6
|
+
* was already validated - a declaration checks it at registration, and a built frame is
|
|
7
|
+
* assembled a byte at a time - so the dropping is a floor, not a path anything relies on.
|
|
8
|
+
*/
|
|
9
|
+
export declare const hexToBytes: (hex: string) => string[];
|
|
10
|
+
//# sourceMappingURL=hex-to-bytes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hex-to-bytes.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/utils/hex-to-bytes.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,MAAM,EACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"le-32-to-bytes.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/utils/le-32-to-bytes.ts"],"names":[],"mappings":"AAGA,6EAA6E;AAC7E,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAAM,EAKjD,CAAC"}
|
package/lib/typescript/commonjs/src/modules/bt-management/utils/summarise-measurement-for-log.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shapes a measurement for a log line.
|
|
3
|
+
*
|
|
4
|
+
* An ECG carries thousands of waveform points. Logging them costs more than the reading
|
|
5
|
+
* they describe and buries it, so the count stands in for them - which is the only thing
|
|
6
|
+
* the log is being asked: whether the waveform arrived, not what was in it.
|
|
7
|
+
*/
|
|
8
|
+
export declare const summariseMeasurementForLog: <T extends object>(data: T) => Record<string, unknown>;
|
|
9
|
+
//# sourceMappingURL=summarise-measurement-for-log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summarise-measurement-for-log.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/utils/summarise-measurement-for-log.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GAAI,CAAC,SAAS,MAAM,EACzD,MAAM,CAAC,KACN,MAAM,CAAC,MAAM,EAAE,OAAO,CAOxB,CAAC"}
|
package/lib/typescript/commonjs/src/modules/bt-management/utils/supported-measurement-type-keys.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { MeasurementTypeKey } from "@ovok/core";
|
|
2
|
+
import { IMedicalDevice } from "../types/i-medical-device";
|
|
3
|
+
/**
|
|
4
|
+
* The measurement types a device's declared services can produce.
|
|
5
|
+
*
|
|
6
|
+
* Read from the parsing cases rather than stated separately, so a device cannot advertise a
|
|
7
|
+
* measurement it has no case to decode, or omit one it does.
|
|
8
|
+
*/
|
|
9
|
+
export declare const supportedMeasurementTypeKeys: (services: IMedicalDevice["mainService"]) => MeasurementTypeKey[];
|
|
10
|
+
//# sourceMappingURL=supported-measurement-type-keys.d.ts.map
|