@rickosborne/bluetools 2025.3.9
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/README.md +2624 -0
- package/assigned.cjs +577 -0
- package/assigned.cjs.map +6 -0
- package/assigned.d.ts +552 -0
- package/assigned.d.ts.map +1 -0
- package/assigned.mjs +557 -0
- package/assigned.mjs.map +6 -0
- package/battery-level.cjs +50 -0
- package/battery-level.cjs.map +6 -0
- package/battery-level.d.ts +25 -0
- package/battery-level.d.ts.map +1 -0
- package/battery-level.mjs +31 -0
- package/battery-level.mjs.map +6 -0
- package/cross-trainer-data.cjs +188 -0
- package/cross-trainer-data.cjs.map +6 -0
- package/cross-trainer-data.d.ts +192 -0
- package/cross-trainer-data.d.ts.map +1 -0
- package/cross-trainer-data.mjs +169 -0
- package/cross-trainer-data.mjs.map +6 -0
- package/csc-feature.cjs +59 -0
- package/csc-feature.cjs.map +6 -0
- package/csc-feature.d.ts +55 -0
- package/csc-feature.d.ts.map +1 -0
- package/csc-feature.mjs +40 -0
- package/csc-feature.mjs.map +6 -0
- package/csc-measurement.cjs +76 -0
- package/csc-measurement.cjs.map +6 -0
- package/csc-measurement.d.ts +57 -0
- package/csc-measurement.d.ts.map +1 -0
- package/csc-measurement.mjs +57 -0
- package/csc-measurement.mjs.map +6 -0
- package/current-time.cjs +66 -0
- package/current-time.cjs.map +6 -0
- package/current-time.d.ts +65 -0
- package/current-time.d.ts.map +1 -0
- package/current-time.mjs +47 -0
- package/current-time.mjs.map +6 -0
- package/data-view-from-hex.cjs +34 -0
- package/data-view-from-hex.cjs.map +6 -0
- package/data-view-from-hex.d.ts +6 -0
- package/data-view-from-hex.d.ts.map +1 -0
- package/data-view-from-hex.mjs +15 -0
- package/data-view-from-hex.mjs.map +6 -0
- package/data-view-reader.cjs +115 -0
- package/data-view-reader.cjs.map +6 -0
- package/data-view-reader.d.ts +21 -0
- package/data-view-reader.d.ts.map +1 -0
- package/data-view-reader.mjs +96 -0
- package/data-view-reader.mjs.map +6 -0
- package/date-time.cjs +65 -0
- package/date-time.cjs.map +6 -0
- package/date-time.d.ts +89 -0
- package/date-time.d.ts.map +1 -0
- package/date-time.mjs +46 -0
- package/date-time.mjs.map +6 -0
- package/day-date-time.cjs +55 -0
- package/day-date-time.cjs.map +6 -0
- package/day-date-time.d.ts +21 -0
- package/day-date-time.d.ts.map +1 -0
- package/day-date-time.mjs +36 -0
- package/day-date-time.mjs.map +6 -0
- package/day-of-week.cjs +50 -0
- package/day-of-week.cjs.map +6 -0
- package/day-of-week.d.ts +33 -0
- package/day-of-week.d.ts.map +1 -0
- package/day-of-week.mjs +31 -0
- package/day-of-week.mjs.map +6 -0
- package/dst-offset.cjs +50 -0
- package/dst-offset.cjs.map +6 -0
- package/dst-offset.d.ts +30 -0
- package/dst-offset.d.ts.map +1 -0
- package/dst-offset.mjs +31 -0
- package/dst-offset.mjs.map +6 -0
- package/elevation.cjs +50 -0
- package/elevation.cjs.map +6 -0
- package/elevation.d.ts +22 -0
- package/elevation.d.ts.map +1 -0
- package/elevation.mjs +31 -0
- package/elevation.mjs.map +6 -0
- package/exact-time-256.cjs +54 -0
- package/exact-time-256.cjs.map +6 -0
- package/exact-time-256.d.ts +27 -0
- package/exact-time-256.d.ts.map +1 -0
- package/exact-time-256.mjs +35 -0
- package/exact-time-256.mjs.map +6 -0
- package/firmware-revision-string.cjs +50 -0
- package/firmware-revision-string.cjs.map +6 -0
- package/firmware-revision-string.d.ts +19 -0
- package/firmware-revision-string.d.ts.map +1 -0
- package/firmware-revision-string.mjs +31 -0
- package/firmware-revision-string.mjs.map +6 -0
- package/five-zone-heart-rate-limits.cjs +59 -0
- package/five-zone-heart-rate-limits.cjs.map +6 -0
- package/five-zone-heart-rate-limits.d.ts +47 -0
- package/five-zone-heart-rate-limits.d.ts.map +1 -0
- package/five-zone-heart-rate-limits.mjs +40 -0
- package/five-zone-heart-rate-limits.mjs.map +6 -0
- package/gatt-characteristic-presentation-format.cjs +62 -0
- package/gatt-characteristic-presentation-format.cjs.map +6 -0
- package/gatt-characteristic-presentation-format.d.ts +91 -0
- package/gatt-characteristic-presentation-format.d.ts.map +1 -0
- package/gatt-characteristic-presentation-format.mjs +43 -0
- package/gatt-characteristic-presentation-format.mjs.map +6 -0
- package/gatt.cjs +57 -0
- package/gatt.cjs.map +6 -0
- package/gatt.d.ts +4 -0
- package/gatt.d.ts.map +1 -0
- package/gatt.mjs +38 -0
- package/gatt.mjs.map +6 -0
- package/glucose-feature.cjs +83 -0
- package/glucose-feature.cjs.map +6 -0
- package/glucose-feature.d.ts +127 -0
- package/glucose-feature.d.ts.map +1 -0
- package/glucose-feature.mjs +64 -0
- package/glucose-feature.mjs.map +6 -0
- package/glucose-measurement-context.cjs +133 -0
- package/glucose-measurement-context.cjs.map +6 -0
- package/glucose-measurement-context.d.ts +183 -0
- package/glucose-measurement-context.d.ts.map +1 -0
- package/glucose-measurement-context.mjs +114 -0
- package/glucose-measurement-context.mjs.map +6 -0
- package/glucose-measurement.cjs +136 -0
- package/glucose-measurement.cjs.map +6 -0
- package/glucose-measurement.d.ts +230 -0
- package/glucose-measurement.d.ts.map +1 -0
- package/glucose-measurement.mjs +117 -0
- package/glucose-measurement.mjs.map +6 -0
- package/hardware-revision-string.cjs +50 -0
- package/hardware-revision-string.cjs.map +6 -0
- package/hardware-revision-string.d.ts +19 -0
- package/hardware-revision-string.d.ts.map +1 -0
- package/hardware-revision-string.mjs +31 -0
- package/hardware-revision-string.mjs.map +6 -0
- package/heart-rate-control-point.cjs +50 -0
- package/heart-rate-control-point.cjs.map +6 -0
- package/heart-rate-control-point.d.ts +26 -0
- package/heart-rate-control-point.d.ts.map +1 -0
- package/heart-rate-control-point.mjs +31 -0
- package/heart-rate-control-point.mjs.map +6 -0
- package/heart-rate-max.cjs +50 -0
- package/heart-rate-max.cjs.map +6 -0
- package/heart-rate-max.d.ts +23 -0
- package/heart-rate-max.d.ts.map +1 -0
- package/heart-rate-max.mjs +31 -0
- package/heart-rate-max.mjs.map +6 -0
- package/heart-rate-measurement.cjs +79 -0
- package/heart-rate-measurement.cjs.map +6 -0
- package/heart-rate-measurement.d.ts +65 -0
- package/heart-rate-measurement.d.ts.map +1 -0
- package/heart-rate-measurement.mjs +60 -0
- package/heart-rate-measurement.mjs.map +6 -0
- package/heart-rate.cjs +58 -0
- package/heart-rate.cjs.map +6 -0
- package/heart-rate.d.ts +7 -0
- package/heart-rate.d.ts.map +1 -0
- package/heart-rate.mjs +39 -0
- package/heart-rate.mjs.map +6 -0
- package/index.cjs +84 -0
- package/index.cjs.map +6 -0
- package/index.d.ts +67 -0
- package/index.d.ts.map +1 -0
- package/index.mjs +67 -0
- package/index.mjs.map +6 -0
- package/indoor-bike-data.cjs +153 -0
- package/indoor-bike-data.cjs.map +6 -0
- package/indoor-bike-data.d.ts +146 -0
- package/indoor-bike-data.d.ts.map +1 -0
- package/indoor-bike-data.mjs +134 -0
- package/indoor-bike-data.mjs.map +6 -0
- package/language.cjs +50 -0
- package/language.cjs.map +6 -0
- package/language.d.ts +22 -0
- package/language.d.ts.map +1 -0
- package/language.mjs +31 -0
- package/language.mjs.map +6 -0
- package/latitude.cjs +50 -0
- package/latitude.cjs.map +6 -0
- package/latitude.d.ts +19 -0
- package/latitude.d.ts.map +1 -0
- package/latitude.mjs +31 -0
- package/latitude.mjs.map +6 -0
- package/local-time-information.cjs +55 -0
- package/local-time-information.cjs.map +6 -0
- package/local-time-information.d.ts +21 -0
- package/local-time-information.d.ts.map +1 -0
- package/local-time-information.mjs +36 -0
- package/local-time-information.mjs.map +6 -0
- package/location-and-speed.cjs +114 -0
- package/location-and-speed.cjs.map +6 -0
- package/location-and-speed.d.ts +182 -0
- package/location-and-speed.d.ts.map +1 -0
- package/location-and-speed.mjs +95 -0
- package/location-and-speed.mjs.map +6 -0
- package/location-name.cjs +50 -0
- package/location-name.cjs.map +6 -0
- package/location-name.d.ts +19 -0
- package/location-name.d.ts.map +1 -0
- package/location-name.mjs +31 -0
- package/location-name.mjs.map +6 -0
- package/longitude.cjs +50 -0
- package/longitude.cjs.map +6 -0
- package/longitude.d.ts +19 -0
- package/longitude.d.ts.map +1 -0
- package/longitude.mjs +31 -0
- package/longitude.mjs.map +6 -0
- package/manufacturer-name-string.cjs +50 -0
- package/manufacturer-name-string.cjs.map +6 -0
- package/manufacturer-name-string.d.ts +19 -0
- package/manufacturer-name-string.d.ts.map +1 -0
- package/manufacturer-name-string.mjs +31 -0
- package/manufacturer-name-string.mjs.map +6 -0
- package/maximum-recommended-heart-rate.cjs +50 -0
- package/maximum-recommended-heart-rate.cjs.map +6 -0
- package/maximum-recommended-heart-rate.d.ts +23 -0
- package/maximum-recommended-heart-rate.d.ts.map +1 -0
- package/maximum-recommended-heart-rate.mjs +31 -0
- package/maximum-recommended-heart-rate.mjs.map +6 -0
- package/measurement-interval.cjs +50 -0
- package/measurement-interval.cjs.map +6 -0
- package/measurement-interval.d.ts +27 -0
- package/measurement-interval.d.ts.map +1 -0
- package/measurement-interval.mjs +31 -0
- package/measurement-interval.mjs.map +6 -0
- package/model-number-string.cjs +50 -0
- package/model-number-string.cjs.map +6 -0
- package/model-number-string.d.ts +19 -0
- package/model-number-string.d.ts.map +1 -0
- package/model-number-string.mjs +31 -0
- package/model-number-string.mjs.map +6 -0
- package/navigation.cjs +90 -0
- package/navigation.cjs.map +6 -0
- package/navigation.d.ts +134 -0
- package/navigation.d.ts.map +1 -0
- package/navigation.mjs +71 -0
- package/navigation.mjs.map +6 -0
- package/number-of-digitals.cjs +50 -0
- package/number-of-digitals.cjs.map +6 -0
- package/number-of-digitals.d.ts +19 -0
- package/number-of-digitals.d.ts.map +1 -0
- package/number-of-digitals.mjs +31 -0
- package/number-of-digitals.mjs.map +6 -0
- package/package.json +456 -0
- package/plx-continuous-measurement.cjs +184 -0
- package/plx-continuous-measurement.cjs.map +6 -0
- package/plx-continuous-measurement.d.ts +352 -0
- package/plx-continuous-measurement.d.ts.map +1 -0
- package/plx-continuous-measurement.mjs +165 -0
- package/plx-continuous-measurement.mjs.map +6 -0
- package/plx-features.cjs +163 -0
- package/plx-features.cjs.map +6 -0
- package/plx-features.d.ts +354 -0
- package/plx-features.d.ts.map +1 -0
- package/plx-features.mjs +144 -0
- package/plx-features.mjs.map +6 -0
- package/plx-spot-check-measurement.cjs +169 -0
- package/plx-spot-check-measurement.cjs.map +6 -0
- package/plx-spot-check-measurement.d.ts +334 -0
- package/plx-spot-check-measurement.d.ts.map +1 -0
- package/plx-spot-check-measurement.mjs +150 -0
- package/plx-spot-check-measurement.mjs.map +6 -0
- package/reference-time-information.cjs +61 -0
- package/reference-time-information.cjs.map +6 -0
- package/reference-time-information.d.ts +38 -0
- package/reference-time-information.d.ts.map +1 -0
- package/reference-time-information.mjs +42 -0
- package/reference-time-information.mjs.map +6 -0
- package/resting-heart-rate.cjs +50 -0
- package/resting-heart-rate.cjs.map +6 -0
- package/resting-heart-rate.d.ts +23 -0
- package/resting-heart-rate.d.ts.map +1 -0
- package/resting-heart-rate.mjs +31 -0
- package/resting-heart-rate.mjs.map +6 -0
- package/rsc-feature.cjs +65 -0
- package/rsc-feature.cjs.map +6 -0
- package/rsc-feature.d.ts +73 -0
- package/rsc-feature.d.ts.map +1 -0
- package/rsc-feature.mjs +46 -0
- package/rsc-feature.mjs.map +6 -0
- package/rsc-measurement.cjs +73 -0
- package/rsc-measurement.cjs.map +6 -0
- package/rsc-measurement.d.ts +70 -0
- package/rsc-measurement.d.ts.map +1 -0
- package/rsc-measurement.mjs +54 -0
- package/rsc-measurement.mjs.map +6 -0
- package/scripts/fetch-and-cache-text.d.ts +2 -0
- package/scripts/fetch-and-cache-text.d.ts.map +1 -0
- package/scripts/from-xml.d.ts +2 -0
- package/scripts/from-xml.d.ts.map +1 -0
- package/scripts/gatt-assigned.d.ts +2 -0
- package/scripts/gatt-assigned.d.ts.map +1 -0
- package/sensor-location.cjs +50 -0
- package/sensor-location.cjs.map +6 -0
- package/sensor-location.d.ts +42 -0
- package/sensor-location.d.ts.map +1 -0
- package/sensor-location.mjs +31 -0
- package/sensor-location.mjs.map +6 -0
- package/serial-number-string.cjs +50 -0
- package/serial-number-string.cjs.map +6 -0
- package/serial-number-string.d.ts +19 -0
- package/serial-number-string.d.ts.map +1 -0
- package/serial-number-string.mjs +31 -0
- package/serial-number-string.mjs.map +6 -0
- package/software-revision-string.cjs +50 -0
- package/software-revision-string.cjs.map +6 -0
- package/software-revision-string.d.ts +19 -0
- package/software-revision-string.d.ts.map +1 -0
- package/software-revision-string.mjs +31 -0
- package/software-revision-string.mjs.map +6 -0
- package/supported-heart-rate-range.cjs +56 -0
- package/supported-heart-rate-range.cjs.map +6 -0
- package/supported-heart-rate-range.d.ts +37 -0
- package/supported-heart-rate-range.d.ts.map +1 -0
- package/supported-heart-rate-range.mjs +37 -0
- package/supported-heart-rate-range.mjs.map +6 -0
- package/supported-inclination-range.cjs +56 -0
- package/supported-inclination-range.cjs.map +6 -0
- package/supported-inclination-range.d.ts +37 -0
- package/supported-inclination-range.d.ts.map +1 -0
- package/supported-inclination-range.mjs +37 -0
- package/supported-inclination-range.mjs.map +6 -0
- package/supported-speed-range.cjs +56 -0
- package/supported-speed-range.cjs.map +6 -0
- package/supported-speed-range.d.ts +37 -0
- package/supported-speed-range.d.ts.map +1 -0
- package/supported-speed-range.mjs +37 -0
- package/supported-speed-range.mjs.map +6 -0
- package/system-id.cjs +53 -0
- package/system-id.cjs.map +6 -0
- package/system-id.d.ts +34 -0
- package/system-id.d.ts.map +1 -0
- package/system-id.mjs +34 -0
- package/system-id.mjs.map +6 -0
- package/temperature-measurement.cjs +79 -0
- package/temperature-measurement.cjs.map +6 -0
- package/temperature-measurement.d.ts +61 -0
- package/temperature-measurement.d.ts.map +1 -0
- package/temperature-measurement.mjs +60 -0
- package/temperature-measurement.mjs.map +6 -0
- package/temperature-type.cjs +50 -0
- package/temperature-type.cjs.map +6 -0
- package/temperature-type.d.ts +37 -0
- package/temperature-type.d.ts.map +1 -0
- package/temperature-type.mjs +31 -0
- package/temperature-type.mjs.map +6 -0
- package/temperature.cjs +50 -0
- package/temperature.cjs.map +6 -0
- package/temperature.d.ts +22 -0
- package/temperature.d.ts.map +1 -0
- package/temperature.mjs +31 -0
- package/temperature.mjs.map +6 -0
- package/three-zone-heart-rate-limits.cjs +53 -0
- package/three-zone-heart-rate-limits.cjs.map +6 -0
- package/three-zone-heart-rate-limits.d.ts +33 -0
- package/three-zone-heart-rate-limits.d.ts.map +1 -0
- package/three-zone-heart-rate-limits.mjs +34 -0
- package/three-zone-heart-rate-limits.mjs.map +6 -0
- package/time-accuracy.cjs +50 -0
- package/time-accuracy.cjs.map +6 -0
- package/time-accuracy.d.ts +23 -0
- package/time-accuracy.d.ts.map +1 -0
- package/time-accuracy.mjs +31 -0
- package/time-accuracy.mjs.map +6 -0
- package/time-source.cjs +50 -0
- package/time-source.cjs.map +6 -0
- package/time-source.d.ts +33 -0
- package/time-source.d.ts.map +1 -0
- package/time-source.mjs +31 -0
- package/time-source.mjs.map +6 -0
- package/time-update-control-point.cjs +50 -0
- package/time-update-control-point.cjs.map +6 -0
- package/time-update-control-point.d.ts +29 -0
- package/time-update-control-point.d.ts.map +1 -0
- package/time-update-control-point.mjs +31 -0
- package/time-update-control-point.mjs.map +6 -0
- package/time-update-state.cjs +53 -0
- package/time-update-state.cjs.map +6 -0
- package/time-update-state.d.ts +45 -0
- package/time-update-state.d.ts.map +1 -0
- package/time-update-state.mjs +34 -0
- package/time-update-state.mjs.map +6 -0
- package/time-with-dst.cjs +55 -0
- package/time-with-dst.cjs.map +6 -0
- package/time-with-dst.d.ts +21 -0
- package/time-with-dst.d.ts.map +1 -0
- package/time-with-dst.mjs +36 -0
- package/time-with-dst.mjs.map +6 -0
- package/time-zone.cjs +50 -0
- package/time-zone.cjs.map +6 -0
- package/time-zone.d.ts +23 -0
- package/time-zone.d.ts.map +1 -0
- package/time-zone.mjs +31 -0
- package/time-zone.mjs.map +6 -0
- package/treadmill-data.cjs +171 -0
- package/treadmill-data.cjs.map +6 -0
- package/treadmill-data.d.ts +167 -0
- package/treadmill-data.d.ts.map +1 -0
- package/treadmill-data.mjs +152 -0
- package/treadmill-data.mjs.map +6 -0
- package/two-zone-heart-rate-limit.cjs +50 -0
- package/two-zone-heart-rate-limit.cjs.map +6 -0
- package/two-zone-heart-rate-limit.d.ts +23 -0
- package/two-zone-heart-rate-limit.d.ts.map +1 -0
- package/two-zone-heart-rate-limit.mjs +31 -0
- package/two-zone-heart-rate-limit.mjs.map +6 -0
- package/vo2-max.cjs +50 -0
- package/vo2-max.cjs.map +6 -0
- package/vo2-max.d.ts +22 -0
- package/vo2-max.d.ts.map +1 -0
- package/vo2-max.mjs +31 -0
- package/vo2-max.mjs.map +6 -0
package/plx-features.mjs
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
4
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
import { dataViewReader } from "./data-view-reader.mjs";
|
|
6
|
+
const _PlxFeaturesImpl = class _PlxFeaturesImpl {
|
|
7
|
+
/** Parse from a DataView into {@link PlxFeatures}. */
|
|
8
|
+
static fromDataView(dataView, indexStart) {
|
|
9
|
+
return new _PlxFeaturesImpl(plxFeaturesFromDataView(dataView, indexStart));
|
|
10
|
+
}
|
|
11
|
+
calibrationOngoingBitSupported;
|
|
12
|
+
dataForDemonstrationBitSupported;
|
|
13
|
+
dataForTestingBitSupported;
|
|
14
|
+
dataFromMeasurementStorageBitSupported;
|
|
15
|
+
deviceAndSensorStatusSupport;
|
|
16
|
+
earlyEstimatedDataBitSupported;
|
|
17
|
+
equipmentMalfunctionDetectedBitSupported;
|
|
18
|
+
erraticSignalDetectedBitSupported;
|
|
19
|
+
extendedDisplayUpdateOngoingBitSupported;
|
|
20
|
+
fullyQualifiedDataBitSupported;
|
|
21
|
+
inadequiteSignalDetectedBitSupported;
|
|
22
|
+
invalidMeasurementDetectedBitSupported;
|
|
23
|
+
lowPerfusionDetectedBitSupported;
|
|
24
|
+
measurementOngoingBitSupported;
|
|
25
|
+
measurementStatusSupport;
|
|
26
|
+
measurementStorageForSpotCheckMeasurementsIsSupported;
|
|
27
|
+
measurementUnavailableBitSupported;
|
|
28
|
+
multipleBondsSupported;
|
|
29
|
+
nonpulsatileSignalDetectedBitSupported;
|
|
30
|
+
poorSignalDetectedBitSupported;
|
|
31
|
+
pulseAmplitudeIndexFieldIsSupported;
|
|
32
|
+
questionableMeasurementDetectedBitSupported;
|
|
33
|
+
questionablePulseDetectedBitSupported;
|
|
34
|
+
sensorDisconnectedBitSupported;
|
|
35
|
+
sensorDisplacedBitSupported;
|
|
36
|
+
sensorInterfaceDetectedBitSupported;
|
|
37
|
+
sensorMalfunctioningBitSupported;
|
|
38
|
+
sensorUnconnectedToUserBitSupported;
|
|
39
|
+
signalAnalysisOngoingBitSupported;
|
|
40
|
+
signalProcessingIrregularityDetectedBitSupported;
|
|
41
|
+
spo2prFastMetricIsSupported;
|
|
42
|
+
spo2prSlowMetricIsSupported;
|
|
43
|
+
supportedFeatures;
|
|
44
|
+
timestampForSpotCheckMeasurementsIsSupported;
|
|
45
|
+
unknownSensorConnectedBitSupported;
|
|
46
|
+
validatedDataBitSupported;
|
|
47
|
+
constructor(plxFeatures) {
|
|
48
|
+
this.calibrationOngoingBitSupported = plxFeatures.calibrationOngoingBitSupported;
|
|
49
|
+
this.dataForDemonstrationBitSupported = plxFeatures.dataForDemonstrationBitSupported;
|
|
50
|
+
this.dataForTestingBitSupported = plxFeatures.dataForTestingBitSupported;
|
|
51
|
+
this.dataFromMeasurementStorageBitSupported = plxFeatures.dataFromMeasurementStorageBitSupported;
|
|
52
|
+
this.deviceAndSensorStatusSupport = plxFeatures.deviceAndSensorStatusSupport;
|
|
53
|
+
this.earlyEstimatedDataBitSupported = plxFeatures.earlyEstimatedDataBitSupported;
|
|
54
|
+
this.equipmentMalfunctionDetectedBitSupported = plxFeatures.equipmentMalfunctionDetectedBitSupported;
|
|
55
|
+
this.erraticSignalDetectedBitSupported = plxFeatures.erraticSignalDetectedBitSupported;
|
|
56
|
+
this.extendedDisplayUpdateOngoingBitSupported = plxFeatures.extendedDisplayUpdateOngoingBitSupported;
|
|
57
|
+
this.fullyQualifiedDataBitSupported = plxFeatures.fullyQualifiedDataBitSupported;
|
|
58
|
+
this.inadequiteSignalDetectedBitSupported = plxFeatures.inadequiteSignalDetectedBitSupported;
|
|
59
|
+
this.invalidMeasurementDetectedBitSupported = plxFeatures.invalidMeasurementDetectedBitSupported;
|
|
60
|
+
this.lowPerfusionDetectedBitSupported = plxFeatures.lowPerfusionDetectedBitSupported;
|
|
61
|
+
this.measurementOngoingBitSupported = plxFeatures.measurementOngoingBitSupported;
|
|
62
|
+
this.measurementStatusSupport = plxFeatures.measurementStatusSupport;
|
|
63
|
+
this.measurementStorageForSpotCheckMeasurementsIsSupported = plxFeatures.measurementStorageForSpotCheckMeasurementsIsSupported;
|
|
64
|
+
this.measurementUnavailableBitSupported = plxFeatures.measurementUnavailableBitSupported;
|
|
65
|
+
this.multipleBondsSupported = plxFeatures.multipleBondsSupported;
|
|
66
|
+
this.nonpulsatileSignalDetectedBitSupported = plxFeatures.nonpulsatileSignalDetectedBitSupported;
|
|
67
|
+
this.poorSignalDetectedBitSupported = plxFeatures.poorSignalDetectedBitSupported;
|
|
68
|
+
this.pulseAmplitudeIndexFieldIsSupported = plxFeatures.pulseAmplitudeIndexFieldIsSupported;
|
|
69
|
+
this.questionableMeasurementDetectedBitSupported = plxFeatures.questionableMeasurementDetectedBitSupported;
|
|
70
|
+
this.questionablePulseDetectedBitSupported = plxFeatures.questionablePulseDetectedBitSupported;
|
|
71
|
+
this.sensorDisconnectedBitSupported = plxFeatures.sensorDisconnectedBitSupported;
|
|
72
|
+
this.sensorDisplacedBitSupported = plxFeatures.sensorDisplacedBitSupported;
|
|
73
|
+
this.sensorInterfaceDetectedBitSupported = plxFeatures.sensorInterfaceDetectedBitSupported;
|
|
74
|
+
this.sensorMalfunctioningBitSupported = plxFeatures.sensorMalfunctioningBitSupported;
|
|
75
|
+
this.sensorUnconnectedToUserBitSupported = plxFeatures.sensorUnconnectedToUserBitSupported;
|
|
76
|
+
this.signalAnalysisOngoingBitSupported = plxFeatures.signalAnalysisOngoingBitSupported;
|
|
77
|
+
this.signalProcessingIrregularityDetectedBitSupported = plxFeatures.signalProcessingIrregularityDetectedBitSupported;
|
|
78
|
+
this.spo2prFastMetricIsSupported = plxFeatures.spo2prFastMetricIsSupported;
|
|
79
|
+
this.spo2prSlowMetricIsSupported = plxFeatures.spo2prSlowMetricIsSupported;
|
|
80
|
+
this.supportedFeatures = plxFeatures.supportedFeatures;
|
|
81
|
+
this.timestampForSpotCheckMeasurementsIsSupported = plxFeatures.timestampForSpotCheckMeasurementsIsSupported;
|
|
82
|
+
this.unknownSensorConnectedBitSupported = plxFeatures.unknownSensorConnectedBitSupported;
|
|
83
|
+
this.validatedDataBitSupported = plxFeatures.validatedDataBitSupported;
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
__name(_PlxFeaturesImpl, "PlxFeaturesImpl");
|
|
87
|
+
__publicField(_PlxFeaturesImpl, "UUID_PREFIX", 10848);
|
|
88
|
+
__publicField(_PlxFeaturesImpl, "TYPE_NAME", "org.bluetooth.characteristic.plx_features");
|
|
89
|
+
__publicField(_PlxFeaturesImpl, "NAME", "PLX Features");
|
|
90
|
+
let PlxFeaturesImpl = _PlxFeaturesImpl;
|
|
91
|
+
function plxFeaturesFromDataView(dataView, indexStart = 0) {
|
|
92
|
+
const $dvr = dataViewReader(dataView, indexStart);
|
|
93
|
+
const supportedFeatures = $dvr.uint16();
|
|
94
|
+
const measurementStatusSupportIsPresent = !!(supportedFeatures & 1);
|
|
95
|
+
const deviceAndSensorStatusSupportIsPresent = !!((supportedFeatures & 2) >> 1);
|
|
96
|
+
const measurementStorageForSpotCheckMeasurementsIsSupported = (supportedFeatures & 4) >> 2;
|
|
97
|
+
const timestampForSpotCheckMeasurementsIsSupported = (supportedFeatures & 8) >> 3;
|
|
98
|
+
const spo2prFastMetricIsSupported = (supportedFeatures & 16) >> 4;
|
|
99
|
+
const spo2prSlowMetricIsSupported = (supportedFeatures & 32) >> 5;
|
|
100
|
+
const pulseAmplitudeIndexFieldIsSupported = (supportedFeatures & 64) >> 6;
|
|
101
|
+
const multipleBondsSupported = (supportedFeatures & 128) >> 7;
|
|
102
|
+
let measurementStatusSupport = 0;
|
|
103
|
+
if (measurementStatusSupportIsPresent) {
|
|
104
|
+
measurementStatusSupport = $dvr.uint16();
|
|
105
|
+
}
|
|
106
|
+
const measurementOngoingBitSupported = (measurementStatusSupport & 32) >> 5;
|
|
107
|
+
const earlyEstimatedDataBitSupported = (measurementStatusSupport & 64) >> 6;
|
|
108
|
+
const validatedDataBitSupported = (measurementStatusSupport & 128) >> 7;
|
|
109
|
+
const fullyQualifiedDataBitSupported = (measurementStatusSupport & 256) >> 8;
|
|
110
|
+
const dataFromMeasurementStorageBitSupported = (measurementStatusSupport & 512) >> 9;
|
|
111
|
+
const dataForDemonstrationBitSupported = (measurementStatusSupport & 1024) >> 10;
|
|
112
|
+
const dataForTestingBitSupported = (measurementStatusSupport & 2048) >> 11;
|
|
113
|
+
const calibrationOngoingBitSupported = (measurementStatusSupport & 4096) >> 12;
|
|
114
|
+
const measurementUnavailableBitSupported = (measurementStatusSupport & 8192) >> 13;
|
|
115
|
+
const questionableMeasurementDetectedBitSupported = (measurementStatusSupport & 16384) >> 14;
|
|
116
|
+
const invalidMeasurementDetectedBitSupported = (measurementStatusSupport & 32768) >> 15;
|
|
117
|
+
let deviceAndSensorStatusSupport = 0;
|
|
118
|
+
if (deviceAndSensorStatusSupportIsPresent) {
|
|
119
|
+
deviceAndSensorStatusSupport = $dvr.uint24();
|
|
120
|
+
}
|
|
121
|
+
const extendedDisplayUpdateOngoingBitSupported = deviceAndSensorStatusSupport & 1;
|
|
122
|
+
const equipmentMalfunctionDetectedBitSupported = (deviceAndSensorStatusSupport & 2) >> 1;
|
|
123
|
+
const signalProcessingIrregularityDetectedBitSupported = (deviceAndSensorStatusSupport & 4) >> 2;
|
|
124
|
+
const inadequiteSignalDetectedBitSupported = (deviceAndSensorStatusSupport & 8) >> 3;
|
|
125
|
+
const poorSignalDetectedBitSupported = (deviceAndSensorStatusSupport & 16) >> 4;
|
|
126
|
+
const lowPerfusionDetectedBitSupported = (deviceAndSensorStatusSupport & 32) >> 5;
|
|
127
|
+
const erraticSignalDetectedBitSupported = (deviceAndSensorStatusSupport & 64) >> 6;
|
|
128
|
+
const nonpulsatileSignalDetectedBitSupported = (deviceAndSensorStatusSupport & 128) >> 7;
|
|
129
|
+
const questionablePulseDetectedBitSupported = (deviceAndSensorStatusSupport & 256) >> 8;
|
|
130
|
+
const signalAnalysisOngoingBitSupported = (deviceAndSensorStatusSupport & 512) >> 9;
|
|
131
|
+
const sensorInterfaceDetectedBitSupported = (deviceAndSensorStatusSupport & 1024) >> 10;
|
|
132
|
+
const sensorUnconnectedToUserBitSupported = (deviceAndSensorStatusSupport & 2048) >> 11;
|
|
133
|
+
const unknownSensorConnectedBitSupported = (deviceAndSensorStatusSupport & 4096) >> 12;
|
|
134
|
+
const sensorDisplacedBitSupported = (deviceAndSensorStatusSupport & 8192) >> 13;
|
|
135
|
+
const sensorMalfunctioningBitSupported = (deviceAndSensorStatusSupport & 16384) >> 14;
|
|
136
|
+
const sensorDisconnectedBitSupported = (deviceAndSensorStatusSupport & 32768) >> 15;
|
|
137
|
+
return { calibrationOngoingBitSupported, dataForDemonstrationBitSupported, dataForTestingBitSupported, dataFromMeasurementStorageBitSupported, deviceAndSensorStatusSupport, earlyEstimatedDataBitSupported, equipmentMalfunctionDetectedBitSupported, erraticSignalDetectedBitSupported, extendedDisplayUpdateOngoingBitSupported, fullyQualifiedDataBitSupported, inadequiteSignalDetectedBitSupported, invalidMeasurementDetectedBitSupported, lowPerfusionDetectedBitSupported, measurementOngoingBitSupported, measurementStatusSupport, measurementStorageForSpotCheckMeasurementsIsSupported, measurementUnavailableBitSupported, multipleBondsSupported, nonpulsatileSignalDetectedBitSupported, poorSignalDetectedBitSupported, pulseAmplitudeIndexFieldIsSupported, questionableMeasurementDetectedBitSupported, questionablePulseDetectedBitSupported, sensorDisconnectedBitSupported, sensorDisplacedBitSupported, sensorInterfaceDetectedBitSupported, sensorMalfunctioningBitSupported, sensorUnconnectedToUserBitSupported, signalAnalysisOngoingBitSupported, signalProcessingIrregularityDetectedBitSupported, spo2prFastMetricIsSupported, spo2prSlowMetricIsSupported, supportedFeatures, timestampForSpotCheckMeasurementsIsSupported, unknownSensorConnectedBitSupported, validatedDataBitSupported };
|
|
138
|
+
}
|
|
139
|
+
__name(plxFeaturesFromDataView, "plxFeaturesFromDataView");
|
|
140
|
+
export {
|
|
141
|
+
PlxFeaturesImpl,
|
|
142
|
+
plxFeaturesFromDataView
|
|
143
|
+
};
|
|
144
|
+
//# sourceMappingURL=plx-features.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/bluetools/plx-features.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
22
|
+
var plx_spot_check_measurement_exports = {};
|
|
23
|
+
__export(plx_spot_check_measurement_exports, {
|
|
24
|
+
PlxSpotCheckMeasurementImpl: () => PlxSpotCheckMeasurementImpl,
|
|
25
|
+
plxSpotCheckMeasurementFromDataView: () => plxSpotCheckMeasurementFromDataView
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(plx_spot_check_measurement_exports);
|
|
28
|
+
var import_data_view_reader = require("./data-view-reader.cjs");
|
|
29
|
+
var import_date_time = require("./date-time.cjs");
|
|
30
|
+
const _PlxSpotCheckMeasurementImpl = class _PlxSpotCheckMeasurementImpl {
|
|
31
|
+
/** Parse from a DataView into {@link PlxSpotCheckMeasurement}. */
|
|
32
|
+
static fromDataView(dataView, indexStart) {
|
|
33
|
+
return new _PlxSpotCheckMeasurementImpl(plxSpotCheckMeasurementFromDataView(dataView, indexStart));
|
|
34
|
+
}
|
|
35
|
+
calibrationOngoing;
|
|
36
|
+
dataForDemonstration;
|
|
37
|
+
dataForTesting;
|
|
38
|
+
dataFromMeasurementStorage;
|
|
39
|
+
deviceAndSensorStatus;
|
|
40
|
+
deviceClockIsNotSet;
|
|
41
|
+
earlyEstimatedData;
|
|
42
|
+
equipmentMalfunctionDetected;
|
|
43
|
+
erraticSignalDetected;
|
|
44
|
+
extendedDisplayUpdateOngoing;
|
|
45
|
+
flags;
|
|
46
|
+
fullyQualifiedData;
|
|
47
|
+
inadequiteSignalDetected;
|
|
48
|
+
invalidMeasurementDetected;
|
|
49
|
+
lowPerfusionDetected;
|
|
50
|
+
measurementOngoing;
|
|
51
|
+
measurementStatus;
|
|
52
|
+
measurementUnavailable;
|
|
53
|
+
nonpulsatileSignalDetected;
|
|
54
|
+
poorSignalDetected;
|
|
55
|
+
pulseAmplitudeIndex;
|
|
56
|
+
questionableMeasurementDetected;
|
|
57
|
+
questionablePulseDetected;
|
|
58
|
+
sensorDisconnected;
|
|
59
|
+
sensorDisplaced;
|
|
60
|
+
sensorInterfaceDetected;
|
|
61
|
+
sensorMalfunctioning;
|
|
62
|
+
sensorUnconnectedToUser;
|
|
63
|
+
signalAnalysisOngoing;
|
|
64
|
+
signalProcessingIrregularityDetected;
|
|
65
|
+
spo2prSpotCheckPR;
|
|
66
|
+
spo2prSpotCheckSpO2;
|
|
67
|
+
timestamp;
|
|
68
|
+
unknownSensorConnected;
|
|
69
|
+
validatedData;
|
|
70
|
+
constructor(plxSpotCheckMeasurement) {
|
|
71
|
+
this.calibrationOngoing = plxSpotCheckMeasurement.calibrationOngoing;
|
|
72
|
+
this.dataForDemonstration = plxSpotCheckMeasurement.dataForDemonstration;
|
|
73
|
+
this.dataForTesting = plxSpotCheckMeasurement.dataForTesting;
|
|
74
|
+
this.dataFromMeasurementStorage = plxSpotCheckMeasurement.dataFromMeasurementStorage;
|
|
75
|
+
this.deviceAndSensorStatus = plxSpotCheckMeasurement.deviceAndSensorStatus;
|
|
76
|
+
this.deviceClockIsNotSet = plxSpotCheckMeasurement.deviceClockIsNotSet;
|
|
77
|
+
this.earlyEstimatedData = plxSpotCheckMeasurement.earlyEstimatedData;
|
|
78
|
+
this.equipmentMalfunctionDetected = plxSpotCheckMeasurement.equipmentMalfunctionDetected;
|
|
79
|
+
this.erraticSignalDetected = plxSpotCheckMeasurement.erraticSignalDetected;
|
|
80
|
+
this.extendedDisplayUpdateOngoing = plxSpotCheckMeasurement.extendedDisplayUpdateOngoing;
|
|
81
|
+
this.flags = plxSpotCheckMeasurement.flags;
|
|
82
|
+
this.fullyQualifiedData = plxSpotCheckMeasurement.fullyQualifiedData;
|
|
83
|
+
this.inadequiteSignalDetected = plxSpotCheckMeasurement.inadequiteSignalDetected;
|
|
84
|
+
this.invalidMeasurementDetected = plxSpotCheckMeasurement.invalidMeasurementDetected;
|
|
85
|
+
this.lowPerfusionDetected = plxSpotCheckMeasurement.lowPerfusionDetected;
|
|
86
|
+
this.measurementOngoing = plxSpotCheckMeasurement.measurementOngoing;
|
|
87
|
+
this.measurementStatus = plxSpotCheckMeasurement.measurementStatus;
|
|
88
|
+
this.measurementUnavailable = plxSpotCheckMeasurement.measurementUnavailable;
|
|
89
|
+
this.nonpulsatileSignalDetected = plxSpotCheckMeasurement.nonpulsatileSignalDetected;
|
|
90
|
+
this.poorSignalDetected = plxSpotCheckMeasurement.poorSignalDetected;
|
|
91
|
+
this.pulseAmplitudeIndex = plxSpotCheckMeasurement.pulseAmplitudeIndex;
|
|
92
|
+
this.questionableMeasurementDetected = plxSpotCheckMeasurement.questionableMeasurementDetected;
|
|
93
|
+
this.questionablePulseDetected = plxSpotCheckMeasurement.questionablePulseDetected;
|
|
94
|
+
this.sensorDisconnected = plxSpotCheckMeasurement.sensorDisconnected;
|
|
95
|
+
this.sensorDisplaced = plxSpotCheckMeasurement.sensorDisplaced;
|
|
96
|
+
this.sensorInterfaceDetected = plxSpotCheckMeasurement.sensorInterfaceDetected;
|
|
97
|
+
this.sensorMalfunctioning = plxSpotCheckMeasurement.sensorMalfunctioning;
|
|
98
|
+
this.sensorUnconnectedToUser = plxSpotCheckMeasurement.sensorUnconnectedToUser;
|
|
99
|
+
this.signalAnalysisOngoing = plxSpotCheckMeasurement.signalAnalysisOngoing;
|
|
100
|
+
this.signalProcessingIrregularityDetected = plxSpotCheckMeasurement.signalProcessingIrregularityDetected;
|
|
101
|
+
this.spo2prSpotCheckPR = plxSpotCheckMeasurement.spo2prSpotCheckPR;
|
|
102
|
+
this.spo2prSpotCheckSpO2 = plxSpotCheckMeasurement.spo2prSpotCheckSpO2;
|
|
103
|
+
this.timestamp = plxSpotCheckMeasurement.timestamp;
|
|
104
|
+
this.unknownSensorConnected = plxSpotCheckMeasurement.unknownSensorConnected;
|
|
105
|
+
this.validatedData = plxSpotCheckMeasurement.validatedData;
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
__name(_PlxSpotCheckMeasurementImpl, "PlxSpotCheckMeasurementImpl");
|
|
109
|
+
__publicField(_PlxSpotCheckMeasurementImpl, "UUID_PREFIX", 10846);
|
|
110
|
+
__publicField(_PlxSpotCheckMeasurementImpl, "TYPE_NAME", "org.bluetooth.characteristic.plx_spot_check_measurement");
|
|
111
|
+
__publicField(_PlxSpotCheckMeasurementImpl, "NAME", "PLX Spot-Check Measurement");
|
|
112
|
+
let PlxSpotCheckMeasurementImpl = _PlxSpotCheckMeasurementImpl;
|
|
113
|
+
function plxSpotCheckMeasurementFromDataView(dataView, indexStart = 0) {
|
|
114
|
+
const $dvr = (0, import_data_view_reader.dataViewReader)(dataView, indexStart);
|
|
115
|
+
const flags = $dvr.uint8();
|
|
116
|
+
const timestampFieldIsPresent = !!(flags & 1);
|
|
117
|
+
const measurementStatusFieldPresent = !!((flags & 2) >> 1);
|
|
118
|
+
const deviceAndSensorStatusFieldPresent = !!((flags & 4) >> 2);
|
|
119
|
+
const pulseAmplitudeIndexFieldIsPresent = !!((flags & 8) >> 3);
|
|
120
|
+
const deviceClockIsNotSet = (flags & 16) >> 4;
|
|
121
|
+
const spo2prSpotCheckSpO2 = $dvr.sFloat();
|
|
122
|
+
const spo2prSpotCheckPR = $dvr.sFloat();
|
|
123
|
+
let timestamp = void 0;
|
|
124
|
+
if (timestampFieldIsPresent) {
|
|
125
|
+
timestamp = import_date_time.DateTimeImpl.fromDataView($dvr);
|
|
126
|
+
}
|
|
127
|
+
let measurementStatus = 0;
|
|
128
|
+
if (measurementStatusFieldPresent) {
|
|
129
|
+
measurementStatus = $dvr.uint16();
|
|
130
|
+
}
|
|
131
|
+
const measurementOngoing = (measurementStatus & 32) >> 5;
|
|
132
|
+
const earlyEstimatedData = (measurementStatus & 64) >> 6;
|
|
133
|
+
const validatedData = (measurementStatus & 128) >> 7;
|
|
134
|
+
const fullyQualifiedData = (measurementStatus & 256) >> 8;
|
|
135
|
+
const dataFromMeasurementStorage = (measurementStatus & 512) >> 9;
|
|
136
|
+
const dataForDemonstration = (measurementStatus & 1024) >> 10;
|
|
137
|
+
const dataForTesting = (measurementStatus & 2048) >> 11;
|
|
138
|
+
const calibrationOngoing = (measurementStatus & 4096) >> 12;
|
|
139
|
+
const measurementUnavailable = (measurementStatus & 8192) >> 13;
|
|
140
|
+
const questionableMeasurementDetected = (measurementStatus & 16384) >> 14;
|
|
141
|
+
const invalidMeasurementDetected = (measurementStatus & 32768) >> 15;
|
|
142
|
+
let deviceAndSensorStatus = 0;
|
|
143
|
+
if (deviceAndSensorStatusFieldPresent) {
|
|
144
|
+
deviceAndSensorStatus = $dvr.uint24();
|
|
145
|
+
}
|
|
146
|
+
const extendedDisplayUpdateOngoing = deviceAndSensorStatus & 1;
|
|
147
|
+
const equipmentMalfunctionDetected = (deviceAndSensorStatus & 2) >> 1;
|
|
148
|
+
const signalProcessingIrregularityDetected = (deviceAndSensorStatus & 4) >> 2;
|
|
149
|
+
const inadequiteSignalDetected = (deviceAndSensorStatus & 8) >> 3;
|
|
150
|
+
const poorSignalDetected = (deviceAndSensorStatus & 16) >> 4;
|
|
151
|
+
const lowPerfusionDetected = (deviceAndSensorStatus & 32) >> 5;
|
|
152
|
+
const erraticSignalDetected = (deviceAndSensorStatus & 64) >> 6;
|
|
153
|
+
const nonpulsatileSignalDetected = (deviceAndSensorStatus & 128) >> 7;
|
|
154
|
+
const questionablePulseDetected = (deviceAndSensorStatus & 256) >> 8;
|
|
155
|
+
const signalAnalysisOngoing = (deviceAndSensorStatus & 512) >> 9;
|
|
156
|
+
const sensorInterfaceDetected = (deviceAndSensorStatus & 1024) >> 10;
|
|
157
|
+
const sensorUnconnectedToUser = (deviceAndSensorStatus & 2048) >> 11;
|
|
158
|
+
const unknownSensorConnected = (deviceAndSensorStatus & 4096) >> 12;
|
|
159
|
+
const sensorDisplaced = (deviceAndSensorStatus & 8192) >> 13;
|
|
160
|
+
const sensorMalfunctioning = (deviceAndSensorStatus & 16384) >> 14;
|
|
161
|
+
const sensorDisconnected = (deviceAndSensorStatus & 32768) >> 15;
|
|
162
|
+
let pulseAmplitudeIndex = void 0;
|
|
163
|
+
if (pulseAmplitudeIndexFieldIsPresent) {
|
|
164
|
+
pulseAmplitudeIndex = $dvr.sFloat();
|
|
165
|
+
}
|
|
166
|
+
return { calibrationOngoing, dataForDemonstration, dataForTesting, dataFromMeasurementStorage, deviceAndSensorStatus, deviceClockIsNotSet, earlyEstimatedData, equipmentMalfunctionDetected, erraticSignalDetected, extendedDisplayUpdateOngoing, flags, fullyQualifiedData, inadequiteSignalDetected, invalidMeasurementDetected, lowPerfusionDetected, measurementOngoing, measurementStatus, measurementUnavailable, nonpulsatileSignalDetected, poorSignalDetected, pulseAmplitudeIndex, questionableMeasurementDetected, questionablePulseDetected, sensorDisconnected, sensorDisplaced, sensorInterfaceDetected, sensorMalfunctioning, sensorUnconnectedToUser, signalAnalysisOngoing, signalProcessingIrregularityDetected, spo2prSpotCheckPR, spo2prSpotCheckSpO2, timestamp, unknownSensorConnected, validatedData };
|
|
167
|
+
}
|
|
168
|
+
__name(plxSpotCheckMeasurementFromDataView, "plxSpotCheckMeasurementFromDataView");
|
|
169
|
+
//# sourceMappingURL=plx-spot-check-measurement.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/bluetools/plx-spot-check-measurement.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
import { type DataViewReader } from "./data-view-reader.js";
|
|
2
|
+
import { type DateTime } from "./date-time.js";
|
|
3
|
+
/** <p>The PLX Spot-check Measurement characteristic, if supported, is used to send Spot-check measurements of SpO2 (Percent oxygen saturation of hemoglobin) and PR (pulse rate). This characteristic is a variable length structure containing the Flags field, the SpO2PR-Spot-Check field, and depending on the contents of the Flags field, the Timestamp field, the Measurement Status field, the Device and Sensor Status field, and/or the Pulse Amplitude Index field.</p> */
|
|
4
|
+
export interface PlxSpotCheckMeasurement {
|
|
5
|
+
/**
|
|
6
|
+
* | value | description |
|
|
7
|
+
* | ----- | ----------- |
|
|
8
|
+
* | 0 | False |
|
|
9
|
+
* | 1 | True |
|
|
10
|
+
*/
|
|
11
|
+
calibrationOngoing: number;
|
|
12
|
+
/**
|
|
13
|
+
* | value | description |
|
|
14
|
+
* | ----- | ----------- |
|
|
15
|
+
* | 0 | False |
|
|
16
|
+
* | 1 | True |
|
|
17
|
+
*/
|
|
18
|
+
dataForDemonstration: number;
|
|
19
|
+
/**
|
|
20
|
+
* | value | description |
|
|
21
|
+
* | ----- | ----------- |
|
|
22
|
+
* | 0 | False |
|
|
23
|
+
* | 1 | True |
|
|
24
|
+
*/
|
|
25
|
+
dataForTesting: number;
|
|
26
|
+
/**
|
|
27
|
+
* | value | description |
|
|
28
|
+
* | ----- | ----------- |
|
|
29
|
+
* | 0 | False |
|
|
30
|
+
* | 1 | True |
|
|
31
|
+
*/
|
|
32
|
+
dataFromMeasurementStorage: number;
|
|
33
|
+
/**
|
|
34
|
+
* <p>Format: `24bit`</p>
|
|
35
|
+
*
|
|
36
|
+
* Bit field:
|
|
37
|
+
*
|
|
38
|
+
* | index | size | name |
|
|
39
|
+
* | ----- | ---- | --------------------------------------- |
|
|
40
|
+
* | 0 | 1 | Extended Display Update Ongoing |
|
|
41
|
+
* | 1 | 1 | Equipment Malfunction Detected |
|
|
42
|
+
* | 2 | 1 | Signal Processing Irregularity Detected |
|
|
43
|
+
* | 3 | 1 | Inadequite Signal Detected |
|
|
44
|
+
* | 4 | 1 | Poor Signal Detected |
|
|
45
|
+
* | 5 | 1 | Low Perfusion Detected |
|
|
46
|
+
* | 6 | 1 | Erratic Signal Detected |
|
|
47
|
+
* | 7 | 1 | Nonpulsatile Signal Detected |
|
|
48
|
+
* | 8 | 1 | Questionable Pulse Detected |
|
|
49
|
+
* | 9 | 1 | Signal Analysis Ongoing |
|
|
50
|
+
* | 10 | 1 | Sensor Interface Detected |
|
|
51
|
+
* | 11 | 1 | Sensor Unconnected to User |
|
|
52
|
+
* | 12 | 1 | Unknown Sensor Connected |
|
|
53
|
+
* | 13 | 1 | Sensor Displaced |
|
|
54
|
+
* | 14 | 1 | Sensor Malfunctioning |
|
|
55
|
+
* | 15 | 1 | Sensor Disconnected |
|
|
56
|
+
* | 16 | 8 | Reserved for future use |
|
|
57
|
+
*
|
|
58
|
+
*/
|
|
59
|
+
deviceAndSensorStatus: number;
|
|
60
|
+
/**
|
|
61
|
+
* | value | description |
|
|
62
|
+
* | ----- | ----------- |
|
|
63
|
+
* | 0 | False |
|
|
64
|
+
* | 1 | True |
|
|
65
|
+
*/
|
|
66
|
+
deviceClockIsNotSet: number;
|
|
67
|
+
/**
|
|
68
|
+
* | value | description |
|
|
69
|
+
* | ----- | ----------- |
|
|
70
|
+
* | 0 | False |
|
|
71
|
+
* | 1 | True |
|
|
72
|
+
*/
|
|
73
|
+
earlyEstimatedData: number;
|
|
74
|
+
/**
|
|
75
|
+
* | value | description |
|
|
76
|
+
* | ----- | ----------- |
|
|
77
|
+
* | 0 | False |
|
|
78
|
+
* | 1 | True |
|
|
79
|
+
*/
|
|
80
|
+
equipmentMalfunctionDetected: number;
|
|
81
|
+
/**
|
|
82
|
+
* | value | description |
|
|
83
|
+
* | ----- | ----------- |
|
|
84
|
+
* | 0 | False |
|
|
85
|
+
* | 1 | True |
|
|
86
|
+
*/
|
|
87
|
+
erraticSignalDetected: number;
|
|
88
|
+
/**
|
|
89
|
+
* | value | description |
|
|
90
|
+
* | ----- | ----------- |
|
|
91
|
+
* | 0 | False |
|
|
92
|
+
* | 1 | True |
|
|
93
|
+
*/
|
|
94
|
+
extendedDisplayUpdateOngoing: number;
|
|
95
|
+
/**
|
|
96
|
+
* <p>Format: `8bit`</p>
|
|
97
|
+
* <p>These flags define which data fields are present in the Characteristic value</p>
|
|
98
|
+
*
|
|
99
|
+
* Bit field:
|
|
100
|
+
*
|
|
101
|
+
* | index | size | req | name |
|
|
102
|
+
* | ----- | ---- | --- | -------------------------------------- |
|
|
103
|
+
* | 0 | 1 | C1 | Timestamp field is present |
|
|
104
|
+
* | 1 | 1 | C2 | Measurement Status Field Present |
|
|
105
|
+
* | 2 | 1 | C3 | Device and Sensor Status Field Present |
|
|
106
|
+
* | 3 | 1 | C4 | Pulse Amplitude Index field is present |
|
|
107
|
+
* | 4 | 1 | | Device Clock is Not Set |
|
|
108
|
+
* | 5 | 3 | | Reserved for future use |
|
|
109
|
+
*
|
|
110
|
+
*/
|
|
111
|
+
flags: number;
|
|
112
|
+
/**
|
|
113
|
+
* | value | description |
|
|
114
|
+
* | ----- | ----------- |
|
|
115
|
+
* | 0 | False |
|
|
116
|
+
* | 1 | True |
|
|
117
|
+
*/
|
|
118
|
+
fullyQualifiedData: number;
|
|
119
|
+
/**
|
|
120
|
+
* | value | description |
|
|
121
|
+
* | ----- | ----------- |
|
|
122
|
+
* | 0 | False |
|
|
123
|
+
* | 1 | True |
|
|
124
|
+
*/
|
|
125
|
+
inadequiteSignalDetected: number;
|
|
126
|
+
/**
|
|
127
|
+
* | value | description |
|
|
128
|
+
* | ----- | ----------- |
|
|
129
|
+
* | 0 | False |
|
|
130
|
+
* | 1 | True |
|
|
131
|
+
*/
|
|
132
|
+
invalidMeasurementDetected: number;
|
|
133
|
+
/**
|
|
134
|
+
* | value | description |
|
|
135
|
+
* | ----- | ----------- |
|
|
136
|
+
* | 0 | False |
|
|
137
|
+
* | 1 | True |
|
|
138
|
+
*/
|
|
139
|
+
lowPerfusionDetected: number;
|
|
140
|
+
/**
|
|
141
|
+
* | value | description |
|
|
142
|
+
* | ----- | ----------- |
|
|
143
|
+
* | 0 | False |
|
|
144
|
+
* | 1 | True |
|
|
145
|
+
*/
|
|
146
|
+
measurementOngoing: number;
|
|
147
|
+
/**
|
|
148
|
+
* <p>Format: `16bit`</p>
|
|
149
|
+
*
|
|
150
|
+
* Bit field:
|
|
151
|
+
*
|
|
152
|
+
* | index | size | name |
|
|
153
|
+
* | ----- | ---- | --------------------------------- |
|
|
154
|
+
* | 5 | 1 | Measurement Ongoing |
|
|
155
|
+
* | 6 | 1 | Early Estimated Data |
|
|
156
|
+
* | 7 | 1 | Validated Data |
|
|
157
|
+
* | 8 | 1 | Fully Qualified Data |
|
|
158
|
+
* | 9 | 1 | Data from Measurement Storage |
|
|
159
|
+
* | 10 | 1 | Data for Demonstration |
|
|
160
|
+
* | 11 | 1 | Data for Testing |
|
|
161
|
+
* | 12 | 1 | Calibration Ongoing |
|
|
162
|
+
* | 13 | 1 | Measurement Unavailable |
|
|
163
|
+
* | 14 | 1 | Questionable Measurement Detected |
|
|
164
|
+
* | 15 | 1 | Invalid Measurement Detected |
|
|
165
|
+
* | 0 | 5 | Reserved for future use |
|
|
166
|
+
*
|
|
167
|
+
*/
|
|
168
|
+
measurementStatus: number;
|
|
169
|
+
/**
|
|
170
|
+
* | value | description |
|
|
171
|
+
* | ----- | ----------- |
|
|
172
|
+
* | 0 | False |
|
|
173
|
+
* | 1 | True |
|
|
174
|
+
*/
|
|
175
|
+
measurementUnavailable: number;
|
|
176
|
+
/**
|
|
177
|
+
* | value | description |
|
|
178
|
+
* | ----- | ----------- |
|
|
179
|
+
* | 0 | False |
|
|
180
|
+
* | 1 | True |
|
|
181
|
+
*/
|
|
182
|
+
nonpulsatileSignalDetected: number;
|
|
183
|
+
/**
|
|
184
|
+
* | value | description |
|
|
185
|
+
* | ----- | ----------- |
|
|
186
|
+
* | 0 | False |
|
|
187
|
+
* | 1 | True |
|
|
188
|
+
*/
|
|
189
|
+
poorSignalDetected: number;
|
|
190
|
+
/**
|
|
191
|
+
* <p>Format: `SFLOAT`</p>
|
|
192
|
+
* <p>Unit: `org.bluetooth.unit.percentage`</p>
|
|
193
|
+
* <p>Unit is percentage with a resolution of 1</p>
|
|
194
|
+
*/
|
|
195
|
+
pulseAmplitudeIndex?: number | undefined;
|
|
196
|
+
/**
|
|
197
|
+
* | value | description |
|
|
198
|
+
* | ----- | ----------- |
|
|
199
|
+
* | 0 | False |
|
|
200
|
+
* | 1 | True |
|
|
201
|
+
*/
|
|
202
|
+
questionableMeasurementDetected: number;
|
|
203
|
+
/**
|
|
204
|
+
* | value | description |
|
|
205
|
+
* | ----- | ----------- |
|
|
206
|
+
* | 0 | False |
|
|
207
|
+
* | 1 | True |
|
|
208
|
+
*/
|
|
209
|
+
questionablePulseDetected: number;
|
|
210
|
+
/**
|
|
211
|
+
* | value | description |
|
|
212
|
+
* | ----- | ----------- |
|
|
213
|
+
* | 0 | False |
|
|
214
|
+
* | 1 | True |
|
|
215
|
+
*/
|
|
216
|
+
sensorDisconnected: number;
|
|
217
|
+
/**
|
|
218
|
+
* | value | description |
|
|
219
|
+
* | ----- | ----------- |
|
|
220
|
+
* | 0 | False |
|
|
221
|
+
* | 1 | True |
|
|
222
|
+
*/
|
|
223
|
+
sensorDisplaced: number;
|
|
224
|
+
/**
|
|
225
|
+
* | value | description |
|
|
226
|
+
* | ----- | ----------- |
|
|
227
|
+
* | 0 | False |
|
|
228
|
+
* | 1 | True |
|
|
229
|
+
*/
|
|
230
|
+
sensorInterfaceDetected: number;
|
|
231
|
+
/**
|
|
232
|
+
* | value | description |
|
|
233
|
+
* | ----- | ----------- |
|
|
234
|
+
* | 0 | False |
|
|
235
|
+
* | 1 | True |
|
|
236
|
+
*/
|
|
237
|
+
sensorMalfunctioning: number;
|
|
238
|
+
/**
|
|
239
|
+
* | value | description |
|
|
240
|
+
* | ----- | ----------- |
|
|
241
|
+
* | 0 | False |
|
|
242
|
+
* | 1 | True |
|
|
243
|
+
*/
|
|
244
|
+
sensorUnconnectedToUser: number;
|
|
245
|
+
/**
|
|
246
|
+
* | value | description |
|
|
247
|
+
* | ----- | ----------- |
|
|
248
|
+
* | 0 | False |
|
|
249
|
+
* | 1 | True |
|
|
250
|
+
*/
|
|
251
|
+
signalAnalysisOngoing: number;
|
|
252
|
+
/**
|
|
253
|
+
* | value | description |
|
|
254
|
+
* | ----- | ----------- |
|
|
255
|
+
* | 0 | False |
|
|
256
|
+
* | 1 | True |
|
|
257
|
+
*/
|
|
258
|
+
signalProcessingIrregularityDetected: number;
|
|
259
|
+
/**
|
|
260
|
+
* <p>Format: `SFLOAT`</p>
|
|
261
|
+
* <p>Unit: `org.bluetooth.unit.period.beats_per_minute`</p>
|
|
262
|
+
* <p>Unit is beats per minute with a resolution of 1</p>
|
|
263
|
+
*/
|
|
264
|
+
spo2prSpotCheckPR: number;
|
|
265
|
+
/**
|
|
266
|
+
* <p>Format: `SFLOAT`</p>
|
|
267
|
+
* <p>Unit: `org.bluetooth.unit.percentage`</p>
|
|
268
|
+
* <p>Unit is percentage with a resolution of 1</p>
|
|
269
|
+
*/
|
|
270
|
+
spo2prSpotCheckSpO2: number;
|
|
271
|
+
/** <p>Unit is smallest unit in seconds with a resolution of 1</p> */
|
|
272
|
+
timestamp?: DateTime | undefined;
|
|
273
|
+
/**
|
|
274
|
+
* | value | description |
|
|
275
|
+
* | ----- | ----------- |
|
|
276
|
+
* | 0 | False |
|
|
277
|
+
* | 1 | True |
|
|
278
|
+
*/
|
|
279
|
+
unknownSensorConnected: number;
|
|
280
|
+
/**
|
|
281
|
+
* | value | description |
|
|
282
|
+
* | ----- | ----------- |
|
|
283
|
+
* | 0 | False |
|
|
284
|
+
* | 1 | True |
|
|
285
|
+
*/
|
|
286
|
+
validatedData: number;
|
|
287
|
+
}
|
|
288
|
+
/** @see {@link https://raw.githubusercontent.com/oesmith/gatt-xml/refs/heads/master/org.bluetooth.characteristic.plx_spot_check_measurement.xml | Plx Spot Check Measurement} */
|
|
289
|
+
export declare class PlxSpotCheckMeasurementImpl implements PlxSpotCheckMeasurement {
|
|
290
|
+
static readonly UUID_PREFIX = 10846;
|
|
291
|
+
static readonly TYPE_NAME = "org.bluetooth.characteristic.plx_spot_check_measurement";
|
|
292
|
+
static readonly NAME = "PLX Spot-Check Measurement";
|
|
293
|
+
/** Parse from a DataView into {@link PlxSpotCheckMeasurement}. */
|
|
294
|
+
static fromDataView(dataView: DataView | DataViewReader, indexStart?: number | undefined): PlxSpotCheckMeasurementImpl;
|
|
295
|
+
readonly calibrationOngoing: number;
|
|
296
|
+
readonly dataForDemonstration: number;
|
|
297
|
+
readonly dataForTesting: number;
|
|
298
|
+
readonly dataFromMeasurementStorage: number;
|
|
299
|
+
readonly deviceAndSensorStatus: number;
|
|
300
|
+
readonly deviceClockIsNotSet: number;
|
|
301
|
+
readonly earlyEstimatedData: number;
|
|
302
|
+
readonly equipmentMalfunctionDetected: number;
|
|
303
|
+
readonly erraticSignalDetected: number;
|
|
304
|
+
readonly extendedDisplayUpdateOngoing: number;
|
|
305
|
+
readonly flags: number;
|
|
306
|
+
readonly fullyQualifiedData: number;
|
|
307
|
+
readonly inadequiteSignalDetected: number;
|
|
308
|
+
readonly invalidMeasurementDetected: number;
|
|
309
|
+
readonly lowPerfusionDetected: number;
|
|
310
|
+
readonly measurementOngoing: number;
|
|
311
|
+
readonly measurementStatus: number;
|
|
312
|
+
readonly measurementUnavailable: number;
|
|
313
|
+
readonly nonpulsatileSignalDetected: number;
|
|
314
|
+
readonly poorSignalDetected: number;
|
|
315
|
+
readonly pulseAmplitudeIndex?: number | undefined;
|
|
316
|
+
readonly questionableMeasurementDetected: number;
|
|
317
|
+
readonly questionablePulseDetected: number;
|
|
318
|
+
readonly sensorDisconnected: number;
|
|
319
|
+
readonly sensorDisplaced: number;
|
|
320
|
+
readonly sensorInterfaceDetected: number;
|
|
321
|
+
readonly sensorMalfunctioning: number;
|
|
322
|
+
readonly sensorUnconnectedToUser: number;
|
|
323
|
+
readonly signalAnalysisOngoing: number;
|
|
324
|
+
readonly signalProcessingIrregularityDetected: number;
|
|
325
|
+
readonly spo2prSpotCheckPR: number;
|
|
326
|
+
readonly spo2prSpotCheckSpO2: number;
|
|
327
|
+
readonly timestamp?: DateTime | undefined;
|
|
328
|
+
readonly unknownSensorConnected: number;
|
|
329
|
+
readonly validatedData: number;
|
|
330
|
+
constructor(plxSpotCheckMeasurement: PlxSpotCheckMeasurement);
|
|
331
|
+
}
|
|
332
|
+
/** Parse from a DataView into {@link PlxSpotCheckMeasurement}. */
|
|
333
|
+
export declare function plxSpotCheckMeasurementFromDataView(dataView: DataView | DataViewReader, indexStart?: number): PlxSpotCheckMeasurement;
|
|
334
|
+
//# sourceMappingURL=plx-spot-check-measurement.d.ts.map
|