@ovok/native 1.16.1-dev.2129 → 1.16.1-dev.2133
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/services/devices/bt-managed-device.js +13 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.js +4 -7
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.decorators.js +106 -0
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.decorators.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +38 -31
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.frame.js +41 -0
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.frame.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +22 -24
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
- package/lib/commonjs/modules/bt-management/utils/device-user.js +22 -0
- package/lib/commonjs/modules/bt-management/utils/device-user.js.map +1 -0
- package/lib/commonjs/modules/bt-management/utils/kpa-to-mmhg.js +9 -0
- package/lib/commonjs/modules/bt-management/utils/kpa-to-mmhg.js.map +1 -0
- package/lib/commonjs/modules/bt-management/utils/rr-interval.js +16 -0
- package/lib/commonjs/modules/bt-management/utils/rr-interval.js.map +1 -0
- package/lib/commonjs/modules/bt-management/utils/temperature-type.js +15 -0
- package/lib/commonjs/modules/bt-management/utils/temperature-type.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/index.js +6 -0
- package/lib/commonjs/modules/next/bluetooth/index.js.map +1 -1
- package/lib/commonjs/modules/next/bluetooth/result-policy.js +10 -2
- package/lib/commonjs/modules/next/bluetooth/result-policy.js.map +1 -1
- package/lib/commonjs/modules/next/bluetooth/sig-profiles.js +46 -13
- package/lib/commonjs/modules/next/bluetooth/sig-profiles.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +13 -1
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.js +1 -4
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.decorators.js +99 -0
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.decorators.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +38 -31
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.frame.js +35 -0
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.frame.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +18 -20
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
- package/lib/module/modules/bt-management/utils/device-user.js +17 -0
- package/lib/module/modules/bt-management/utils/device-user.js.map +1 -0
- package/lib/module/modules/bt-management/utils/kpa-to-mmhg.js +6 -0
- package/lib/module/modules/bt-management/utils/kpa-to-mmhg.js.map +1 -0
- package/lib/module/modules/bt-management/utils/rr-interval.js +12 -0
- package/lib/module/modules/bt-management/utils/rr-interval.js.map +1 -0
- package/lib/module/modules/bt-management/utils/temperature-type.js +11 -0
- package/lib/module/modules/bt-management/utils/temperature-type.js.map +1 -0
- package/lib/module/modules/next/bluetooth/index.js +1 -1
- package/lib/module/modules/next/bluetooth/index.js.map +1 -1
- package/lib/module/modules/next/bluetooth/result-policy.js +8 -1
- package/lib/module/modules/next/bluetooth/result-policy.js.map +1 -1
- package/lib/module/modules/next/bluetooth/sig-profiles.js +44 -11
- package/lib/module/modules/next/bluetooth/sig-profiles.js.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +2 -0
- 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/standard-gatt/standard-gatt.blood-pressure-status.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.decorators.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.decorators.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +5 -2
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.frame.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.frame.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/utils/device-user.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/device-user.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/kpa-to-mmhg.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/kpa-to-mmhg.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/rr-interval.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/rr-interval.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/temperature-type.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/temperature-type.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/index.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/result-policy.d.ts +6 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/result-policy.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/sig-profiles.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +2 -0
- 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/standard-gatt/standard-gatt.blood-pressure-status.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.decorators.d.ts +11 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.decorators.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +5 -2
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.frame.d.ts +10 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.frame.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts +6 -0
- package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/utils/device-user.d.ts +6 -0
- package/lib/typescript/module/src/modules/bt-management/utils/device-user.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/utils/kpa-to-mmhg.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/utils/kpa-to-mmhg.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/utils/rr-interval.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/utils/rr-interval.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/utils/temperature-type.d.ts +7 -0
- package/lib/typescript/module/src/modules/bt-management/utils/temperature-type.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/index.d.ts +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/result-policy.d.ts +6 -1
- package/lib/typescript/module/src/modules/next/bluetooth/result-policy.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/sig-profiles.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
import { MeasurementTypeKey } from "@ovok/core/next";
|
|
4
4
|
import { BloodPressureStates } from "../../bt-management/types/blood-pressure-states.js";
|
|
5
|
+
import { memorySlotForDeviceUser } from "../../bt-management/utils/device-user.js";
|
|
6
|
+
import { KPA_TO_MMHG } from "../../bt-management/utils/kpa-to-mmhg.js";
|
|
7
|
+
import { rrIntervalMilliseconds } from "../../bt-management/utils/rr-interval.js";
|
|
5
8
|
import { sigUuid } from "../../bt-management/utils/sig-uuid.js";
|
|
9
|
+
import { temperatureTypeFromCode } from "../../bt-management/utils/temperature-type.js";
|
|
6
10
|
import { dateTimeAt, decodeFrame, floatAt, roundTo, sfloatAt, withDefined } from "./sig-values.js";
|
|
7
|
-
const KPA_TO_MMHG = 7.50062;
|
|
8
11
|
const KG_PER_SI_COUNT = 0.005;
|
|
9
12
|
const KG_PER_IMPERIAL_COUNT = 0.01 * 0.45359237;
|
|
10
13
|
const WEIGHT_UNSUCCESSFUL = 0xffff;
|
|
@@ -19,15 +22,29 @@ const BP_LOOSE_CUFF = 0x02;
|
|
|
19
22
|
const BP_IRREGULAR_PULSE = 0x04;
|
|
20
23
|
const TEMPERATURE_FAHRENHEIT = 0x01;
|
|
21
24
|
const TEMPERATURE_TIMESTAMP = 0x02;
|
|
25
|
+
const TEMPERATURE_TYPE = 0x04;
|
|
26
|
+
const TEMPERATURE_TIMESTAMP_OFFSET = 5;
|
|
22
27
|
const WEIGHT_IMPERIAL = 0x01;
|
|
23
28
|
const WEIGHT_TIMESTAMP = 0x02;
|
|
29
|
+
const WEIGHT_USER = 0x04;
|
|
30
|
+
const WEIGHT_TIMESTAMP_OFFSET = 3;
|
|
24
31
|
const PLX_TIMESTAMP = 0x01;
|
|
25
32
|
const HEART_RATE_UINT16 = 0x01;
|
|
26
33
|
const HEART_RATE_CONTACT_BITS = 0x06;
|
|
27
34
|
const HEART_RATE_NO_CONTACT = 0x04;
|
|
35
|
+
const HEART_RATE_ENERGY_EXPENDED = 0x08;
|
|
36
|
+
const HEART_RATE_RR_INTERVALS = 0x10;
|
|
37
|
+
const UINT8_BYTES = 1;
|
|
38
|
+
const UINT16_BYTES = 2;
|
|
28
39
|
|
|
29
40
|
/** Core does not export its status enum; this one has the same values. */
|
|
30
41
|
|
|
42
|
+
/** Core's temperature has no body site, so it rides along on the reading as `memorySlot` does on blood pressure. */
|
|
43
|
+
|
|
44
|
+
/** The device user, carried the way blood pressure carries it. */
|
|
45
|
+
|
|
46
|
+
/** Core's heart rate has no RR intervals, so they ride along on the reading, in milliseconds. */
|
|
47
|
+
|
|
31
48
|
const bloodPressureStatus = status => {
|
|
32
49
|
if (status & BP_BODY_MOVEMENT) {
|
|
33
50
|
return BloodPressureStates.DISTURB_DETECTED;
|
|
@@ -48,8 +65,7 @@ const bloodPressureExtras = (view, flags) => {
|
|
|
48
65
|
offset += 2;
|
|
49
66
|
}
|
|
50
67
|
if (flags & BP_USER) {
|
|
51
|
-
|
|
52
|
-
extras.memorySlot = user < 2 ? user + 1 : undefined;
|
|
68
|
+
extras.memorySlot = memorySlotForDeviceUser(view.getUint8(offset));
|
|
53
69
|
offset += 1;
|
|
54
70
|
}
|
|
55
71
|
if (flags & BP_STATUS) {
|
|
@@ -86,13 +102,16 @@ const temperature = view => {
|
|
|
86
102
|
if (value === undefined) {
|
|
87
103
|
return undefined;
|
|
88
104
|
}
|
|
105
|
+
const hasTimestamp = Boolean(flags & TEMPERATURE_TIMESTAMP);
|
|
106
|
+
const typeOffset = TEMPERATURE_TIMESTAMP_OFFSET + (hasTimestamp ? DATE_TIME_BYTES : 0);
|
|
89
107
|
const reading = {
|
|
90
108
|
measurementTypeKey: MeasurementTypeKey.temperature,
|
|
91
109
|
bodyTemp: flags & TEMPERATURE_FAHRENHEIT ? roundTo((value - 32) * 5 / 9, 2) : value
|
|
92
110
|
};
|
|
93
|
-
return
|
|
94
|
-
recordedAt: dateTimeAt(view,
|
|
95
|
-
|
|
111
|
+
return withDefined(reading, {
|
|
112
|
+
recordedAt: hasTimestamp ? dateTimeAt(view, TEMPERATURE_TIMESTAMP_OFFSET) : undefined,
|
|
113
|
+
temperatureType: flags & TEMPERATURE_TYPE ? temperatureTypeFromCode(view.getUint8(typeOffset)) : undefined
|
|
114
|
+
});
|
|
96
115
|
};
|
|
97
116
|
|
|
98
117
|
/** Weight Measurement 0x2A9D, in kilograms. */
|
|
@@ -102,13 +121,16 @@ const bodyWeight = view => {
|
|
|
102
121
|
if (counts === WEIGHT_UNSUCCESSFUL) {
|
|
103
122
|
return undefined;
|
|
104
123
|
}
|
|
124
|
+
const hasTimestamp = Boolean(flags & WEIGHT_TIMESTAMP);
|
|
125
|
+
const userOffset = WEIGHT_TIMESTAMP_OFFSET + (hasTimestamp ? DATE_TIME_BYTES : 0);
|
|
105
126
|
const reading = {
|
|
106
127
|
measurementTypeKey: MeasurementTypeKey.bodyWeight,
|
|
107
128
|
bodyWeight: roundTo(counts * (flags & WEIGHT_IMPERIAL ? KG_PER_IMPERIAL_COUNT : KG_PER_SI_COUNT), 3)
|
|
108
129
|
};
|
|
109
|
-
return
|
|
110
|
-
recordedAt: dateTimeAt(view,
|
|
111
|
-
|
|
130
|
+
return withDefined(reading, {
|
|
131
|
+
recordedAt: hasTimestamp ? dateTimeAt(view, WEIGHT_TIMESTAMP_OFFSET) : undefined,
|
|
132
|
+
memorySlot: flags & WEIGHT_USER ? memorySlotForDeviceUser(view.getUint8(userOffset)) : undefined
|
|
133
|
+
});
|
|
112
134
|
};
|
|
113
135
|
|
|
114
136
|
/** PLX Spot-Check Measurement 0x2A5E. */
|
|
@@ -129,17 +151,28 @@ const pulseOximetry = view => {
|
|
|
129
151
|
}) : reading;
|
|
130
152
|
};
|
|
131
153
|
|
|
154
|
+
/** The RR intervals from `offset` to the end of the frame, in milliseconds. */
|
|
155
|
+
const rrIntervalsFrom = (view, offset) => Array.from({
|
|
156
|
+
length: Math.floor((view.byteLength - offset) / UINT16_BYTES)
|
|
157
|
+
}, (_, index) => rrIntervalMilliseconds(view.getUint16(offset + index * UINT16_BYTES, true)));
|
|
158
|
+
|
|
132
159
|
/** Heart Rate Measurement 0x2A37; a strap reporting no skin contact has no reading. */
|
|
133
160
|
const heartRate = view => {
|
|
134
161
|
const flags = view.getUint8(0);
|
|
135
162
|
if ((flags & HEART_RATE_CONTACT_BITS) === HEART_RATE_NO_CONTACT) {
|
|
136
163
|
return undefined;
|
|
137
164
|
}
|
|
165
|
+
const hasUint16 = Boolean(flags & HEART_RATE_UINT16);
|
|
166
|
+
const rrOffset = 1 + (hasUint16 ? UINT16_BYTES : UINT8_BYTES) + (flags & HEART_RATE_ENERGY_EXPENDED ? UINT16_BYTES : 0);
|
|
167
|
+
const rrIntervals = flags & HEART_RATE_RR_INTERVALS ? rrIntervalsFrom(view, rrOffset) : [];
|
|
138
168
|
const reading = {
|
|
139
169
|
measurementTypeKey: MeasurementTypeKey.heartRate,
|
|
140
|
-
heartRate:
|
|
170
|
+
heartRate: hasUint16 ? view.getUint16(1, true) : view.getUint8(1)
|
|
141
171
|
};
|
|
142
|
-
return
|
|
172
|
+
return rrIntervals.length > 0 ? {
|
|
173
|
+
...reading,
|
|
174
|
+
rrIntervals
|
|
175
|
+
} : reading;
|
|
143
176
|
};
|
|
144
177
|
const subscribed = (service, characteristic, decode) => async function* (link) {
|
|
145
178
|
for await (const frame of link.subscribe(sigUuid(service), sigUuid(characteristic))) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","BloodPressureStates","sigUuid","dateTimeAt","decodeFrame","floatAt","roundTo","sfloatAt","withDefined","
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","BloodPressureStates","memorySlotForDeviceUser","KPA_TO_MMHG","rrIntervalMilliseconds","sigUuid","temperatureTypeFromCode","dateTimeAt","decodeFrame","floatAt","roundTo","sfloatAt","withDefined","KG_PER_SI_COUNT","KG_PER_IMPERIAL_COUNT","WEIGHT_UNSUCCESSFUL","DATE_TIME_BYTES","BP_KPA","BP_TIMESTAMP","BP_PULSE","BP_USER","BP_STATUS","BP_BODY_MOVEMENT","BP_LOOSE_CUFF","BP_IRREGULAR_PULSE","TEMPERATURE_FAHRENHEIT","TEMPERATURE_TIMESTAMP","TEMPERATURE_TYPE","TEMPERATURE_TIMESTAMP_OFFSET","WEIGHT_IMPERIAL","WEIGHT_TIMESTAMP","WEIGHT_USER","WEIGHT_TIMESTAMP_OFFSET","PLX_TIMESTAMP","HEART_RATE_UINT16","HEART_RATE_CONTACT_BITS","HEART_RATE_NO_CONTACT","HEART_RATE_ENERGY_EXPENDED","HEART_RATE_RR_INTERVALS","UINT8_BYTES","UINT16_BYTES","bloodPressureStatus","status","DISTURB_DETECTED","LOOSE_SLEEVE","REGULAR","bloodPressureExtras","view","flags","offset","extras","recordedAt","heartRate","memorySlot","getUint8","getUint16","irregularHeartbeat","undefined","bloodPressure","pressure","value","systolic","diastolic","mean","map","reading","measurementTypeKey","meanArterialPressure","temperature","hasTimestamp","Boolean","typeOffset","bodyTemp","temperatureType","bodyWeight","counts","userOffset","pulseOximetry","bloodOxygen","pulseRate","bloodOxygenPulseRate","rrIntervalsFrom","Array","from","length","Math","floor","byteLength","_","index","hasUint16","rrOffset","rrIntervals","subscribed","service","characteristic","decode","link","frame","subscribe","SIG_PROTOCOLS","Map"],"sourceRoot":"../../../../../src","sources":["modules/next/bluetooth/sig-profiles.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts
CHANGED
|
@@ -30,6 +30,8 @@ export declare abstract class BTManagedDevice<T extends DeviceKey = IntegratedDe
|
|
|
30
30
|
private dataProcessor;
|
|
31
31
|
private readonly oneReadingPerConnection;
|
|
32
32
|
private readonly resultPolicy;
|
|
33
|
+
/** A policy that picks how results are delivered replaces `oneReadingPerConnection`; a user filter does not. */
|
|
34
|
+
private readonly policyPicksDelivery;
|
|
33
35
|
private resultReportedThisConnection;
|
|
34
36
|
private historyTransferActive;
|
|
35
37
|
private bondedEventReported;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bt-managed-device.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-managed-device.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AASxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,OAAO,EAAsB,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"bt-managed-device.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-managed-device.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AASxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,OAAO,EAAsB,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAU7E;;;GAGG;AACH,8BAAsB,eAAe,CAAC,CAAC,SAAS,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAC/E,YAAW,gBAAgB;IAgJzB,iCAAiC;aACjB,MAAM,EAAE,MAAM;IA/IhC,wDAAwD;IACjD,EAAE,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAEP;IACd,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAU;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiC;IAE9D,gHAAgH;IAChH,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAC9C,OAAO,CAAC,4BAA4B,CAAS;IAC7C,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,wBAAwB,CAAiC;IACjE,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,kBAAkB,CAAK;IAE/B,uFAAuF;IAChF,UAAU,EAAE,UAAU,CAAC;IAE9B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAE5C;;;OAGG;IACH,SAAS,CAAC,+BAA+B,IAAI,kBAAkB,EAAE;IAQjE;;;;;;;OAOG;IACH,SAAS,CAAC,qBAAqB,CAAC,EAAE,CAChC,IAAI,EAAE,4BAA4B,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAC/D,4BAA4B,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAElE,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAE/D;;;;;;;;;OASG;IACH,SAAS,CAAC,sBAAsB,CAAC,EAAE,MAAM,gBAAgB,CAAC;IAE1D;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IAEpC;;;;;OAKG;IACH,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEhC,8EAA8E;IAC9E,SAAS,CAAC,kBAAkB,UAAS;IAErC;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACrE,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAErC,sFAAsF;IACtF,SAAS,CAAC,mBAAmB,CAC3B,cAAc,EAAE,uBAAuB,CAAC,WAAW,CAAC,EACpD,gBAAgB,EAAE,MAAM,EAAE,GACzB,IAAI,GAAG,OAAO;IAIjB,6EAA6E;IAC7E,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAEtC,4DAA4D;IACrD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC;IAE5D,iDAAiD;IAC1C,qBAAqB,CAAC,EAAE,CAC7B,MAAM,EAAE,YAAY,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,KACpC,IAAI,CAAC;IAEV,wFAAwF;IACjF,QAAQ,CAAC,EAAE,CAChB,IAAI,EAAE,uBAAuB,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAC1D,IAAI,CAAC;IAEV,0CAA0C;IACnC,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEzC,4FAA4F;IACrF,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAEjE,6CAA6C;IAC7C,SAAS,CAAC,SAAS,GAAI,oBAAoB,kBAAkB,KAAG,YAAY,CAGpE;IAER,2FAA2F;IAC3F,SAAS,CAAC,YAAY,GAAI,QAAQ,MAAM,KAAG,IAAI,CAG3C;;IAIF,iCAAiC;IACjB,MAAM,EAAE,MAAM,EAE9B,EACE,UAAU,EACV,OAAO,EAAE,eAAe,EACxB,qBAAqB,EAAE,6BAA6B,EACpD,QAAQ,EAAE,gBAAgB,EAC1B,aAAa,EAAE,qBAAqB,EACpC,iBAAiB,EAAE,yBAAyB,EAC5C,oBAAoB,EAAE,4BAA4B,EAClD,uBAAuB,EACvB,YAAY,GACb,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAoK1B,yEAAyE;IAClE,OAAO,aAUZ;IAEF,uEAAuE;IAChE,UAAU,sBAaf;IAEF,OAAO,CAAC,eAAe,CA2GrB;IAEF;;;;;;OAMG;IACI,OAAO,QAAO,OAAO,CAAC,IAAI,CAAC,CAkBhC;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard-gatt.blood-pressure-status.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"standard-gatt.blood-pressure-status.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,4BAA4B,GAChC,OAAO,SAAS,MAAM,EAAE,EACxB,qBAAgB,KACf,MAAM,GAAG,SA2BX,CAAC;AAEF,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CustomReadingDecorator } from "../../../types/custom-device-definition";
|
|
2
|
+
/** Temperature Measurement 0x2A1C: the device's own timestamp and where on the body it measured. */
|
|
3
|
+
declare const decorateThermometerReading: CustomReadingDecorator;
|
|
4
|
+
/** Weight Measurement 0x2A9D: withholds an unsuccessful weight, adds the timestamp and the device user. */
|
|
5
|
+
declare const decorateWeightReading: CustomReadingDecorator;
|
|
6
|
+
/** PLX Spot-Check Measurement 0x2A5E: the device's own timestamp. */
|
|
7
|
+
declare const decoratePulseOximeterReading: CustomReadingDecorator;
|
|
8
|
+
/** Heart Rate Measurement 0x2A37: the RR intervals, when the strap sends them. */
|
|
9
|
+
declare const decorateHeartRateReading: CustomReadingDecorator;
|
|
10
|
+
export { decorateHeartRateReading, decoratePulseOximeterReading, decorateThermometerReading, decorateWeightReading, };
|
|
11
|
+
//# sourceMappingURL=standard-gatt.decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standard-gatt.decorators.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAoDjF,oGAAoG;AACpG,QAAA,MAAM,0BAA0B,EAAE,sBA4BjC,CAAC;AAEF,2GAA2G;AAC3G,QAAA,MAAM,qBAAqB,EAAE,sBA+B5B,CAAC;AAEF,qEAAqE;AACrE,QAAA,MAAM,4BAA4B,EAAE,sBAcnC,CAAC;AA0BF,kFAAkF;AAClF,QAAA,MAAM,wBAAwB,EAAE,sBAc/B,CAAC;AAEF,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,0BAA0B,EAC1B,qBAAqB,GACtB,CAAC"}
|
|
@@ -9,20 +9,23 @@ declare const standardThermometerDevice: (params: StandardDeviceParams) => Custo
|
|
|
9
9
|
* Weight Scale Service 0x181D, Weight Measurement 0x2A9D.
|
|
10
10
|
*
|
|
11
11
|
* The reading is a scaled integer rather than a float, so the resolution is applied here.
|
|
12
|
+
* A weight of 0xFFFF means the measurement failed, so it yields no reading.
|
|
12
13
|
*/
|
|
13
14
|
declare const standardWeightScaleDevice: (params: StandardDeviceParams) => CustomDeviceDefinition;
|
|
14
15
|
/**
|
|
15
16
|
* Pulse Oximeter Service 0x1822, PLX Spot-Check Measurement 0x2A5E.
|
|
16
17
|
*
|
|
17
18
|
* Saturation and pulse rate are both required by the catalog, which matches the
|
|
18
|
-
* specification: a spot-check measurement always carries both
|
|
19
|
+
* specification: a spot-check measurement always carries both, at bytes 1-4 whatever the
|
|
20
|
+
* flags say, so every flags value selects the same fields. The optional ones follow them.
|
|
19
21
|
*/
|
|
20
22
|
declare const standardPulseOximeterDevice: (params: StandardDeviceParams) => CustomDeviceDefinition;
|
|
21
23
|
/**
|
|
22
24
|
* Heart Rate Service 0x180D, Heart Rate Measurement 0x2A37.
|
|
23
25
|
*
|
|
24
26
|
* Both heart-rate layouts are declared. A contact-not-detected frame is idle, so it cannot
|
|
25
|
-
* become a false reading while the strap is off the body.
|
|
27
|
+
* become a false reading while the strap is off the body. RR intervals, a list of any
|
|
28
|
+
* length, are read from the frame by the decorator and reported as `rrIntervals`.
|
|
26
29
|
*/
|
|
27
30
|
declare const standardHeartRateDevice: (params: StandardDeviceParams) => CustomDeviceDefinition;
|
|
28
31
|
export { standardBloodPressureDevice, standardGlucoseDevice, standardHeartRateDevice, standardPulseOximeterDevice, standardThermometerDevice, standardWeightScaleDevice, };
|
|
@@ -1 +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":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;
|
|
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":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAWjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAIL,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AA+DjC,8DAA8D;AAC9D,QAAA,MAAM,2BAA2B,GAC/B,QAAQ,oBAAoB,KAC3B,sBA6BC,CAAC;AAEL,yEAAyE;AACzE,QAAA,MAAM,yBAAyB,GAC7B,QAAQ,oBAAoB,KAC3B,sBA6CC,CAAC;AAKL;;;;;GAKG;AACH,QAAA,MAAM,yBAAyB,GAC7B,QAAQ,oBAAoB,KAC3B,sBAiCC,CAAC;AAEL;;;;;;GAMG;AACH,QAAA,MAAM,2BAA2B,GAC/B,QAAQ,oBAAoB,KAC3B,sBAYC,CAAC;AAYL;;;;;;GAMG;AACH,QAAA,MAAM,uBAAuB,GAC3B,QAAQ,oBAAoB,KAC3B,sBA+BC,CAAC;AAEL,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,GAC1B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** The Bluetooth SIG Date Time characteristic is seven bytes long. */
|
|
2
|
+
declare const DATE_TIME_BYTES = 7;
|
|
3
|
+
/** The byte at `index` of a record that starts at `offset`; undefined when the frame ends first. */
|
|
4
|
+
declare const byteAt: (frame: readonly string[], index: number, offset: number) => number | undefined;
|
|
5
|
+
/** Reads a SIG Date Time at `index` as a phone-local date; undefined for missing or impossible fields. */
|
|
6
|
+
declare const dateTimeAt: (frame: readonly string[], index: number, offset?: number) => Date | undefined;
|
|
7
|
+
/** `reading` plus each of `metadata` that has a value. */
|
|
8
|
+
declare const withDefinedMetadata: <T extends object>(reading: T, metadata: Readonly<Record<string, unknown>>) => T;
|
|
9
|
+
export { byteAt, DATE_TIME_BYTES, dateTimeAt, withDefinedMetadata };
|
|
10
|
+
//# sourceMappingURL=standard-gatt.frame.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standard-gatt.frame.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.frame.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,QAAA,MAAM,eAAe,IAAI,CAAC;AAE1B,oGAAoG;AACpG,QAAA,MAAM,MAAM,GACV,OAAO,SAAS,MAAM,EAAE,EACxB,OAAO,MAAM,EACb,QAAQ,MAAM,KACb,MAAM,GAAG,SAMX,CAAC;AAEF,0GAA0G;AAC1G,QAAA,MAAM,UAAU,GACd,OAAO,SAAS,MAAM,EAAE,EACxB,OAAO,MAAM,EACb,eAAU,KACT,IAAI,GAAG,SAgCT,CAAC;AAEF,0DAA0D;AAC1D,QAAA,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,EAC3C,SAAS,CAAC,EACV,UAAU,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAC1C,CAKD,CAAC;AAEH,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -20,6 +20,8 @@ interface ProfileSpec {
|
|
|
20
20
|
/** Shortest frame the profile guarantees, which bounds every field a case may read. */
|
|
21
21
|
minLengthBytes: number;
|
|
22
22
|
measurementTypeKey: MeasurementTypeKey;
|
|
23
|
+
/** Adds what the declared fields cannot carry, such as the timestamp or the device user; runs before the caller's. */
|
|
24
|
+
decorateReading?: CustomReadingDecorator;
|
|
23
25
|
/** Flags-byte values whose layout matches `fields`, in canonical units. */
|
|
24
26
|
selectors: readonly string[];
|
|
25
27
|
/** Per-flag field variants, used when the profile reports a convertible unit. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard-gatt.profile.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"standard-gatt.profile.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAKnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAMrF,UAAU,oBAAoB;IAE5B,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,oEAAoE;IACpE,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC,iFAAiF;IACjF,eAAe,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AAED,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IAEvB,uFAAuF;IACvF,cAAc,EAAE,MAAM,CAAC;IAEvB,kBAAkB,EAAE,kBAAkB,CAAC;IAEvC,sHAAsH;IACtH,eAAe,CAAC,EAAE,sBAAsB,CAAC;IAEzC,2EAA2E;IAC3E,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAE7B,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC,CAAC,CAAC;IAExE,6FAA6F;IAC7F,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IAEnC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,QAAQ,CACvB,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CACtE,CAAC;CACH;AAkBD;;;;;GAKG;AACH,QAAA,MAAM,cAAc,GAClB,QAAQ,oBAAoB,EAC5B,SAAS,WAAW,KACnB,sBA2CA,CAAC;AAEJ,QAAA,MAAM,YAAY,GAChB,MAAM,MAAM,EACZ,aAAa,MAAM,EAAE,EACrB,MAAM,MAAM,EACZ,UAAU,eAAe,CAAC,UAAU,CAAC,KACpC,eAMD,CAAC;AAEH,oEAAoE;AACpE,QAAA,MAAM,gCAAgC,GACpC,OAAO,SAAS,MAAM,EAAE,EACxB,eAAU,KACT,IAAI,GAAG,SAMT,CAAC;AAEF,QAAA,MAAM,4BAA4B,EAAE,sBA4DnC,CAAC;AAEF,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,cAAc,EACd,YAAY,EACZ,gCAAgC,GACjC,CAAC;AACF,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -14,5 +14,11 @@ export interface DeviceResultPolicy {
|
|
|
14
14
|
default?: ResultPolicy;
|
|
15
15
|
/** Policy overrides per measurement type. */
|
|
16
16
|
byMeasurement?: ResultPolicyByMeasurement;
|
|
17
|
+
/**
|
|
18
|
+
* The device users whose readings are reported, by memory slot (a multi-user device reports its user as
|
|
19
|
+
* `memorySlot`, starting at 1). Readings of other users are dropped; a reading that names no device user is kept.
|
|
20
|
+
* Without it every user's readings are reported.
|
|
21
|
+
*/
|
|
22
|
+
acceptedMemorySlots?: readonly number[];
|
|
17
23
|
}
|
|
18
24
|
//# sourceMappingURL=result-policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result-policy.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/result-policy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,6DAA6D;AAC7D,MAAM,MAAM,YAAY,GACpB,KAAK,GACL,mBAAmB,GACnB,uCAAuC;AAEzC;;;GAGG;GACD,QAAQ,CAAC;AAEb,0CAA0C;AAC1C,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAC7C,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,CACzC,CAAC;AAEF,mCAAmC;AACnC,MAAM,WAAW,kBAAkB;IAEjC,4DAA4D;IAC5D,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"result-policy.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/result-policy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,6DAA6D;AAC7D,MAAM,MAAM,YAAY,GACpB,KAAK,GACL,mBAAmB,GACnB,uCAAuC;AAEzC;;;GAGG;GACD,QAAQ,CAAC;AAEb,0CAA0C;AAC1C,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAC7C,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,CACzC,CAAC;AAEF,mCAAmC;AACnC,MAAM,WAAW,kBAAkB;IAEjC,4DAA4D;IAC5D,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAE1C;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** The memory slot of a SIG device user: users count from 0, slots from 1; the unknown user has none. */
|
|
2
|
+
declare const memorySlotForDeviceUser: (userId: number) => number | undefined;
|
|
3
|
+
/** Whether a reading is from one of the device users `slots`; a reading that names no device user is kept. */
|
|
4
|
+
declare const isFromAcceptedMemorySlot: (reading: object, slots: readonly number[]) => boolean;
|
|
5
|
+
export { isFromAcceptedMemorySlot, memorySlotForDeviceUser };
|
|
6
|
+
//# sourceMappingURL=device-user.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-user.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/utils/device-user.ts"],"names":[],"mappings":"AAGA,yGAAyG;AACzG,QAAA,MAAM,uBAAuB,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,SACF,CAAC;AAE1D,8GAA8G;AAC9G,QAAA,MAAM,wBAAwB,GAC5B,SAAS,MAAM,EACf,OAAO,SAAS,MAAM,EAAE,KACvB,OAIF,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kpa-to-mmhg.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/utils/kpa-to-mmhg.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,QAAA,MAAM,WAAW,UAAU,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rr-interval.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/utils/rr-interval.ts"],"names":[],"mappings":"AAOA,2EAA2E;AAC3E,QAAA,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,MAK9C,CAAC;AAEJ,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Where on the body a thermometer took its reading: the Bluetooth SIG Temperature Type. */
|
|
2
|
+
type TemperatureType = "armpit" | "body" | "ear" | "finger" | "gastrointestinal-tract" | "mouth" | "rectum" | "toe" | "tympanum";
|
|
3
|
+
/** The body site for a Temperature Type code; undefined for a reserved or unknown code. */
|
|
4
|
+
declare const temperatureTypeFromCode: (code: number) => TemperatureType | undefined;
|
|
5
|
+
export { temperatureTypeFromCode };
|
|
6
|
+
export type { TemperatureType };
|
|
7
|
+
//# sourceMappingURL=temperature-type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"temperature-type.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/utils/temperature-type.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,KAAK,eAAe,GAChB,QAAQ,GACR,MAAM,GACN,KAAK,GACL,QAAQ,GACR,wBAAwB,GACxB,OAAO,GACP,QAAQ,GACR,KAAK,GACL,UAAU,CAAC;AAef,2FAA2F;AAC3F,QAAA,MAAM,uBAAuB,GAAI,MAAM,MAAM,KAAG,eAAe,GAAG,SACrC,CAAC;AAE9B,OAAO,EAAE,uBAAuB,EAAE,CAAC;AACnC,YAAY,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -19,7 +19,7 @@ export { defineDevice } from "./devices";
|
|
|
19
19
|
export type { DeviceDefinition, DeviceMatch, DeviceSupport } from "./devices";
|
|
20
20
|
export type { DeviceEvent, DeviceProtocol, Driver } from "./driver";
|
|
21
21
|
export type { Link } from "./link";
|
|
22
|
-
export { dailyTotalsOnly, everyReading, firstReadingPerKind, keepReadings, policyByKind } from "./result-policy";
|
|
22
|
+
export { acceptedMemorySlots, dailyTotalsOnly, everyReading, firstReadingPerKind, keepReadings, policyByKind, } from "./result-policy";
|
|
23
23
|
export type { ResultPolicy } from "./result-policy";
|
|
24
24
|
export { SIG_PROTOCOLS } from "./sig-profiles";
|
|
25
25
|
export { bleManagerScanner } from "./ble-plx/ble-scanner";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/next/bluetooth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,YAAY,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC7G,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7F,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC/E,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC9E,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACpE,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/next/bluetooth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,YAAY,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC7G,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7F,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC/E,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC9E,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACpE,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,YAAY,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,YAAY,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAE7F,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClE,YAAY,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,YAAY,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -8,10 +8,15 @@ declare const everyReading: ResultPolicy;
|
|
|
8
8
|
declare const firstReadingPerKind: ResultPolicy;
|
|
9
9
|
/** Activity totals count only once their day has closed, and each day only once. */
|
|
10
10
|
declare const dailyTotalsOnly: ResultPolicy;
|
|
11
|
+
/**
|
|
12
|
+
* Keeps the readings of the device users in `slots` (a multi-user device reports its user as `memorySlot`, starting at
|
|
13
|
+
* 1), and drops the others. A reading that names no device user is kept.
|
|
14
|
+
*/
|
|
15
|
+
declare const acceptedMemorySlots: (slots: readonly number[]) => ResultPolicy;
|
|
11
16
|
/** Applies a policy per measurement type, and `fallback` to the other types. */
|
|
12
17
|
declare const policyByKind: (policies: Partial<Record<MeasurementTypeKey, ResultPolicy>>, fallback?: ResultPolicy) => ResultPolicy;
|
|
13
18
|
/** A driver's events minus the readings `policy` drops. */
|
|
14
19
|
declare function keepReadings(events: AsyncIterable<DeviceEvent>, policy: ResultPolicy): AsyncIterable<DeviceEvent>;
|
|
15
|
-
export { dailyTotalsOnly, everyReading, firstReadingPerKind, keepReadings, policyByKind };
|
|
20
|
+
export { acceptedMemorySlots, dailyTotalsOnly, everyReading, firstReadingPerKind, keepReadings, policyByKind };
|
|
16
21
|
export type { ResultPolicy };
|
|
17
22
|
//# sourceMappingURL=result-policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result-policy.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/next/bluetooth/result-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"result-policy.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/next/bluetooth/result-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAKlE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,sEAAsE;AACtE,KAAK,YAAY,GAAG,MAAM,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC;AAE5D,2BAA2B;AAC3B,QAAA,MAAM,YAAY,EAAE,YAA+B,CAAC;AAEpD,uEAAuE;AACvE,QAAA,MAAM,mBAAmB,EAAE,YAY1B,CAAC;AAEF,oFAAoF;AACpF,QAAA,MAAM,eAAe,EAAE,YAoBtB,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,mBAAmB,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,YACK,CAAC;AAE9D,gFAAgF;AAChF,QAAA,MAAM,YAAY,GAChB,UAAU,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC,EAC3D,WAAU,YAA2B,KACpC,YAkBA,CAAC;AAEJ,2DAA2D;AAC3D,iBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,YAAY,GAAG,aAAa,CAAC,WAAW,CAAC,CAQjH;AAED,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AAC/G,YAAY,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sig-profiles.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/next/bluetooth/sig-profiles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sig-profiles.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/next/bluetooth/sig-profiles.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAA2B,OAAO,EAA2C,MAAM,cAAc,CAAC;AAgFzG,kDAAkD;AAClD,QAAA,MAAM,aAAa,EAAE,OAmBpB,CAAC;AAEF,kDAAkD;AAClD,QAAA,MAAM,WAAW,EAAE,OAoBlB,CAAC;AAEF,+CAA+C;AAC/C,QAAA,MAAM,UAAU,EAAE,OAoBjB,CAAC;AAEF,yCAAyC;AACzC,QAAA,MAAM,aAAa,EAAE,OAgBpB,CAAC;AAOF,uFAAuF;AACvF,QAAA,MAAM,SAAS,EAAE,OAiBhB,CAAC;AAaF,mEAAmE;AACnE,QAAA,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAMrD,CAAC;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC"}
|
package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts
CHANGED
|
@@ -30,6 +30,8 @@ export declare abstract class BTManagedDevice<T extends DeviceKey = IntegratedDe
|
|
|
30
30
|
private dataProcessor;
|
|
31
31
|
private readonly oneReadingPerConnection;
|
|
32
32
|
private readonly resultPolicy;
|
|
33
|
+
/** A policy that picks how results are delivered replaces `oneReadingPerConnection`; a user filter does not. */
|
|
34
|
+
private readonly policyPicksDelivery;
|
|
33
35
|
private resultReportedThisConnection;
|
|
34
36
|
private historyTransferActive;
|
|
35
37
|
private bondedEventReported;
|
package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bt-managed-device.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-managed-device.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AASxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,OAAO,EAAsB,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"bt-managed-device.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/devices/bt-managed-device.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard-gatt.blood-pressure-status.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"standard-gatt.blood-pressure-status.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,4BAA4B,GAChC,OAAO,SAAS,MAAM,EAAE,EACxB,qBAAgB,KACf,MAAM,GAAG,SA2BX,CAAC;AAEF,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CustomReadingDecorator } from "../../../types/custom-device-definition";
|
|
2
|
+
/** Temperature Measurement 0x2A1C: the device's own timestamp and where on the body it measured. */
|
|
3
|
+
declare const decorateThermometerReading: CustomReadingDecorator;
|
|
4
|
+
/** Weight Measurement 0x2A9D: withholds an unsuccessful weight, adds the timestamp and the device user. */
|
|
5
|
+
declare const decorateWeightReading: CustomReadingDecorator;
|
|
6
|
+
/** PLX Spot-Check Measurement 0x2A5E: the device's own timestamp. */
|
|
7
|
+
declare const decoratePulseOximeterReading: CustomReadingDecorator;
|
|
8
|
+
/** Heart Rate Measurement 0x2A37: the RR intervals, when the strap sends them. */
|
|
9
|
+
declare const decorateHeartRateReading: CustomReadingDecorator;
|
|
10
|
+
export { decorateHeartRateReading, decoratePulseOximeterReading, decorateThermometerReading, decorateWeightReading, };
|
|
11
|
+
//# sourceMappingURL=standard-gatt.decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standard-gatt.decorators.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAoDjF,oGAAoG;AACpG,QAAA,MAAM,0BAA0B,EAAE,sBA4BjC,CAAC;AAEF,2GAA2G;AAC3G,QAAA,MAAM,qBAAqB,EAAE,sBA+B5B,CAAC;AAEF,qEAAqE;AACrE,QAAA,MAAM,4BAA4B,EAAE,sBAcnC,CAAC;AA0BF,kFAAkF;AAClF,QAAA,MAAM,wBAAwB,EAAE,sBAc/B,CAAC;AAEF,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,0BAA0B,EAC1B,qBAAqB,GACtB,CAAC"}
|
|
@@ -9,20 +9,23 @@ declare const standardThermometerDevice: (params: StandardDeviceParams) => Custo
|
|
|
9
9
|
* Weight Scale Service 0x181D, Weight Measurement 0x2A9D.
|
|
10
10
|
*
|
|
11
11
|
* The reading is a scaled integer rather than a float, so the resolution is applied here.
|
|
12
|
+
* A weight of 0xFFFF means the measurement failed, so it yields no reading.
|
|
12
13
|
*/
|
|
13
14
|
declare const standardWeightScaleDevice: (params: StandardDeviceParams) => CustomDeviceDefinition;
|
|
14
15
|
/**
|
|
15
16
|
* Pulse Oximeter Service 0x1822, PLX Spot-Check Measurement 0x2A5E.
|
|
16
17
|
*
|
|
17
18
|
* Saturation and pulse rate are both required by the catalog, which matches the
|
|
18
|
-
* specification: a spot-check measurement always carries both
|
|
19
|
+
* specification: a spot-check measurement always carries both, at bytes 1-4 whatever the
|
|
20
|
+
* flags say, so every flags value selects the same fields. The optional ones follow them.
|
|
19
21
|
*/
|
|
20
22
|
declare const standardPulseOximeterDevice: (params: StandardDeviceParams) => CustomDeviceDefinition;
|
|
21
23
|
/**
|
|
22
24
|
* Heart Rate Service 0x180D, Heart Rate Measurement 0x2A37.
|
|
23
25
|
*
|
|
24
26
|
* Both heart-rate layouts are declared. A contact-not-detected frame is idle, so it cannot
|
|
25
|
-
* become a false reading while the strap is off the body.
|
|
27
|
+
* become a false reading while the strap is off the body. RR intervals, a list of any
|
|
28
|
+
* length, are read from the frame by the decorator and reported as `rrIntervals`.
|
|
26
29
|
*/
|
|
27
30
|
declare const standardHeartRateDevice: (params: StandardDeviceParams) => CustomDeviceDefinition;
|
|
28
31
|
export { standardBloodPressureDevice, standardGlucoseDevice, standardHeartRateDevice, standardPulseOximeterDevice, standardThermometerDevice, standardWeightScaleDevice, };
|
|
@@ -1 +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":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;
|
|
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":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAWjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAIL,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AA+DjC,8DAA8D;AAC9D,QAAA,MAAM,2BAA2B,GAC/B,QAAQ,oBAAoB,KAC3B,sBA6BC,CAAC;AAEL,yEAAyE;AACzE,QAAA,MAAM,yBAAyB,GAC7B,QAAQ,oBAAoB,KAC3B,sBA6CC,CAAC;AAKL;;;;;GAKG;AACH,QAAA,MAAM,yBAAyB,GAC7B,QAAQ,oBAAoB,KAC3B,sBAiCC,CAAC;AAEL;;;;;;GAMG;AACH,QAAA,MAAM,2BAA2B,GAC/B,QAAQ,oBAAoB,KAC3B,sBAYC,CAAC;AAYL;;;;;;GAMG;AACH,QAAA,MAAM,uBAAuB,GAC3B,QAAQ,oBAAoB,KAC3B,sBA+BC,CAAC;AAEL,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,GAC1B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** The Bluetooth SIG Date Time characteristic is seven bytes long. */
|
|
2
|
+
declare const DATE_TIME_BYTES = 7;
|
|
3
|
+
/** The byte at `index` of a record that starts at `offset`; undefined when the frame ends first. */
|
|
4
|
+
declare const byteAt: (frame: readonly string[], index: number, offset: number) => number | undefined;
|
|
5
|
+
/** Reads a SIG Date Time at `index` as a phone-local date; undefined for missing or impossible fields. */
|
|
6
|
+
declare const dateTimeAt: (frame: readonly string[], index: number, offset?: number) => Date | undefined;
|
|
7
|
+
/** `reading` plus each of `metadata` that has a value. */
|
|
8
|
+
declare const withDefinedMetadata: <T extends object>(reading: T, metadata: Readonly<Record<string, unknown>>) => T;
|
|
9
|
+
export { byteAt, DATE_TIME_BYTES, dateTimeAt, withDefinedMetadata };
|
|
10
|
+
//# sourceMappingURL=standard-gatt.frame.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standard-gatt.frame.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.frame.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,QAAA,MAAM,eAAe,IAAI,CAAC;AAE1B,oGAAoG;AACpG,QAAA,MAAM,MAAM,GACV,OAAO,SAAS,MAAM,EAAE,EACxB,OAAO,MAAM,EACb,QAAQ,MAAM,KACb,MAAM,GAAG,SAMX,CAAC;AAEF,0GAA0G;AAC1G,QAAA,MAAM,UAAU,GACd,OAAO,SAAS,MAAM,EAAE,EACxB,OAAO,MAAM,EACb,eAAU,KACT,IAAI,GAAG,SAgCT,CAAC;AAEF,0DAA0D;AAC1D,QAAA,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,EAC3C,SAAS,CAAC,EACV,UAAU,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAC1C,CAKD,CAAC;AAEH,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -20,6 +20,8 @@ interface ProfileSpec {
|
|
|
20
20
|
/** Shortest frame the profile guarantees, which bounds every field a case may read. */
|
|
21
21
|
minLengthBytes: number;
|
|
22
22
|
measurementTypeKey: MeasurementTypeKey;
|
|
23
|
+
/** Adds what the declared fields cannot carry, such as the timestamp or the device user; runs before the caller's. */
|
|
24
|
+
decorateReading?: CustomReadingDecorator;
|
|
23
25
|
/** Flags-byte values whose layout matches `fields`, in canonical units. */
|
|
24
26
|
selectors: readonly string[];
|
|
25
27
|
/** Per-flag field variants, used when the profile reports a convertible unit. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard-gatt.profile.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"standard-gatt.profile.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAKnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAMrF,UAAU,oBAAoB;IAE5B,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,oEAAoE;IACpE,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC,iFAAiF;IACjF,eAAe,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AAED,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IAEvB,uFAAuF;IACvF,cAAc,EAAE,MAAM,CAAC;IAEvB,kBAAkB,EAAE,kBAAkB,CAAC;IAEvC,sHAAsH;IACtH,eAAe,CAAC,EAAE,sBAAsB,CAAC;IAEzC,2EAA2E;IAC3E,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAE7B,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC,CAAC,CAAC;IAExE,6FAA6F;IAC7F,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IAEnC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,QAAQ,CACvB,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CACtE,CAAC;CACH;AAkBD;;;;;GAKG;AACH,QAAA,MAAM,cAAc,GAClB,QAAQ,oBAAoB,EAC5B,SAAS,WAAW,KACnB,sBA2CA,CAAC;AAEJ,QAAA,MAAM,YAAY,GAChB,MAAM,MAAM,EACZ,aAAa,MAAM,EAAE,EACrB,MAAM,MAAM,EACZ,UAAU,eAAe,CAAC,UAAU,CAAC,KACpC,eAMD,CAAC;AAEH,oEAAoE;AACpE,QAAA,MAAM,gCAAgC,GACpC,OAAO,SAAS,MAAM,EAAE,EACxB,eAAU,KACT,IAAI,GAAG,SAMT,CAAC;AAEF,QAAA,MAAM,4BAA4B,EAAE,sBA4DnC,CAAC;AAEF,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,cAAc,EACd,YAAY,EACZ,gCAAgC,GACjC,CAAC;AACF,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -14,5 +14,11 @@ export interface DeviceResultPolicy {
|
|
|
14
14
|
default?: ResultPolicy;
|
|
15
15
|
/** Policy overrides per measurement type. */
|
|
16
16
|
byMeasurement?: ResultPolicyByMeasurement;
|
|
17
|
+
/**
|
|
18
|
+
* The device users whose readings are reported, by memory slot (a multi-user device reports its user as
|
|
19
|
+
* `memorySlot`, starting at 1). Readings of other users are dropped; a reading that names no device user is kept.
|
|
20
|
+
* Without it every user's readings are reported.
|
|
21
|
+
*/
|
|
22
|
+
acceptedMemorySlots?: readonly number[];
|
|
17
23
|
}
|
|
18
24
|
//# sourceMappingURL=result-policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result-policy.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/result-policy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,6DAA6D;AAC7D,MAAM,MAAM,YAAY,GACpB,KAAK,GACL,mBAAmB,GACnB,uCAAuC;AAEzC;;;GAGG;GACD,QAAQ,CAAC;AAEb,0CAA0C;AAC1C,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAC7C,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,CACzC,CAAC;AAEF,mCAAmC;AACnC,MAAM,WAAW,kBAAkB;IAEjC,4DAA4D;IAC5D,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"result-policy.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/result-policy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,6DAA6D;AAC7D,MAAM,MAAM,YAAY,GACpB,KAAK,GACL,mBAAmB,GACnB,uCAAuC;AAEzC;;;GAGG;GACD,QAAQ,CAAC;AAEb,0CAA0C;AAC1C,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAC7C,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,CACzC,CAAC;AAEF,mCAAmC;AACnC,MAAM,WAAW,kBAAkB;IAEjC,4DAA4D;IAC5D,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAE1C;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** The memory slot of a SIG device user: users count from 0, slots from 1; the unknown user has none. */
|
|
2
|
+
declare const memorySlotForDeviceUser: (userId: number) => number | undefined;
|
|
3
|
+
/** Whether a reading is from one of the device users `slots`; a reading that names no device user is kept. */
|
|
4
|
+
declare const isFromAcceptedMemorySlot: (reading: object, slots: readonly number[]) => boolean;
|
|
5
|
+
export { isFromAcceptedMemorySlot, memorySlotForDeviceUser };
|
|
6
|
+
//# sourceMappingURL=device-user.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-user.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/utils/device-user.ts"],"names":[],"mappings":"AAGA,yGAAyG;AACzG,QAAA,MAAM,uBAAuB,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,SACF,CAAC;AAE1D,8GAA8G;AAC9G,QAAA,MAAM,wBAAwB,GAC5B,SAAS,MAAM,EACf,OAAO,SAAS,MAAM,EAAE,KACvB,OAIF,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,CAAC"}
|