brilliantsole 0.0.25 → 0.0.27
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 +16 -10
- package/assets/3d/rightHand.glb +0 -0
- package/assets/images/ukaton-pressure-0.svg +9 -0
- package/assets/images/ukaton-pressure-1.svg +9 -0
- package/assets/images/ukaton-pressure-10.svg +9 -0
- package/assets/images/ukaton-pressure-11.svg +9 -0
- package/assets/images/ukaton-pressure-12.svg +9 -0
- package/assets/images/ukaton-pressure-13.svg +9 -0
- package/assets/images/ukaton-pressure-14.svg +9 -0
- package/assets/images/ukaton-pressure-15.svg +9 -0
- package/assets/images/ukaton-pressure-2.svg +9 -0
- package/assets/images/ukaton-pressure-3.svg +9 -0
- package/assets/images/ukaton-pressure-4.svg +9 -0
- package/assets/images/ukaton-pressure-5.svg +9 -0
- package/assets/images/ukaton-pressure-6.svg +9 -0
- package/assets/images/ukaton-pressure-7.svg +9 -0
- package/assets/images/ukaton-pressure-8.svg +9 -0
- package/assets/images/ukaton-pressure-9.svg +9 -0
- package/assets/images/ukaton-right-insole.svg +798 -0
- package/build/brilliantsole.cjs +255 -119
- package/build/brilliantsole.cjs.map +1 -1
- package/build/brilliantsole.js +283 -140
- package/build/brilliantsole.js.map +1 -1
- package/build/brilliantsole.ls.js +210 -103
- package/build/brilliantsole.ls.js.map +1 -1
- package/build/brilliantsole.min.js +1 -1
- package/build/brilliantsole.min.js.map +1 -1
- package/build/brilliantsole.module.d.ts +76 -60
- package/build/brilliantsole.module.js +282 -140
- package/build/brilliantsole.module.js.map +1 -1
- package/build/brilliantsole.module.min.d.ts +76 -60
- package/build/brilliantsole.module.min.js +1 -1
- package/build/brilliantsole.module.min.js.map +1 -1
- package/build/brilliantsole.node.module.d.ts +75 -60
- package/build/brilliantsole.node.module.js +254 -119
- package/build/brilliantsole.node.module.js.map +1 -1
- package/build/dts/BS.d.ts +2 -2
- package/build/dts/Device.d.ts +11 -7
- package/build/dts/DeviceManager.d.ts +1 -0
- package/build/dts/InformationManager.d.ts +6 -5
- package/build/dts/connection/BaseConnectionManager.d.ts +2 -0
- package/build/dts/connection/ClientConnectionManager.d.ts +4 -0
- package/build/dts/connection/bluetooth/BluetoothConnectionManager.d.ts +1 -0
- package/build/dts/connection/bluetooth/NobleConnectionManager.d.ts +1 -0
- package/build/dts/connection/bluetooth/WebBluetoothConnectionManager.d.ts +1 -0
- package/build/dts/devicePair/DevicePair.d.ts +14 -10
- package/build/dts/devicePair/DevicePairPressureSensorDataManager.d.ts +8 -4
- package/build/dts/devicePair/DevicePairSensorDataManager.d.ts +2 -2
- package/build/dts/server/BaseClient.d.ts +1 -0
- package/build/dts/utils/CenterOfPressureHelper.d.ts +2 -2
- package/build/dts/utils/MathUtils.d.ts +2 -0
- package/build/index.d.ts +76 -60
- package/build/index.node.d.ts +75 -60
- package/examples/3d/script.js +90 -17
- package/examples/balance/script.js +2 -1
- package/examples/basic/index.html +21 -2
- package/examples/basic/script.js +17 -3
- package/examples/bottango/index.html +11 -1
- package/examples/bottango/script.js +2 -2
- package/examples/center-of-pressure/index.html +114 -114
- package/examples/center-of-pressure/script.js +1 -1
- package/examples/device-pair/index.html +58 -58
- package/examples/device-pair/script.js +12 -8
- package/examples/gloves/index.html +116 -0
- package/examples/gloves/scene.html +124 -0
- package/examples/gloves/script.js +615 -0
- package/examples/graph/index.html +11 -1
- package/examples/graph/script.js +2 -2
- package/examples/pressure/index.html +180 -12
- package/examples/pressure/script.js +144 -7
- package/examples/recording/index.html +191 -183
- package/examples/server/index.html +11 -1
- package/examples/server/script.js +6 -3
- package/examples/ukaton-firmware-update/index.html +20 -0
- package/examples/ukaton-firmware-update/manifest.json +11 -0
- package/examples/ukaton-firmware-update/merged-firmware.bin +0 -0
- package/examples/webxr/script.js +3 -3
- package/package.json +1 -1
- package/src/BS.ts +3 -8
- package/src/Device.ts +41 -8
- package/src/DeviceInformationManager.ts +4 -2
- package/src/DeviceManager.ts +10 -1
- package/src/FileTransferManager.ts +1 -1
- package/src/FirmwareManager.ts +1 -1
- package/src/InformationManager.ts +24 -7
- package/src/TfliteManager.ts +1 -1
- package/src/connection/BaseConnectionManager.ts +23 -6
- package/src/connection/ClientConnectionManager.ts +13 -1
- package/src/connection/bluetooth/BluetoothConnectionManager.ts +6 -1
- package/src/connection/bluetooth/NobleConnectionManager.ts +8 -1
- package/src/connection/bluetooth/WebBluetoothConnectionManager.ts +5 -1
- package/src/devicePair/DevicePair.ts +53 -27
- package/src/devicePair/DevicePairPressureSensorDataManager.ts +51 -23
- package/src/devicePair/DevicePairSensorDataManager.ts +5 -5
- package/src/scanner/NobleScanner.ts +5 -3
- package/src/sensor/BarometerSensorDataManager.ts +1 -1
- package/src/sensor/MotionSensorDataManager.ts +1 -1
- package/src/sensor/PressureSensorDataManager.ts +13 -8
- package/src/sensor/SensorConfigurationManager.ts +3 -3
- package/src/sensor/SensorDataManager.ts +1 -1
- package/src/server/BaseClient.ts +43 -2
- package/src/server/BaseServer.ts +149 -39
- package/src/server/udp/UDPServer.ts +1 -1
- package/src/server/websocket/WebSocketClient.ts +3 -2
- package/src/server/websocket/WebSocketServer.ts +1 -1
- package/src/utils/CenterOfPressureHelper.ts +5 -5
- package/src/utils/MathUtils.ts +31 -1
- package/src/utils/ParseUtils.ts +1 -1
- package/src/utils/checksum.ts +1 -1
- package/src/utils/mcumgr.js +1 -1
|
@@ -54,7 +54,7 @@ var environment = /*#__PURE__*/Object.freeze({
|
|
|
54
54
|
isSafari: isSafari
|
|
55
55
|
});
|
|
56
56
|
|
|
57
|
-
var _a$
|
|
57
|
+
var _a$6, _Console_consoles, _Console_levelFlags;
|
|
58
58
|
var __console;
|
|
59
59
|
if (isInLensStudio) {
|
|
60
60
|
const log = function (...args) {
|
|
@@ -97,27 +97,27 @@ class Console {
|
|
|
97
97
|
error: true,
|
|
98
98
|
table: true,
|
|
99
99
|
});
|
|
100
|
-
if (__classPrivateFieldGet(_a$
|
|
100
|
+
if (__classPrivateFieldGet(_a$6, _a$6, "f", _Console_consoles)[type]) {
|
|
101
101
|
throw new Error(`"${type}" console already exists`);
|
|
102
102
|
}
|
|
103
|
-
__classPrivateFieldGet(_a$
|
|
103
|
+
__classPrivateFieldGet(_a$6, _a$6, "f", _Console_consoles)[type] = this;
|
|
104
104
|
}
|
|
105
105
|
setLevelFlags(levelFlags) {
|
|
106
106
|
Object.assign(__classPrivateFieldGet(this, _Console_levelFlags, "f"), levelFlags);
|
|
107
107
|
}
|
|
108
108
|
static setLevelFlagsForType(type, levelFlags) {
|
|
109
|
-
if (!__classPrivateFieldGet(this, _a$
|
|
109
|
+
if (!__classPrivateFieldGet(this, _a$6, "f", _Console_consoles)[type]) {
|
|
110
110
|
throw new Error(`no console found with type "${type}"`);
|
|
111
111
|
}
|
|
112
|
-
__classPrivateFieldGet(this, _a$
|
|
112
|
+
__classPrivateFieldGet(this, _a$6, "f", _Console_consoles)[type].setLevelFlags(levelFlags);
|
|
113
113
|
}
|
|
114
114
|
static setAllLevelFlags(levelFlags) {
|
|
115
|
-
for (const type in __classPrivateFieldGet(this, _a$
|
|
116
|
-
__classPrivateFieldGet(this, _a$
|
|
115
|
+
for (const type in __classPrivateFieldGet(this, _a$6, "f", _Console_consoles)) {
|
|
116
|
+
__classPrivateFieldGet(this, _a$6, "f", _Console_consoles)[type].setLevelFlags(levelFlags);
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
static create(type, levelFlags) {
|
|
120
|
-
const console = __classPrivateFieldGet(this, _a$
|
|
120
|
+
const console = __classPrivateFieldGet(this, _a$6, "f", _Console_consoles)[type] || new _a$6(type);
|
|
121
121
|
return console;
|
|
122
122
|
}
|
|
123
123
|
get log() {
|
|
@@ -147,7 +147,7 @@ class Console {
|
|
|
147
147
|
this.assertWithError(enumeration.includes(value), `invalid enum "${value}"`);
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
|
-
_a$
|
|
150
|
+
_a$6 = Console, _Console_levelFlags = new WeakMap();
|
|
151
151
|
_Console_consoles = { value: {} };
|
|
152
152
|
function createConsole(type, levelFlags) {
|
|
153
153
|
return Console.create(type, levelFlags);
|
|
@@ -325,7 +325,7 @@ class Timer {
|
|
|
325
325
|
}
|
|
326
326
|
_Timer_callback = new WeakMap(), _Timer_interval = new WeakMap(), _Timer_intervalId = new WeakMap();
|
|
327
327
|
|
|
328
|
-
createConsole("checksum", { log:
|
|
328
|
+
createConsole("checksum", { log: false });
|
|
329
329
|
function crc32ForByte(r) {
|
|
330
330
|
for (let j = 0; j < 8; ++j) {
|
|
331
331
|
r = (r & 1 ? 0 : 0xedb88320) ^ (r >>> 1);
|
|
@@ -500,8 +500,8 @@ function autoBind(self, {include, exclude} = {}) {
|
|
|
500
500
|
return self;
|
|
501
501
|
}
|
|
502
502
|
|
|
503
|
-
var _FileTransferManager_instances, _a$
|
|
504
|
-
const _console$s = createConsole("FileTransferManager", { log:
|
|
503
|
+
var _FileTransferManager_instances, _a$5, _FileTransferManager_dispatchEvent_get, _FileTransferManager_assertValidType, _FileTransferManager_assertValidTypeEnum, _FileTransferManager_assertValidStatusEnum, _FileTransferManager_assertValidCommand, _FileTransferManager_MaxLength, _FileTransferManager_maxLength, _FileTransferManager_parseMaxLength, _FileTransferManager_updateMaxLength, _FileTransferManager_assertValidLength, _FileTransferManager_type, _FileTransferManager_parseType, _FileTransferManager_updateType, _FileTransferManager_setType, _FileTransferManager_length, _FileTransferManager_parseLength, _FileTransferManager_updateLength, _FileTransferManager_setLength, _FileTransferManager_checksum, _FileTransferManager_parseChecksum, _FileTransferManager_updateChecksum, _FileTransferManager_setChecksum, _FileTransferManager_setCommand, _FileTransferManager_status, _FileTransferManager_parseStatus, _FileTransferManager_updateStatus, _FileTransferManager_assertIsIdle, _FileTransferManager_assertIsNotIdle, _FileTransferManager_receivedBlocks, _FileTransferManager_parseBlock, _FileTransferManager_buffer, _FileTransferManager_bytesTransferred, _FileTransferManager_send, _FileTransferManager_sendBlock, _FileTransferManager_parseBytesTransferred, _FileTransferManager_isServerSide;
|
|
504
|
+
const _console$s = createConsole("FileTransferManager", { log: false });
|
|
505
505
|
const FileTransferMessageTypes = [
|
|
506
506
|
"maxFileLength",
|
|
507
507
|
"getFileType",
|
|
@@ -529,7 +529,7 @@ const FileTransferEventTypes = [
|
|
|
529
529
|
class FileTransferManager {
|
|
530
530
|
constructor() {
|
|
531
531
|
_FileTransferManager_instances.add(this);
|
|
532
|
-
_FileTransferManager_maxLength.set(this, _a$
|
|
532
|
+
_FileTransferManager_maxLength.set(this, _a$5.MaxLength);
|
|
533
533
|
_FileTransferManager_type.set(this, void 0);
|
|
534
534
|
_FileTransferManager_length.set(this, 0);
|
|
535
535
|
_FileTransferManager_checksum.set(this, 0);
|
|
@@ -550,7 +550,7 @@ class FileTransferManager {
|
|
|
550
550
|
return this.eventDispatcher.waitForEvent;
|
|
551
551
|
}
|
|
552
552
|
static get MaxLength() {
|
|
553
|
-
return __classPrivateFieldGet(this, _a$
|
|
553
|
+
return __classPrivateFieldGet(this, _a$5, "f", _FileTransferManager_MaxLength);
|
|
554
554
|
}
|
|
555
555
|
get maxLength() {
|
|
556
556
|
return __classPrivateFieldGet(this, _FileTransferManager_maxLength, "f");
|
|
@@ -636,7 +636,7 @@ class FileTransferManager {
|
|
|
636
636
|
__classPrivateFieldSet(this, _FileTransferManager_isServerSide, newIsServerSide, "f");
|
|
637
637
|
}
|
|
638
638
|
}
|
|
639
|
-
_a$
|
|
639
|
+
_a$5 = FileTransferManager, _FileTransferManager_maxLength = new WeakMap(), _FileTransferManager_type = new WeakMap(), _FileTransferManager_length = new WeakMap(), _FileTransferManager_checksum = new WeakMap(), _FileTransferManager_status = new WeakMap(), _FileTransferManager_receivedBlocks = new WeakMap(), _FileTransferManager_buffer = new WeakMap(), _FileTransferManager_bytesTransferred = new WeakMap(), _FileTransferManager_isServerSide = new WeakMap(), _FileTransferManager_instances = new WeakSet(), _FileTransferManager_dispatchEvent_get = function _FileTransferManager_dispatchEvent_get() {
|
|
640
640
|
return this.eventDispatcher.dispatchEvent;
|
|
641
641
|
}, _FileTransferManager_assertValidType = function _FileTransferManager_assertValidType(type) {
|
|
642
642
|
_console$s.assertEnumWithError(type, FileTypes);
|
|
@@ -826,7 +826,7 @@ _a$4 = FileTransferManager, _FileTransferManager_maxLength = new WeakMap(), _Fil
|
|
|
826
826
|
};
|
|
827
827
|
_FileTransferManager_MaxLength = { value: 0 };
|
|
828
828
|
|
|
829
|
-
const _console$r = createConsole("MathUtils", { log:
|
|
829
|
+
const _console$r = createConsole("MathUtils", { log: false });
|
|
830
830
|
function getInterpolation(value, min, max, span) {
|
|
831
831
|
if (span == undefined) {
|
|
832
832
|
span = max - min;
|
|
@@ -914,15 +914,15 @@ class CenterOfPressureHelper {
|
|
|
914
914
|
__classPrivateFieldGet(this, _CenterOfPressureHelper_range, "f").x.update(centerOfPressure.x);
|
|
915
915
|
__classPrivateFieldGet(this, _CenterOfPressureHelper_range, "f").y.update(centerOfPressure.y);
|
|
916
916
|
}
|
|
917
|
-
getNormalization(centerOfPressure) {
|
|
917
|
+
getNormalization(centerOfPressure, weightByRange) {
|
|
918
918
|
return {
|
|
919
|
-
x: __classPrivateFieldGet(this, _CenterOfPressureHelper_range, "f").x.getNormalization(centerOfPressure.x,
|
|
920
|
-
y: __classPrivateFieldGet(this, _CenterOfPressureHelper_range, "f").y.getNormalization(centerOfPressure.y,
|
|
919
|
+
x: __classPrivateFieldGet(this, _CenterOfPressureHelper_range, "f").x.getNormalization(centerOfPressure.x, weightByRange),
|
|
920
|
+
y: __classPrivateFieldGet(this, _CenterOfPressureHelper_range, "f").y.getNormalization(centerOfPressure.y, weightByRange),
|
|
921
921
|
};
|
|
922
922
|
}
|
|
923
|
-
updateAndGetNormalization(centerOfPressure) {
|
|
923
|
+
updateAndGetNormalization(centerOfPressure, weightByRange) {
|
|
924
924
|
this.update(centerOfPressure);
|
|
925
|
-
return this.getNormalization(centerOfPressure);
|
|
925
|
+
return this.getNormalization(centerOfPressure, weightByRange);
|
|
926
926
|
}
|
|
927
927
|
}
|
|
928
928
|
_CenterOfPressureHelper_range = new WeakMap();
|
|
@@ -943,8 +943,8 @@ function arrayWithoutDuplicates(array) {
|
|
|
943
943
|
return array.filter((value, index) => array.indexOf(value) == index);
|
|
944
944
|
}
|
|
945
945
|
|
|
946
|
-
var _PressureSensorDataManager_positions, _PressureSensorDataManager_sensorRangeHelpers, _PressureSensorDataManager_centerOfPressureHelper;
|
|
947
|
-
const _console$q = createConsole("PressureDataManager", { log:
|
|
946
|
+
var _PressureSensorDataManager_positions, _PressureSensorDataManager_sensorRangeHelpers, _PressureSensorDataManager_normalizedSumRangeHelper, _PressureSensorDataManager_centerOfPressureHelper;
|
|
947
|
+
const _console$q = createConsole("PressureDataManager", { log: false });
|
|
948
948
|
const PressureSensorTypes = ["pressure"];
|
|
949
949
|
const ContinuousPressureSensorTypes = PressureSensorTypes;
|
|
950
950
|
const DefaultNumberOfPressureSensors = 8;
|
|
@@ -952,6 +952,7 @@ class PressureSensorDataManager {
|
|
|
952
952
|
constructor() {
|
|
953
953
|
_PressureSensorDataManager_positions.set(this, []);
|
|
954
954
|
_PressureSensorDataManager_sensorRangeHelpers.set(this, void 0);
|
|
955
|
+
_PressureSensorDataManager_normalizedSumRangeHelper.set(this, new RangeHelper());
|
|
955
956
|
_PressureSensorDataManager_centerOfPressureHelper.set(this, new CenterOfPressureHelper());
|
|
956
957
|
}
|
|
957
958
|
get positions() {
|
|
@@ -974,37 +975,38 @@ class PressureSensorDataManager {
|
|
|
974
975
|
this.resetRange();
|
|
975
976
|
}
|
|
976
977
|
resetRange() {
|
|
977
|
-
__classPrivateFieldGet(this, _PressureSensorDataManager_sensorRangeHelpers, "f")
|
|
978
|
+
__classPrivateFieldGet(this, _PressureSensorDataManager_sensorRangeHelpers, "f")?.forEach((rangeHelper) => rangeHelper.reset());
|
|
978
979
|
__classPrivateFieldGet(this, _PressureSensorDataManager_centerOfPressureHelper, "f").reset();
|
|
980
|
+
__classPrivateFieldGet(this, _PressureSensorDataManager_normalizedSumRangeHelper, "f").reset();
|
|
979
981
|
}
|
|
980
982
|
parseData(dataView, scalar) {
|
|
981
983
|
const pressure = { sensors: [], scaledSum: 0, normalizedSum: 0 };
|
|
982
984
|
for (let index = 0, byteOffset = 0; byteOffset < dataView.byteLength; index++, byteOffset += 2) {
|
|
983
985
|
const rawValue = dataView.getUint16(byteOffset, true);
|
|
984
|
-
|
|
986
|
+
let scaledValue = (rawValue * scalar) / this.numberOfSensors;
|
|
985
987
|
const rangeHelper = __classPrivateFieldGet(this, _PressureSensorDataManager_sensorRangeHelpers, "f")[index];
|
|
986
|
-
const normalizedValue = rangeHelper.updateAndGetNormalization(scaledValue,
|
|
988
|
+
const normalizedValue = rangeHelper.updateAndGetNormalization(scaledValue, false);
|
|
987
989
|
const position = this.positions[index];
|
|
988
990
|
pressure.sensors[index] = { rawValue, scaledValue, normalizedValue, position, weightedValue: 0 };
|
|
989
991
|
pressure.scaledSum += scaledValue;
|
|
990
|
-
pressure.normalizedSum += normalizedValue / this.numberOfSensors;
|
|
991
992
|
}
|
|
992
|
-
|
|
993
|
+
pressure.normalizedSum = __classPrivateFieldGet(this, _PressureSensorDataManager_normalizedSumRangeHelper, "f").updateAndGetNormalization(pressure.scaledSum, false);
|
|
994
|
+
if (pressure.scaledSum > 0) {
|
|
993
995
|
pressure.center = { x: 0, y: 0 };
|
|
994
996
|
pressure.sensors.forEach((sensor) => {
|
|
995
997
|
sensor.weightedValue = sensor.scaledValue / pressure.scaledSum;
|
|
996
998
|
pressure.center.x += sensor.position.x * sensor.weightedValue;
|
|
997
999
|
pressure.center.y += sensor.position.y * sensor.weightedValue;
|
|
998
1000
|
});
|
|
999
|
-
pressure.normalizedCenter = __classPrivateFieldGet(this, _PressureSensorDataManager_centerOfPressureHelper, "f").updateAndGetNormalization(pressure.center);
|
|
1001
|
+
pressure.normalizedCenter = __classPrivateFieldGet(this, _PressureSensorDataManager_centerOfPressureHelper, "f").updateAndGetNormalization(pressure.center, false);
|
|
1000
1002
|
}
|
|
1001
1003
|
_console$q.log({ pressure });
|
|
1002
1004
|
return pressure;
|
|
1003
1005
|
}
|
|
1004
1006
|
}
|
|
1005
|
-
_PressureSensorDataManager_positions = new WeakMap(), _PressureSensorDataManager_sensorRangeHelpers = new WeakMap(), _PressureSensorDataManager_centerOfPressureHelper = new WeakMap();
|
|
1007
|
+
_PressureSensorDataManager_positions = new WeakMap(), _PressureSensorDataManager_sensorRangeHelpers = new WeakMap(), _PressureSensorDataManager_normalizedSumRangeHelper = new WeakMap(), _PressureSensorDataManager_centerOfPressureHelper = new WeakMap();
|
|
1006
1008
|
|
|
1007
|
-
const _console$p = createConsole("MotionSensorDataManager", { log:
|
|
1009
|
+
const _console$p = createConsole("MotionSensorDataManager", { log: false });
|
|
1008
1010
|
const MotionSensorTypes = [
|
|
1009
1011
|
"acceleration",
|
|
1010
1012
|
"gravity",
|
|
@@ -1097,7 +1099,7 @@ class MotionSensorDataManager {
|
|
|
1097
1099
|
var _BarometerSensorDataManager_instances, _BarometerSensorDataManager_calculcateAltitude;
|
|
1098
1100
|
const BarometerSensorTypes = ["barometer"];
|
|
1099
1101
|
const ContinuousBarometerSensorTypes = BarometerSensorTypes;
|
|
1100
|
-
const _console$o = createConsole("BarometerSensorDataManager", { log:
|
|
1102
|
+
const _console$o = createConsole("BarometerSensorDataManager", { log: false });
|
|
1101
1103
|
class BarometerSensorDataManager {
|
|
1102
1104
|
constructor() {
|
|
1103
1105
|
_BarometerSensorDataManager_instances.add(this);
|
|
@@ -1121,7 +1123,7 @@ _BarometerSensorDataManager_instances = new WeakSet(), _BarometerSensorDataManag
|
|
|
1121
1123
|
return h;
|
|
1122
1124
|
};
|
|
1123
1125
|
|
|
1124
|
-
const _console$n = createConsole("ParseUtils", { log:
|
|
1126
|
+
const _console$n = createConsole("ParseUtils", { log: false });
|
|
1125
1127
|
function parseStringFromDataView(dataView, byteOffset = 0) {
|
|
1126
1128
|
const stringLength = dataView.getUint8(byteOffset++);
|
|
1127
1129
|
const string = textDecoder.decode(dataView.buffer.slice(dataView.byteOffset + byteOffset, dataView.byteOffset + byteOffset + stringLength));
|
|
@@ -1151,7 +1153,7 @@ function parseMessage(dataView, messageTypes, callback, context, parseMessageLen
|
|
|
1151
1153
|
}
|
|
1152
1154
|
|
|
1153
1155
|
var _SensorDataManager_scalars;
|
|
1154
|
-
const _console$m = createConsole("SensorDataManager", { log:
|
|
1156
|
+
const _console$m = createConsole("SensorDataManager", { log: false });
|
|
1155
1157
|
const SensorTypes = [...PressureSensorTypes, ...MotionSensorTypes, ...BarometerSensorTypes];
|
|
1156
1158
|
const ContinuousSensorTypes = [
|
|
1157
1159
|
...ContinuousPressureSensorTypes,
|
|
@@ -1261,8 +1263,8 @@ class SensorDataManager {
|
|
|
1261
1263
|
}
|
|
1262
1264
|
_SensorDataManager_scalars = new WeakMap();
|
|
1263
1265
|
|
|
1264
|
-
var _SensorConfigurationManager_instances, _a$
|
|
1265
|
-
const _console$l = createConsole("SensorConfigurationManager", { log:
|
|
1266
|
+
var _SensorConfigurationManager_instances, _a$4, _SensorConfigurationManager_dispatchEvent_get, _SensorConfigurationManager_availableSensorTypes, _SensorConfigurationManager_assertAvailableSensorType, _SensorConfigurationManager_configuration, _SensorConfigurationManager_updateConfiguration, _SensorConfigurationManager_isRedundant, _SensorConfigurationManager_parse, _SensorConfigurationManager_AssertValidSensorRate, _SensorConfigurationManager_assertValidSensorRate, _SensorConfigurationManager_createData, _SensorConfigurationManager_ZeroSensorConfiguration;
|
|
1267
|
+
const _console$l = createConsole("SensorConfigurationManager", { log: false });
|
|
1266
1268
|
const MaxSensorRate = 2 ** 16 - 1;
|
|
1267
1269
|
const SensorRateStep = 5;
|
|
1268
1270
|
const SensorConfigurationMessageTypes = ["getSensorConfiguration", "setSensorConfiguration"];
|
|
@@ -1299,11 +1301,11 @@ class SensorConfigurationManager {
|
|
|
1299
1301
|
await promise;
|
|
1300
1302
|
}
|
|
1301
1303
|
static get ZeroSensorConfiguration() {
|
|
1302
|
-
return __classPrivateFieldGet(this, _a$
|
|
1304
|
+
return __classPrivateFieldGet(this, _a$4, "f", _SensorConfigurationManager_ZeroSensorConfiguration);
|
|
1303
1305
|
}
|
|
1304
1306
|
get zeroSensorConfiguration() {
|
|
1305
1307
|
const zeroSensorConfiguration = {};
|
|
1306
|
-
|
|
1308
|
+
__classPrivateFieldGet(this, _SensorConfigurationManager_availableSensorTypes, "f").forEach((sensorType) => {
|
|
1307
1309
|
zeroSensorConfiguration[sensorType] = 0;
|
|
1308
1310
|
});
|
|
1309
1311
|
return zeroSensorConfiguration;
|
|
@@ -1324,12 +1326,12 @@ class SensorConfigurationManager {
|
|
|
1324
1326
|
}
|
|
1325
1327
|
}
|
|
1326
1328
|
}
|
|
1327
|
-
_a$
|
|
1329
|
+
_a$4 = SensorConfigurationManager, _SensorConfigurationManager_availableSensorTypes = new WeakMap(), _SensorConfigurationManager_configuration = new WeakMap(), _SensorConfigurationManager_instances = new WeakSet(), _SensorConfigurationManager_dispatchEvent_get = function _SensorConfigurationManager_dispatchEvent_get() {
|
|
1328
1330
|
return this.eventDispatcher.dispatchEvent;
|
|
1329
1331
|
}, _SensorConfigurationManager_assertAvailableSensorType = function _SensorConfigurationManager_assertAvailableSensorType(sensorType) {
|
|
1330
1332
|
_console$l.assertWithError(__classPrivateFieldGet(this, _SensorConfigurationManager_availableSensorTypes, "f"), "must get initial sensorConfiguration");
|
|
1331
1333
|
const isSensorTypeAvailable = __classPrivateFieldGet(this, _SensorConfigurationManager_availableSensorTypes, "f")?.includes(sensorType);
|
|
1332
|
-
_console$l.
|
|
1334
|
+
_console$l.log(isSensorTypeAvailable, `unavailable sensor type "${sensorType}"`);
|
|
1333
1335
|
return isSensorTypeAvailable;
|
|
1334
1336
|
}, _SensorConfigurationManager_updateConfiguration = function _SensorConfigurationManager_updateConfiguration(updatedConfiguration) {
|
|
1335
1337
|
__classPrivateFieldSet(this, _SensorConfigurationManager_configuration, updatedConfiguration, "f");
|
|
@@ -1362,7 +1364,7 @@ _a$3 = SensorConfigurationManager, _SensorConfigurationManager_availableSensorTy
|
|
|
1362
1364
|
_console$l.assertWithError(sensorRate < MaxSensorRate, `sensorRate must be 0 or greater (got ${sensorRate})`);
|
|
1363
1365
|
_console$l.assertWithError(sensorRate % SensorRateStep == 0, `sensorRate must be multiple of ${SensorRateStep}`);
|
|
1364
1366
|
}, _SensorConfigurationManager_assertValidSensorRate = function _SensorConfigurationManager_assertValidSensorRate(sensorRate) {
|
|
1365
|
-
__classPrivateFieldGet(_a$
|
|
1367
|
+
__classPrivateFieldGet(_a$4, _a$4, "m", _SensorConfigurationManager_AssertValidSensorRate).call(_a$4, sensorRate);
|
|
1366
1368
|
}, _SensorConfigurationManager_createData = function _SensorConfigurationManager_createData(sensorConfiguration) {
|
|
1367
1369
|
let sensorTypes = Object.keys(sensorConfiguration);
|
|
1368
1370
|
sensorTypes = sensorTypes.filter((sensorType) => __classPrivateFieldGet(this, _SensorConfigurationManager_instances, "m", _SensorConfigurationManager_assertAvailableSensorType).call(this, sensorType));
|
|
@@ -1381,12 +1383,12 @@ _a$3 = SensorConfigurationManager, _SensorConfigurationManager_availableSensorTy
|
|
|
1381
1383
|
_SensorConfigurationManager_ZeroSensorConfiguration = { value: {} };
|
|
1382
1384
|
(() => {
|
|
1383
1385
|
SensorTypes.forEach((sensorType) => {
|
|
1384
|
-
__classPrivateFieldGet(_a$
|
|
1386
|
+
__classPrivateFieldGet(_a$4, _a$4, "f", _SensorConfigurationManager_ZeroSensorConfiguration)[sensorType] = 0;
|
|
1385
1387
|
});
|
|
1386
1388
|
})();
|
|
1387
1389
|
|
|
1388
1390
|
var _TfliteManager_instances, _TfliteManager_assertValidTask, _TfliteManager_assertValidTaskEnum, _TfliteManager_dispatchEvent_get, _TfliteManager_name, _TfliteManager_parseName, _TfliteManager_updateName, _TfliteManager_task, _TfliteManager_parseTask, _TfliteManager_updateTask, _TfliteManager_sampleRate, _TfliteManager_parseSampleRate, _TfliteManager_updateSampleRate, _TfliteManager_sensorTypes, _TfliteManager_parseSensorTypes, _TfliteManager_updateSensorTypes, _TfliteManager_isReady, _TfliteManager_parseIsReady, _TfliteManager_updateIsReady, _TfliteManager_assertIsReady, _TfliteManager_captureDelay, _TfliteManager_parseCaptureDelay, _TfliteManager_updateCaptueDelay, _TfliteManager_threshold, _TfliteManager_parseThreshold, _TfliteManager_updateThreshold, _TfliteManager_inferencingEnabled, _TfliteManager_parseInferencingEnabled, _TfliteManager_updateInferencingEnabled, _TfliteManager_parseInference;
|
|
1389
|
-
const _console$k = createConsole("TfliteManager", { log:
|
|
1391
|
+
const _console$k = createConsole("TfliteManager", { log: false });
|
|
1390
1392
|
const TfliteMessageTypes = [
|
|
1391
1393
|
"getTfliteName",
|
|
1392
1394
|
"setTfliteName",
|
|
@@ -1721,7 +1723,7 @@ _TfliteManager_name = new WeakMap(), _TfliteManager_task = new WeakMap(), _Tflit
|
|
|
1721
1723
|
};
|
|
1722
1724
|
|
|
1723
1725
|
var _DeviceInformationManager_instances, _DeviceInformationManager_dispatchEvent_get, _DeviceInformationManager_information, _DeviceInformationManager_isComplete_get, _DeviceInformationManager_update;
|
|
1724
|
-
const _console$j = createConsole("DeviceInformationManager", { log:
|
|
1726
|
+
const _console$j = createConsole("DeviceInformationManager", { log: false });
|
|
1725
1727
|
const DeviceInformationMessageTypes = [
|
|
1726
1728
|
"manufacturerName",
|
|
1727
1729
|
"modelNumber",
|
|
@@ -1796,7 +1798,7 @@ class DeviceInformationManager {
|
|
|
1796
1798
|
_DeviceInformationManager_information = new WeakMap(), _DeviceInformationManager_instances = new WeakSet(), _DeviceInformationManager_dispatchEvent_get = function _DeviceInformationManager_dispatchEvent_get() {
|
|
1797
1799
|
return this.eventDispatcher.dispatchEvent;
|
|
1798
1800
|
}, _DeviceInformationManager_isComplete_get = function _DeviceInformationManager_isComplete_get() {
|
|
1799
|
-
return DeviceInformationMessageTypes.every((key) => key in __classPrivateFieldGet(this, _DeviceInformationManager_information, "f"));
|
|
1801
|
+
return DeviceInformationMessageTypes.filter((key) => key != "serialNumber").every((key) => key in __classPrivateFieldGet(this, _DeviceInformationManager_information, "f"));
|
|
1800
1802
|
}, _DeviceInformationManager_update = function _DeviceInformationManager_update(partialDeviceInformation) {
|
|
1801
1803
|
_console$j.log({ partialDeviceInformation });
|
|
1802
1804
|
const deviceInformationNames = Object.keys(partialDeviceInformation);
|
|
@@ -1814,9 +1816,9 @@ _DeviceInformationManager_information = new WeakMap(), _DeviceInformationManager
|
|
|
1814
1816
|
};
|
|
1815
1817
|
|
|
1816
1818
|
var _InformationManager_instances, _InformationManager_dispatchEvent_get, _InformationManager_isCharging, _InformationManager_updateIsCharging, _InformationManager_batteryCurrent, _InformationManager_updateBatteryCurrent, _InformationManager_id, _InformationManager_updateId, _InformationManager_name, _InformationManager_type, _InformationManager_assertValidDeviceType, _InformationManager_assertValidDeviceTypeEnum, _InformationManager_setTypeEnum, _InformationManager_mtu, _InformationManager_updateMtu, _InformationManager_isCurrentTimeSet, _InformationManager_onCurrentTime, _InformationManager_setCurrentTime;
|
|
1817
|
-
const _console$i = createConsole("InformationManager", { log:
|
|
1818
|
-
const DeviceTypes = ["leftInsole", "rightInsole"];
|
|
1819
|
-
const
|
|
1819
|
+
const _console$i = createConsole("InformationManager", { log: false });
|
|
1820
|
+
const DeviceTypes = ["leftInsole", "rightInsole", "leftGlove", "rightGlove", "glasses", "generic"];
|
|
1821
|
+
const Sides = ["left", "right"];
|
|
1820
1822
|
const MinNameLength = 2;
|
|
1821
1823
|
const MaxNameLength = 30;
|
|
1822
1824
|
const InformationMessageTypes = [
|
|
@@ -1911,12 +1913,25 @@ class InformationManager {
|
|
|
1911
1913
|
return false;
|
|
1912
1914
|
}
|
|
1913
1915
|
}
|
|
1914
|
-
get
|
|
1916
|
+
get isGlove() {
|
|
1917
|
+
switch (this.type) {
|
|
1918
|
+
case "leftGlove":
|
|
1919
|
+
case "rightGlove":
|
|
1920
|
+
return true;
|
|
1921
|
+
default:
|
|
1922
|
+
return false;
|
|
1923
|
+
}
|
|
1924
|
+
}
|
|
1925
|
+
get side() {
|
|
1915
1926
|
switch (this.type) {
|
|
1916
1927
|
case "leftInsole":
|
|
1928
|
+
case "leftGlove":
|
|
1917
1929
|
return "left";
|
|
1918
1930
|
case "rightInsole":
|
|
1931
|
+
case "rightGlove":
|
|
1919
1932
|
return "right";
|
|
1933
|
+
default:
|
|
1934
|
+
return "left";
|
|
1920
1935
|
}
|
|
1921
1936
|
}
|
|
1922
1937
|
get mtu() {
|
|
@@ -1957,7 +1972,10 @@ class InformationManager {
|
|
|
1957
1972
|
this.updateType(type);
|
|
1958
1973
|
break;
|
|
1959
1974
|
case "getMtu":
|
|
1960
|
-
|
|
1975
|
+
let mtu = dataView.getUint16(0, true);
|
|
1976
|
+
if (isInBrowser) {
|
|
1977
|
+
mtu = Math.min(mtu, 512);
|
|
1978
|
+
}
|
|
1961
1979
|
_console$i.log({ mtu });
|
|
1962
1980
|
__classPrivateFieldGet(this, _InformationManager_instances, "m", _InformationManager_updateMtu).call(this, mtu);
|
|
1963
1981
|
break;
|
|
@@ -2332,8 +2350,8 @@ _VibrationManager_instances = new WeakSet(), _VibrationManager_verifyLocation =
|
|
|
2332
2350
|
return data;
|
|
2333
2351
|
};
|
|
2334
2352
|
|
|
2335
|
-
var _BaseConnectionManager_instances, _a$
|
|
2336
|
-
const _console$g = createConsole("BaseConnectionManager", { log:
|
|
2353
|
+
var _BaseConnectionManager_instances, _a$3, _BaseConnectionManager_AssertValidTxRxMessageType, _BaseConnectionManager_assertIsSupported, _BaseConnectionManager_status, _BaseConnectionManager_assertIsNotConnected, _BaseConnectionManager_assertIsNotConnecting, _BaseConnectionManager_assertIsConnected, _BaseConnectionManager_assertIsNotDisconnecting, _BaseConnectionManager_assertIsConnectedAndNotDisconnecting, _BaseConnectionManager_pendingMessages, _BaseConnectionManager_isSendingMessages, _BaseConnectionManager_defaultMtu, _BaseConnectionManager_onRxMessage, _BaseConnectionManager_timer, _BaseConnectionManager_checkConnection;
|
|
2354
|
+
const _console$g = createConsole("BaseConnectionManager", { log: false });
|
|
2337
2355
|
const ConnectionStatuses = ["notConnected", "connecting", "connected", "disconnecting"];
|
|
2338
2356
|
const ConnectionEventTypes = [...ConnectionStatuses, "connectionStatus", "isConnected"];
|
|
2339
2357
|
const TxRxMessageTypes = [
|
|
@@ -2364,6 +2382,9 @@ class BaseConnectionManager {
|
|
|
2364
2382
|
get isSupported() {
|
|
2365
2383
|
return this.baseConstructor.isSupported;
|
|
2366
2384
|
}
|
|
2385
|
+
get canUpdateFirmware() {
|
|
2386
|
+
return false;
|
|
2387
|
+
}
|
|
2367
2388
|
get type() {
|
|
2368
2389
|
return this.baseConstructor.type;
|
|
2369
2390
|
}
|
|
@@ -2372,6 +2393,8 @@ class BaseConnectionManager {
|
|
|
2372
2393
|
_BaseConnectionManager_status.set(this, "notConnected");
|
|
2373
2394
|
_BaseConnectionManager_pendingMessages.set(this, []);
|
|
2374
2395
|
_BaseConnectionManager_isSendingMessages.set(this, false);
|
|
2396
|
+
_BaseConnectionManager_defaultMtu.set(this, 23);
|
|
2397
|
+
this.mtu = __classPrivateFieldGet(this, _BaseConnectionManager_defaultMtu, "f");
|
|
2375
2398
|
_BaseConnectionManager_timer.set(this, new Timer(__classPrivateFieldGet(this, _BaseConnectionManager_instances, "m", _BaseConnectionManager_checkConnection).bind(this), 5000));
|
|
2376
2399
|
__classPrivateFieldGet(this, _BaseConnectionManager_instances, "m", _BaseConnectionManager_assertIsSupported).call(this);
|
|
2377
2400
|
}
|
|
@@ -2394,12 +2417,15 @@ class BaseConnectionManager {
|
|
|
2394
2417
|
__classPrivateFieldGet(this, _BaseConnectionManager_timer, "f").stop();
|
|
2395
2418
|
}
|
|
2396
2419
|
if (__classPrivateFieldGet(this, _BaseConnectionManager_status, "f") == "notConnected") {
|
|
2397
|
-
this.mtu =
|
|
2420
|
+
this.mtu = __classPrivateFieldGet(this, _BaseConnectionManager_defaultMtu, "f");
|
|
2398
2421
|
}
|
|
2399
2422
|
}
|
|
2400
2423
|
get isConnected() {
|
|
2401
2424
|
return this.status == "connected";
|
|
2402
2425
|
}
|
|
2426
|
+
get isAvailable() {
|
|
2427
|
+
return false;
|
|
2428
|
+
}
|
|
2403
2429
|
async connect() {
|
|
2404
2430
|
__classPrivateFieldGet(this, _BaseConnectionManager_instances, "m", _BaseConnectionManager_assertIsNotConnected).call(this);
|
|
2405
2431
|
__classPrivateFieldGet(this, _BaseConnectionManager_instances, "m", _BaseConnectionManager_assertIsNotConnecting).call(this);
|
|
@@ -2434,13 +2460,13 @@ class BaseConnectionManager {
|
|
|
2434
2460
|
return;
|
|
2435
2461
|
}
|
|
2436
2462
|
if (__classPrivateFieldGet(this, _BaseConnectionManager_isSendingMessages, "f")) {
|
|
2437
|
-
|
|
2463
|
+
_console$g.log("already sending messages - waiting until later");
|
|
2438
2464
|
return;
|
|
2439
2465
|
}
|
|
2440
2466
|
__classPrivateFieldSet(this, _BaseConnectionManager_isSendingMessages, true, "f");
|
|
2441
2467
|
_console$g.log("sendTxMessages", __classPrivateFieldGet(this, _BaseConnectionManager_pendingMessages, "f").slice());
|
|
2442
2468
|
const arrayBuffers = __classPrivateFieldGet(this, _BaseConnectionManager_pendingMessages, "f").map((message) => {
|
|
2443
|
-
__classPrivateFieldGet(_a$
|
|
2469
|
+
__classPrivateFieldGet(_a$3, _a$3, "m", _BaseConnectionManager_AssertValidTxRxMessageType).call(_a$3, message.type);
|
|
2444
2470
|
const messageTypeEnum = TxRxMessageTypes.indexOf(message.type);
|
|
2445
2471
|
const dataLength = new DataView(new ArrayBuffer(2));
|
|
2446
2472
|
dataLength.setUint16(0, message.data?.byteLength || 0, true);
|
|
@@ -2449,25 +2475,32 @@ class BaseConnectionManager {
|
|
|
2449
2475
|
__classPrivateFieldGet(this, _BaseConnectionManager_pendingMessages, "f").length = 0;
|
|
2450
2476
|
if (this.mtu) {
|
|
2451
2477
|
while (arrayBuffers.length > 0) {
|
|
2478
|
+
if (arrayBuffers.every((arrayBuffer) => arrayBuffer.byteLength > this.mtu - 3)) {
|
|
2479
|
+
_console$g.log("every arrayBuffer is too big to send");
|
|
2480
|
+
break;
|
|
2481
|
+
}
|
|
2482
|
+
_console$g.log("remaining arrayBuffers.length", arrayBuffers.length);
|
|
2452
2483
|
let arrayBufferByteLength = 0;
|
|
2453
2484
|
let arrayBufferCount = 0;
|
|
2454
2485
|
arrayBuffers.some((arrayBuffer) => {
|
|
2455
2486
|
if (arrayBufferByteLength + arrayBuffer.byteLength > this.mtu - 3) {
|
|
2487
|
+
_console$g.log(`stopping appending arrayBuffers ( length ${arrayBuffer.byteLength} too much)`);
|
|
2456
2488
|
return true;
|
|
2457
2489
|
}
|
|
2490
|
+
_console$g.log(`allowing arrayBuffer with length ${arrayBuffer.byteLength}`);
|
|
2458
2491
|
arrayBufferCount++;
|
|
2459
2492
|
arrayBufferByteLength += arrayBuffer.byteLength;
|
|
2460
2493
|
});
|
|
2461
2494
|
const arrayBuffersToSend = arrayBuffers.splice(0, arrayBufferCount);
|
|
2462
2495
|
_console$g.log({ arrayBufferCount, arrayBuffersToSend });
|
|
2463
2496
|
const arrayBuffer = concatenateArrayBuffers(...arrayBuffersToSend);
|
|
2464
|
-
_console$g.log("sending arrayBuffer", arrayBuffer);
|
|
2497
|
+
_console$g.log("sending arrayBuffer (partitioned)", arrayBuffer);
|
|
2465
2498
|
await this.sendTxData(arrayBuffer);
|
|
2466
2499
|
}
|
|
2467
2500
|
}
|
|
2468
2501
|
else {
|
|
2469
2502
|
const arrayBuffer = concatenateArrayBuffers(...arrayBuffers);
|
|
2470
|
-
_console$g.log("sending arrayBuffer", arrayBuffer);
|
|
2503
|
+
_console$g.log("sending arrayBuffer (all)", arrayBuffer);
|
|
2471
2504
|
await this.sendTxData(arrayBuffer);
|
|
2472
2505
|
}
|
|
2473
2506
|
__classPrivateFieldSet(this, _BaseConnectionManager_isSendingMessages, false, "f");
|
|
@@ -2484,7 +2517,7 @@ class BaseConnectionManager {
|
|
|
2484
2517
|
__classPrivateFieldGet(this, _BaseConnectionManager_pendingMessages, "f").length = 0;
|
|
2485
2518
|
}
|
|
2486
2519
|
}
|
|
2487
|
-
_a$
|
|
2520
|
+
_a$3 = BaseConnectionManager, _BaseConnectionManager_status = new WeakMap(), _BaseConnectionManager_pendingMessages = new WeakMap(), _BaseConnectionManager_isSendingMessages = new WeakMap(), _BaseConnectionManager_defaultMtu = new WeakMap(), _BaseConnectionManager_timer = new WeakMap(), _BaseConnectionManager_instances = new WeakSet(), _BaseConnectionManager_AssertValidTxRxMessageType = function _BaseConnectionManager_AssertValidTxRxMessageType(messageType) {
|
|
2488
2521
|
_console$g.assertEnumWithError(messageType, TxRxMessageTypes);
|
|
2489
2522
|
}, _BaseConnectionManager_assertIsSupported = function _BaseConnectionManager_assertIsSupported() {
|
|
2490
2523
|
_console$g.assertWithError(this.isSupported, `${this.constructor.name} is not supported`);
|
|
@@ -2694,12 +2727,15 @@ function getCharacteristicProperties(characteristicName) {
|
|
|
2694
2727
|
return properties;
|
|
2695
2728
|
}
|
|
2696
2729
|
|
|
2697
|
-
const _console$d = createConsole("BluetoothConnectionManager", { log:
|
|
2730
|
+
const _console$d = createConsole("BluetoothConnectionManager", { log: false });
|
|
2698
2731
|
class BluetoothConnectionManager extends BaseConnectionManager {
|
|
2699
2732
|
constructor() {
|
|
2700
2733
|
super(...arguments);
|
|
2701
2734
|
this.isInRange = true;
|
|
2702
2735
|
}
|
|
2736
|
+
get isAvailable() {
|
|
2737
|
+
return true;
|
|
2738
|
+
}
|
|
2703
2739
|
onCharacteristicValueChanged(characteristicName, dataView) {
|
|
2704
2740
|
if (characteristicName == "rx") {
|
|
2705
2741
|
this.parseRxMessage(dataView);
|
|
@@ -2725,7 +2761,7 @@ class BluetoothConnectionManager extends BaseConnectionManager {
|
|
|
2725
2761
|
}
|
|
2726
2762
|
|
|
2727
2763
|
var _WebBluetoothConnectionManager_instances, _WebBluetoothConnectionManager_boundBluetoothCharacteristicEventListeners, _WebBluetoothConnectionManager_boundBluetoothDeviceEventListeners, _WebBluetoothConnectionManager_device, _WebBluetoothConnectionManager_services, _WebBluetoothConnectionManager_characteristics, _WebBluetoothConnectionManager_getServicesAndCharacteristics, _WebBluetoothConnectionManager_removeEventListeners, _WebBluetoothConnectionManager_onCharacteristicvaluechanged, _WebBluetoothConnectionManager_onCharacteristicValueChanged, _WebBluetoothConnectionManager_onGattserverdisconnected;
|
|
2728
|
-
const _console$c = createConsole("WebBluetoothConnectionManager", { log:
|
|
2764
|
+
const _console$c = createConsole("WebBluetoothConnectionManager", { log: false });
|
|
2729
2765
|
var bluetooth;
|
|
2730
2766
|
if (isInBrowser) {
|
|
2731
2767
|
bluetooth = window.navigator.bluetooth;
|
|
@@ -2747,6 +2783,9 @@ class WebBluetoothConnectionManager extends BluetoothConnectionManager {
|
|
|
2747
2783
|
get bluetoothId() {
|
|
2748
2784
|
return this.device.id;
|
|
2749
2785
|
}
|
|
2786
|
+
get canUpdateFirmware() {
|
|
2787
|
+
return __classPrivateFieldGet(this, _WebBluetoothConnectionManager_characteristics, "f").has("smp");
|
|
2788
|
+
}
|
|
2750
2789
|
static get isSupported() {
|
|
2751
2790
|
return Boolean(bluetooth);
|
|
2752
2791
|
}
|
|
@@ -3307,7 +3346,7 @@ const CBOR = {
|
|
|
3307
3346
|
decode,
|
|
3308
3347
|
};
|
|
3309
3348
|
|
|
3310
|
-
const _console$b = createConsole("mcumgr", { log:
|
|
3349
|
+
const _console$b = createConsole("mcumgr", { log: false });
|
|
3311
3350
|
const constants = {
|
|
3312
3351
|
MGMT_OP_READ: 0,
|
|
3313
3352
|
MGMT_OP_READ_RSP: 1,
|
|
@@ -3638,7 +3677,7 @@ class MCUManager {
|
|
|
3638
3677
|
}
|
|
3639
3678
|
|
|
3640
3679
|
var _FirmwareManager_instances, _FirmwareManager_dispatchEvent_get, _FirmwareManager_status, _FirmwareManager_updateStatus, _FirmwareManager_images, _FirmwareManager_assertImages, _FirmwareManager_assertValidImageIndex, _FirmwareManager_mtu, _FirmwareManager_mcuManager, _FirmwareManager_assignMcuManagerCallbacks, _FirmwareManager_onMcuMessage, _FirmwareManager_onMcuFileDownloadNext, _FirmwareManager_onMcuFileDownloadProgress, _FirmwareManager_onMcuFileDownloadFinished, _FirmwareManager_onMcuFileUploadNext, _FirmwareManager_onMcuFileUploadProgress, _FirmwareManager_onMcuFileUploadFinished, _FirmwareManager_onMcuImageUploadNext, _FirmwareManager_onMcuImageUploadProgress, _FirmwareManager_onMcuImageUploadFinished, _FirmwareManager_onMcuImageState;
|
|
3641
|
-
const _console$a = createConsole("FirmwareManager", { log:
|
|
3680
|
+
const _console$a = createConsole("FirmwareManager", { log: false });
|
|
3642
3681
|
const FirmwareMessageTypes = ["smp"];
|
|
3643
3682
|
const FirmwareEventTypes = [
|
|
3644
3683
|
...FirmwareMessageTypes,
|
|
@@ -3886,7 +3925,7 @@ _FirmwareManager_status = new WeakMap(), _FirmwareManager_images = new WeakMap()
|
|
|
3886
3925
|
};
|
|
3887
3926
|
|
|
3888
3927
|
var _DeviceManager_instances, _DeviceManager_boundDeviceEventListeners, _DeviceManager_onDeviceType, _DeviceManager_ConnectedDevices, _DeviceManager_UseLocalStorage, _DeviceManager_DefaultLocalStorageConfiguration, _DeviceManager_LocalStorageConfiguration, _DeviceManager_AssertLocalStorage, _DeviceManager_LocalStorageKey, _DeviceManager_SaveToLocalStorage, _DeviceManager_LoadFromLocalStorage, _DeviceManager_UpdateLocalStorageConfigurationForDevice, _DeviceManager_AvailableDevices, _DeviceManager_EventDispatcher, _DeviceManager_DispatchEvent_get, _DeviceManager_OnDeviceIsConnected, _DeviceManager_DispatchAvailableDevices, _DeviceManager_DispatchConnectedDevices;
|
|
3889
|
-
const _console$9 = createConsole("DeviceManager", { log:
|
|
3928
|
+
const _console$9 = createConsole("DeviceManager", { log: false });
|
|
3890
3929
|
const DeviceManagerEventTypes = [
|
|
3891
3930
|
"deviceConnected",
|
|
3892
3931
|
"deviceDisconnected",
|
|
@@ -4028,6 +4067,13 @@ class DeviceManager {
|
|
|
4028
4067
|
get RemoveAllEventListeners() {
|
|
4029
4068
|
return __classPrivateFieldGet(this, _DeviceManager_EventDispatcher, "f").removeAllEventListeners;
|
|
4030
4069
|
}
|
|
4070
|
+
_CheckDeviceAvailability(device) {
|
|
4071
|
+
if (!device.isConnected && !device.isAvailable && __classPrivateFieldGet(this, _DeviceManager_AvailableDevices, "f").includes(device)) {
|
|
4072
|
+
_console$9.log("removing device from availableDevices...");
|
|
4073
|
+
__classPrivateFieldGet(this, _DeviceManager_AvailableDevices, "f").splice(__classPrivateFieldGet(this, _DeviceManager_AvailableDevices, "f").indexOf(device), 1);
|
|
4074
|
+
__classPrivateFieldGet(this, _DeviceManager_instances, "m", _DeviceManager_DispatchAvailableDevices).call(this);
|
|
4075
|
+
}
|
|
4076
|
+
}
|
|
4031
4077
|
}
|
|
4032
4078
|
_DeviceManager_boundDeviceEventListeners = new WeakMap(), _DeviceManager_ConnectedDevices = new WeakMap(), _DeviceManager_UseLocalStorage = new WeakMap(), _DeviceManager_DefaultLocalStorageConfiguration = new WeakMap(), _DeviceManager_LocalStorageConfiguration = new WeakMap(), _DeviceManager_LocalStorageKey = new WeakMap(), _DeviceManager_AvailableDevices = new WeakMap(), _DeviceManager_EventDispatcher = new WeakMap(), _DeviceManager_instances = new WeakSet(), _DeviceManager_onDeviceType = function _DeviceManager_onDeviceType(event) {
|
|
4033
4079
|
if (__classPrivateFieldGet(this, _DeviceManager_UseLocalStorage, "f")) {
|
|
@@ -4129,6 +4175,7 @@ _DeviceManager_boundDeviceEventListeners = new WeakMap(), _DeviceManager_Connect
|
|
|
4129
4175
|
}
|
|
4130
4176
|
__classPrivateFieldGet(this, _DeviceManager_instances, "m", _DeviceManager_DispatchAvailableDevices).call(this);
|
|
4131
4177
|
}
|
|
4178
|
+
this._CheckDeviceAvailability(device);
|
|
4132
4179
|
}, _DeviceManager_DispatchAvailableDevices = function _DeviceManager_DispatchAvailableDevices() {
|
|
4133
4180
|
_console$9.log({ AvailableDevices: this.AvailableDevices });
|
|
4134
4181
|
__classPrivateFieldGet(this, _DeviceManager_instances, "a", _DeviceManager_DispatchEvent_get).call(this, "availableDevices", { availableDevices: this.AvailableDevices });
|
|
@@ -4139,7 +4186,7 @@ _DeviceManager_boundDeviceEventListeners = new WeakMap(), _DeviceManager_Connect
|
|
|
4139
4186
|
DeviceManager.shared = new DeviceManager();
|
|
4140
4187
|
var DeviceManager$1 = DeviceManager.shared;
|
|
4141
4188
|
|
|
4142
|
-
var _Device_instances, _a$
|
|
4189
|
+
var _Device_instances, _a$2, _Device_DefaultConnectionManager, _Device_eventDispatcher, _Device_dispatchEvent_get, _Device_connectionManager, _Device_sendTxMessages, _Device_isConnected, _Device_assertIsConnected, _Device_hasRequiredInformation_get, _Device_requestRequiredInformation, _Device_assertCanReconnect, _Device_ReconnectOnDisconnection, _Device_reconnectOnDisconnection, _Device_reconnectIntervalId, _Device_onConnectionStatusUpdated, _Device_dispatchConnectionEvents, _Device_checkConnection, _Device_clear, _Device_clearConnection, _Device_onConnectionMessageReceived, _Device_onConnectionMessagesReceived, _Device_deviceInformationManager, _Device_batteryLevel, _Device_updateBatteryLevel, _Device_sensorConfigurationManager, _Device_ClearSensorConfigurationOnLeave, _Device_clearSensorConfigurationOnLeave, _Device_sensorDataManager, _Device_vibrationManager, _Device_fileTransferManager, _Device_tfliteManager, _Device_firmwareManager, _Device_assertCanUpdateFirmware, _Device_sendSmpMessage, _Device_isServerSide;
|
|
4143
4190
|
const _console$8 = createConsole("Device", { log: true });
|
|
4144
4191
|
const DeviceEventTypes = [
|
|
4145
4192
|
"connectionMessage",
|
|
@@ -4183,20 +4230,23 @@ class Device {
|
|
|
4183
4230
|
get bluetoothId() {
|
|
4184
4231
|
return __classPrivateFieldGet(this, _Device_connectionManager, "f")?.bluetoothId;
|
|
4185
4232
|
}
|
|
4233
|
+
get isAvailable() {
|
|
4234
|
+
return __classPrivateFieldGet(this, _Device_connectionManager, "f")?.isAvailable;
|
|
4235
|
+
}
|
|
4186
4236
|
constructor() {
|
|
4187
4237
|
_Device_instances.add(this);
|
|
4188
4238
|
_Device_eventDispatcher.set(this, new EventDispatcher(this, DeviceEventTypes));
|
|
4189
4239
|
_Device_connectionManager.set(this, void 0);
|
|
4190
4240
|
this.sendTxMessages = __classPrivateFieldGet(this, _Device_instances, "m", _Device_sendTxMessages).bind(this);
|
|
4191
4241
|
_Device_isConnected.set(this, false);
|
|
4192
|
-
_Device_reconnectOnDisconnection.set(this, _a$
|
|
4242
|
+
_Device_reconnectOnDisconnection.set(this, _a$2.ReconnectOnDisconnection);
|
|
4193
4243
|
_Device_reconnectIntervalId.set(this, void 0);
|
|
4194
|
-
this.
|
|
4244
|
+
this.latestConnectionMessages = new Map();
|
|
4195
4245
|
_Device_deviceInformationManager.set(this, new DeviceInformationManager());
|
|
4196
4246
|
_Device_batteryLevel.set(this, 0);
|
|
4197
4247
|
this._informationManager = new InformationManager();
|
|
4198
4248
|
_Device_sensorConfigurationManager.set(this, new SensorConfigurationManager());
|
|
4199
|
-
_Device_clearSensorConfigurationOnLeave.set(this, _a$
|
|
4249
|
+
_Device_clearSensorConfigurationOnLeave.set(this, _a$2.ClearSensorConfigurationOnLeave);
|
|
4200
4250
|
_Device_sensorDataManager.set(this, new SensorDataManager());
|
|
4201
4251
|
_Device_vibrationManager.set(this, new VibrationManager());
|
|
4202
4252
|
_Device_fileTransferManager.set(this, new FileTransferManager());
|
|
@@ -4276,7 +4326,7 @@ class Device {
|
|
|
4276
4326
|
}
|
|
4277
4327
|
async connect() {
|
|
4278
4328
|
if (!this.connectionManager) {
|
|
4279
|
-
this.connectionManager = __classPrivateFieldGet(_a$
|
|
4329
|
+
this.connectionManager = __classPrivateFieldGet(_a$2, _a$2, "m", _Device_DefaultConnectionManager).call(_a$2);
|
|
4280
4330
|
}
|
|
4281
4331
|
__classPrivateFieldGet(this, _Device_instances, "m", _Device_clear).call(this);
|
|
4282
4332
|
return this.connectionManager.connect();
|
|
@@ -4293,16 +4343,16 @@ class Device {
|
|
|
4293
4343
|
return this.connectionManager?.reconnect();
|
|
4294
4344
|
}
|
|
4295
4345
|
static async Connect() {
|
|
4296
|
-
const device = new _a$
|
|
4346
|
+
const device = new _a$2();
|
|
4297
4347
|
await device.connect();
|
|
4298
4348
|
return device;
|
|
4299
4349
|
}
|
|
4300
4350
|
static get ReconnectOnDisconnection() {
|
|
4301
|
-
return __classPrivateFieldGet(this, _a$
|
|
4351
|
+
return __classPrivateFieldGet(this, _a$2, "f", _Device_ReconnectOnDisconnection);
|
|
4302
4352
|
}
|
|
4303
4353
|
static set ReconnectOnDisconnection(newReconnectOnDisconnection) {
|
|
4304
4354
|
_console$8.assertTypeWithError(newReconnectOnDisconnection, "boolean");
|
|
4305
|
-
__classPrivateFieldSet(this, _a$
|
|
4355
|
+
__classPrivateFieldSet(this, _a$2, newReconnectOnDisconnection, "f", _Device_ReconnectOnDisconnection);
|
|
4306
4356
|
}
|
|
4307
4357
|
get reconnectOnDisconnection() {
|
|
4308
4358
|
return __classPrivateFieldGet(this, _Device_reconnectOnDisconnection, "f");
|
|
@@ -4383,8 +4433,11 @@ class Device {
|
|
|
4383
4433
|
get isInsole() {
|
|
4384
4434
|
return this._informationManager.isInsole;
|
|
4385
4435
|
}
|
|
4386
|
-
get
|
|
4387
|
-
return this._informationManager.
|
|
4436
|
+
get isGlove() {
|
|
4437
|
+
return this._informationManager.isGlove;
|
|
4438
|
+
}
|
|
4439
|
+
get side() {
|
|
4440
|
+
return this._informationManager.side;
|
|
4388
4441
|
}
|
|
4389
4442
|
get mtu() {
|
|
4390
4443
|
return this._informationManager.mtu;
|
|
@@ -4405,11 +4458,11 @@ class Device {
|
|
|
4405
4458
|
return __classPrivateFieldGet(this, _Device_sensorConfigurationManager, "f").clearSensorConfiguration();
|
|
4406
4459
|
}
|
|
4407
4460
|
static get ClearSensorConfigurationOnLeave() {
|
|
4408
|
-
return __classPrivateFieldGet(this, _a$
|
|
4461
|
+
return __classPrivateFieldGet(this, _a$2, "f", _Device_ClearSensorConfigurationOnLeave);
|
|
4409
4462
|
}
|
|
4410
4463
|
static set ClearSensorConfigurationOnLeave(newClearSensorConfigurationOnLeave) {
|
|
4411
4464
|
_console$8.assertTypeWithError(newClearSensorConfigurationOnLeave, "boolean");
|
|
4412
|
-
__classPrivateFieldSet(this, _a$
|
|
4465
|
+
__classPrivateFieldSet(this, _a$2, newClearSensorConfigurationOnLeave, "f", _Device_ClearSensorConfigurationOnLeave);
|
|
4413
4466
|
}
|
|
4414
4467
|
get clearSensorConfigurationOnLeave() {
|
|
4415
4468
|
return __classPrivateFieldGet(this, _Device_clearSensorConfigurationOnLeave, "f");
|
|
@@ -4503,10 +4556,15 @@ class Device {
|
|
|
4503
4556
|
get setTfliteThreshold() {
|
|
4504
4557
|
return __classPrivateFieldGet(this, _Device_tfliteManager, "f").setThreshold;
|
|
4505
4558
|
}
|
|
4559
|
+
get canUpdateFirmware() {
|
|
4560
|
+
return __classPrivateFieldGet(this, _Device_connectionManager, "f")?.canUpdateFirmware;
|
|
4561
|
+
}
|
|
4506
4562
|
get uploadFirmware() {
|
|
4563
|
+
__classPrivateFieldGet(this, _Device_instances, "m", _Device_assertCanUpdateFirmware).call(this);
|
|
4507
4564
|
return __classPrivateFieldGet(this, _Device_firmwareManager, "f").uploadFirmware;
|
|
4508
4565
|
}
|
|
4509
4566
|
async reset() {
|
|
4567
|
+
__classPrivateFieldGet(this, _Device_instances, "m", _Device_assertCanUpdateFirmware).call(this);
|
|
4510
4568
|
await __classPrivateFieldGet(this, _Device_firmwareManager, "f").reset();
|
|
4511
4569
|
return __classPrivateFieldGet(this, _Device_connectionManager, "f").disconnect();
|
|
4512
4570
|
}
|
|
@@ -4514,18 +4572,22 @@ class Device {
|
|
|
4514
4572
|
return __classPrivateFieldGet(this, _Device_firmwareManager, "f").status;
|
|
4515
4573
|
}
|
|
4516
4574
|
get getFirmwareImages() {
|
|
4575
|
+
__classPrivateFieldGet(this, _Device_instances, "m", _Device_assertCanUpdateFirmware).call(this);
|
|
4517
4576
|
return __classPrivateFieldGet(this, _Device_firmwareManager, "f").getImages;
|
|
4518
4577
|
}
|
|
4519
4578
|
get firmwareImages() {
|
|
4520
4579
|
return __classPrivateFieldGet(this, _Device_firmwareManager, "f").images;
|
|
4521
4580
|
}
|
|
4522
4581
|
get eraseFirmwareImage() {
|
|
4582
|
+
__classPrivateFieldGet(this, _Device_instances, "m", _Device_assertCanUpdateFirmware).call(this);
|
|
4523
4583
|
return __classPrivateFieldGet(this, _Device_firmwareManager, "f").eraseImage;
|
|
4524
4584
|
}
|
|
4525
4585
|
get confirmFirmwareImage() {
|
|
4586
|
+
__classPrivateFieldGet(this, _Device_instances, "m", _Device_assertCanUpdateFirmware).call(this);
|
|
4526
4587
|
return __classPrivateFieldGet(this, _Device_firmwareManager, "f").confirmImage;
|
|
4527
4588
|
}
|
|
4528
4589
|
get testFirmwareImage() {
|
|
4590
|
+
__classPrivateFieldGet(this, _Device_instances, "m", _Device_assertCanUpdateFirmware).call(this);
|
|
4529
4591
|
return __classPrivateFieldGet(this, _Device_firmwareManager, "f").testImage;
|
|
4530
4592
|
}
|
|
4531
4593
|
get isServerSide() {
|
|
@@ -4540,8 +4602,11 @@ class Device {
|
|
|
4540
4602
|
__classPrivateFieldSet(this, _Device_isServerSide, newIsServerSide, "f");
|
|
4541
4603
|
__classPrivateFieldGet(this, _Device_fileTransferManager, "f").isServerSide = this.isServerSide;
|
|
4542
4604
|
}
|
|
4605
|
+
get isUkaton() {
|
|
4606
|
+
return this.deviceInformation.modelNumber.includes("Ukaton");
|
|
4607
|
+
}
|
|
4543
4608
|
}
|
|
4544
|
-
_a$
|
|
4609
|
+
_a$2 = Device, _Device_eventDispatcher = new WeakMap(), _Device_connectionManager = new WeakMap(), _Device_isConnected = new WeakMap(), _Device_reconnectOnDisconnection = new WeakMap(), _Device_reconnectIntervalId = new WeakMap(), _Device_deviceInformationManager = new WeakMap(), _Device_batteryLevel = new WeakMap(), _Device_sensorConfigurationManager = new WeakMap(), _Device_clearSensorConfigurationOnLeave = new WeakMap(), _Device_sensorDataManager = new WeakMap(), _Device_vibrationManager = new WeakMap(), _Device_fileTransferManager = new WeakMap(), _Device_tfliteManager = new WeakMap(), _Device_firmwareManager = new WeakMap(), _Device_isServerSide = new WeakMap(), _Device_instances = new WeakSet(), _Device_DefaultConnectionManager = function _Device_DefaultConnectionManager() {
|
|
4545
4610
|
return new WebBluetoothConnectionManager();
|
|
4546
4611
|
}, _Device_dispatchEvent_get = function _Device_dispatchEvent_get() {
|
|
4547
4612
|
return __classPrivateFieldGet(this, _Device_eventDispatcher, "f").dispatchEvent;
|
|
@@ -4551,7 +4616,11 @@ _a$1 = Device, _Device_eventDispatcher = new WeakMap(), _Device_connectionManage
|
|
|
4551
4616
|
_console$8.assertWithError(this.isConnected, "notConnected");
|
|
4552
4617
|
}, _Device_hasRequiredInformation_get = function _Device_hasRequiredInformation_get() {
|
|
4553
4618
|
return RequiredInformationConnectionMessages.every((messageType) => {
|
|
4554
|
-
|
|
4619
|
+
const hasConnectionMessage = this.latestConnectionMessages.has(messageType);
|
|
4620
|
+
if (!hasConnectionMessage) {
|
|
4621
|
+
_console$8.log(`didn't receive "${messageType}" message`);
|
|
4622
|
+
}
|
|
4623
|
+
return hasConnectionMessage;
|
|
4555
4624
|
});
|
|
4556
4625
|
}, _Device_requestRequiredInformation = function _Device_requestRequiredInformation() {
|
|
4557
4626
|
const messages = RequiredInformationConnectionMessages.map((messageType) => ({
|
|
@@ -4563,6 +4632,7 @@ _a$1 = Device, _Device_eventDispatcher = new WeakMap(), _Device_connectionManage
|
|
|
4563
4632
|
}, _Device_onConnectionStatusUpdated = function _Device_onConnectionStatusUpdated(connectionStatus) {
|
|
4564
4633
|
_console$8.log({ connectionStatus });
|
|
4565
4634
|
if (connectionStatus == "notConnected") {
|
|
4635
|
+
__classPrivateFieldGet(this, _Device_instances, "m", _Device_clearConnection).call(this);
|
|
4566
4636
|
if (this.canReconnect && this.reconnectOnDisconnection) {
|
|
4567
4637
|
_console$8.log("starting reconnect interval...");
|
|
4568
4638
|
__classPrivateFieldSet(this, _Device_reconnectIntervalId, setInterval(() => {
|
|
@@ -4607,10 +4677,12 @@ _a$1 = Device, _Device_eventDispatcher = new WeakMap(), _Device_connectionManage
|
|
|
4607
4677
|
break;
|
|
4608
4678
|
}
|
|
4609
4679
|
}, _Device_clear = function _Device_clear() {
|
|
4610
|
-
this.
|
|
4611
|
-
this.latestConnectionMessage.clear();
|
|
4680
|
+
__classPrivateFieldGet(this, _Device_instances, "m", _Device_clearConnection).call(this);
|
|
4612
4681
|
this._informationManager.clear();
|
|
4613
4682
|
__classPrivateFieldGet(this, _Device_deviceInformationManager, "f").clear();
|
|
4683
|
+
}, _Device_clearConnection = function _Device_clearConnection() {
|
|
4684
|
+
this.connectionManager?.clear();
|
|
4685
|
+
this.latestConnectionMessages.clear();
|
|
4614
4686
|
}, _Device_onConnectionMessageReceived = function _Device_onConnectionMessageReceived(messageType, dataView) {
|
|
4615
4687
|
_console$8.log({ messageType, dataView });
|
|
4616
4688
|
switch (messageType) {
|
|
@@ -4645,7 +4717,7 @@ _a$1 = Device, _Device_eventDispatcher = new WeakMap(), _Device_connectionManage
|
|
|
4645
4717
|
throw Error(`uncaught messageType ${messageType}`);
|
|
4646
4718
|
}
|
|
4647
4719
|
}
|
|
4648
|
-
this.
|
|
4720
|
+
this.latestConnectionMessages.set(messageType, dataView);
|
|
4649
4721
|
__classPrivateFieldGet(this, _Device_instances, "a", _Device_dispatchEvent_get).call(this, "connectionMessage", { messageType, dataView });
|
|
4650
4722
|
}, _Device_onConnectionMessagesReceived = function _Device_onConnectionMessagesReceived() {
|
|
4651
4723
|
if (!this.isConnected && __classPrivateFieldGet(this, _Device_instances, "a", _Device_hasRequiredInformation_get)) {
|
|
@@ -4664,28 +4736,34 @@ _a$1 = Device, _Device_eventDispatcher = new WeakMap(), _Device_connectionManage
|
|
|
4664
4736
|
__classPrivateFieldSet(this, _Device_batteryLevel, updatedBatteryLevel, "f");
|
|
4665
4737
|
_console$8.log({ updatedBatteryLevel: __classPrivateFieldGet(this, _Device_batteryLevel, "f") });
|
|
4666
4738
|
__classPrivateFieldGet(this, _Device_instances, "a", _Device_dispatchEvent_get).call(this, "batteryLevel", { batteryLevel: __classPrivateFieldGet(this, _Device_batteryLevel, "f") });
|
|
4739
|
+
}, _Device_assertCanUpdateFirmware = function _Device_assertCanUpdateFirmware() {
|
|
4740
|
+
_console$8.assertWithError(this.canUpdateFirmware, "can't update firmware");
|
|
4667
4741
|
}, _Device_sendSmpMessage = function _Device_sendSmpMessage(data) {
|
|
4742
|
+
__classPrivateFieldGet(this, _Device_instances, "m", _Device_assertCanUpdateFirmware).call(this);
|
|
4668
4743
|
return __classPrivateFieldGet(this, _Device_connectionManager, "f").sendSmpMessage(data);
|
|
4669
4744
|
};
|
|
4670
4745
|
_Device_ReconnectOnDisconnection = { value: false };
|
|
4671
4746
|
_Device_ClearSensorConfigurationOnLeave = { value: true };
|
|
4672
4747
|
|
|
4673
|
-
var _DevicePairPressureSensorDataManager_instances, _DevicePairPressureSensorDataManager_rawPressure, _DevicePairPressureSensorDataManager_centerOfPressureHelper, _DevicePairPressureSensorDataManager_hasAllPressureData_get, _DevicePairPressureSensorDataManager_updatePressureData;
|
|
4674
|
-
const _console$7 = createConsole("DevicePairPressureSensorDataManager", { log:
|
|
4748
|
+
var _DevicePairPressureSensorDataManager_instances, _DevicePairPressureSensorDataManager_rawPressure, _DevicePairPressureSensorDataManager_centerOfPressureHelper, _DevicePairPressureSensorDataManager_normalizedSumRangeHelper, _DevicePairPressureSensorDataManager_hasAllPressureData_get, _DevicePairPressureSensorDataManager_updatePressureData;
|
|
4749
|
+
const _console$7 = createConsole("DevicePairPressureSensorDataManager", { log: false });
|
|
4675
4750
|
class DevicePairPressureSensorDataManager {
|
|
4676
4751
|
constructor() {
|
|
4677
4752
|
_DevicePairPressureSensorDataManager_instances.add(this);
|
|
4678
4753
|
_DevicePairPressureSensorDataManager_rawPressure.set(this, {});
|
|
4679
4754
|
_DevicePairPressureSensorDataManager_centerOfPressureHelper.set(this, new CenterOfPressureHelper());
|
|
4755
|
+
_DevicePairPressureSensorDataManager_normalizedSumRangeHelper.set(this, new RangeHelper());
|
|
4756
|
+
this.resetPressureRange();
|
|
4680
4757
|
}
|
|
4681
4758
|
resetPressureRange() {
|
|
4682
4759
|
__classPrivateFieldGet(this, _DevicePairPressureSensorDataManager_centerOfPressureHelper, "f").reset();
|
|
4760
|
+
__classPrivateFieldGet(this, _DevicePairPressureSensorDataManager_normalizedSumRangeHelper, "f").reset();
|
|
4683
4761
|
}
|
|
4684
4762
|
onDevicePressureData(event) {
|
|
4685
4763
|
const { pressure } = event.message;
|
|
4686
|
-
const
|
|
4687
|
-
_console$7.log({ pressure,
|
|
4688
|
-
__classPrivateFieldGet(this, _DevicePairPressureSensorDataManager_rawPressure, "f")[
|
|
4764
|
+
const { side } = event.target;
|
|
4765
|
+
_console$7.log({ pressure, side });
|
|
4766
|
+
__classPrivateFieldGet(this, _DevicePairPressureSensorDataManager_rawPressure, "f")[side] = pressure;
|
|
4689
4767
|
if (__classPrivateFieldGet(this, _DevicePairPressureSensorDataManager_instances, "a", _DevicePairPressureSensorDataManager_hasAllPressureData_get)) {
|
|
4690
4768
|
return __classPrivateFieldGet(this, _DevicePairPressureSensorDataManager_instances, "m", _DevicePairPressureSensorDataManager_updatePressureData).call(this);
|
|
4691
4769
|
}
|
|
@@ -4694,36 +4772,43 @@ class DevicePairPressureSensorDataManager {
|
|
|
4694
4772
|
}
|
|
4695
4773
|
}
|
|
4696
4774
|
}
|
|
4697
|
-
_DevicePairPressureSensorDataManager_rawPressure = new WeakMap(), _DevicePairPressureSensorDataManager_centerOfPressureHelper = new WeakMap(), _DevicePairPressureSensorDataManager_instances = new WeakSet(), _DevicePairPressureSensorDataManager_hasAllPressureData_get = function _DevicePairPressureSensorDataManager_hasAllPressureData_get() {
|
|
4698
|
-
return
|
|
4775
|
+
_DevicePairPressureSensorDataManager_rawPressure = new WeakMap(), _DevicePairPressureSensorDataManager_centerOfPressureHelper = new WeakMap(), _DevicePairPressureSensorDataManager_normalizedSumRangeHelper = new WeakMap(), _DevicePairPressureSensorDataManager_instances = new WeakSet(), _DevicePairPressureSensorDataManager_hasAllPressureData_get = function _DevicePairPressureSensorDataManager_hasAllPressureData_get() {
|
|
4776
|
+
return Sides.every((side) => side in __classPrivateFieldGet(this, _DevicePairPressureSensorDataManager_rawPressure, "f"));
|
|
4699
4777
|
}, _DevicePairPressureSensorDataManager_updatePressureData = function _DevicePairPressureSensorDataManager_updatePressureData() {
|
|
4700
|
-
const pressure = {
|
|
4701
|
-
|
|
4702
|
-
|
|
4703
|
-
pressure.
|
|
4778
|
+
const pressure = { scaledSum: 0, normalizedSum: 0, sensors: { left: [], right: [] } };
|
|
4779
|
+
Sides.forEach((side) => {
|
|
4780
|
+
const sidePressure = __classPrivateFieldGet(this, _DevicePairPressureSensorDataManager_rawPressure, "f")[side];
|
|
4781
|
+
pressure.scaledSum += sidePressure.scaledSum;
|
|
4704
4782
|
});
|
|
4705
|
-
|
|
4783
|
+
pressure.normalizedSum += __classPrivateFieldGet(this, _DevicePairPressureSensorDataManager_normalizedSumRangeHelper, "f").updateAndGetNormalization(pressure.scaledSum, false);
|
|
4784
|
+
if (pressure.scaledSum > 0) {
|
|
4706
4785
|
pressure.center = { x: 0, y: 0 };
|
|
4707
|
-
|
|
4786
|
+
Sides.forEach((side) => {
|
|
4708
4787
|
const sidePressure = __classPrivateFieldGet(this, _DevicePairPressureSensorDataManager_rawPressure, "f")[side];
|
|
4709
|
-
|
|
4710
|
-
|
|
4711
|
-
|
|
4712
|
-
|
|
4713
|
-
|
|
4714
|
-
|
|
4715
|
-
|
|
4716
|
-
|
|
4788
|
+
{
|
|
4789
|
+
sidePressure.sensors.forEach((sensor) => {
|
|
4790
|
+
const _sensor = { ...sensor };
|
|
4791
|
+
_sensor.weightedValue = sensor.scaledValue / pressure.scaledSum;
|
|
4792
|
+
let { x, y } = sensor.position;
|
|
4793
|
+
x /= 2;
|
|
4794
|
+
if (side == "right") {
|
|
4795
|
+
x += 0.5;
|
|
4796
|
+
}
|
|
4797
|
+
_sensor.position = { x, y };
|
|
4798
|
+
pressure.center.x += _sensor.position.x * _sensor.weightedValue;
|
|
4799
|
+
pressure.center.y += _sensor.position.y * _sensor.weightedValue;
|
|
4800
|
+
pressure.sensors[side].push(_sensor);
|
|
4801
|
+
});
|
|
4717
4802
|
}
|
|
4718
4803
|
});
|
|
4719
|
-
pressure.normalizedCenter = __classPrivateFieldGet(this, _DevicePairPressureSensorDataManager_centerOfPressureHelper, "f").updateAndGetNormalization(pressure.center);
|
|
4804
|
+
pressure.normalizedCenter = __classPrivateFieldGet(this, _DevicePairPressureSensorDataManager_centerOfPressureHelper, "f").updateAndGetNormalization(pressure.center, false);
|
|
4720
4805
|
}
|
|
4721
4806
|
_console$7.log({ devicePairPressure: pressure });
|
|
4722
4807
|
return pressure;
|
|
4723
4808
|
};
|
|
4724
4809
|
|
|
4725
4810
|
var _DevicePairSensorDataManager_timestamps;
|
|
4726
|
-
const _console$6 = createConsole("DevicePairSensorDataManager", { log:
|
|
4811
|
+
const _console$6 = createConsole("DevicePairSensorDataManager", { log: false });
|
|
4727
4812
|
const DevicePairSensorTypes = ["pressure", "sensorData"];
|
|
4728
4813
|
const DevicePairSensorDataEventTypes = DevicePairSensorTypes;
|
|
4729
4814
|
class DevicePairSensorDataManager {
|
|
@@ -4743,7 +4828,7 @@ class DevicePairSensorDataManager {
|
|
|
4743
4828
|
if (!__classPrivateFieldGet(this, _DevicePairSensorDataManager_timestamps, "f")[sensorType]) {
|
|
4744
4829
|
__classPrivateFieldGet(this, _DevicePairSensorDataManager_timestamps, "f")[sensorType] = {};
|
|
4745
4830
|
}
|
|
4746
|
-
__classPrivateFieldGet(this, _DevicePairSensorDataManager_timestamps, "f")[sensorType][event.target.
|
|
4831
|
+
__classPrivateFieldGet(this, _DevicePairSensorDataManager_timestamps, "f")[sensorType][event.target.side] = timestamp;
|
|
4747
4832
|
let value;
|
|
4748
4833
|
switch (sensorType) {
|
|
4749
4834
|
case "pressure":
|
|
@@ -4765,8 +4850,8 @@ class DevicePairSensorDataManager {
|
|
|
4765
4850
|
}
|
|
4766
4851
|
_DevicePairSensorDataManager_timestamps = new WeakMap();
|
|
4767
4852
|
|
|
4768
|
-
var _DevicePair_instances, _a, _DevicePair_eventDispatcher, _DevicePair_dispatchEvent_get, _DevicePair_left, _DevicePair_right, _DevicePair_addDeviceEventListeners, _DevicePair_removeDeviceEventListeners,
|
|
4769
|
-
const _console$5 = createConsole("DevicePair", { log:
|
|
4853
|
+
var _DevicePair_instances, _a$1, _DevicePair_type, _DevicePair_eventDispatcher, _DevicePair_dispatchEvent_get, _DevicePair_left, _DevicePair_right, _DevicePair_isDeviceCorrectType, _DevicePair_addDeviceEventListeners, _DevicePair_removeDeviceEventListeners, _DevicePair_removeDevice, _DevicePair_boundDeviceEventListeners, _DevicePair_redispatchDeviceEvent, _DevicePair_onDeviceIsConnected, _DevicePair_onDeviceType, _DevicePair_sensorDataManager, _DevicePair_onDeviceSensorData, _DevicePair_insoles, _DevicePair_gloves;
|
|
4854
|
+
const _console$5 = createConsole("DevicePair", { log: false });
|
|
4770
4855
|
function getDevicePairDeviceEventType(deviceEventType) {
|
|
4771
4856
|
return `device${capitalizeFirstCharacter(deviceEventType)}`;
|
|
4772
4857
|
}
|
|
@@ -4777,9 +4862,11 @@ const DevicePairEventTypes = [
|
|
|
4777
4862
|
...DevicePairSensorDataEventTypes,
|
|
4778
4863
|
...DevicePairDeviceEventTypes,
|
|
4779
4864
|
];
|
|
4865
|
+
const DevicePairTypes = ["insoles", "gloves"];
|
|
4780
4866
|
class DevicePair {
|
|
4781
|
-
constructor() {
|
|
4867
|
+
constructor(type) {
|
|
4782
4868
|
_DevicePair_instances.add(this);
|
|
4869
|
+
_DevicePair_type.set(this, void 0);
|
|
4783
4870
|
_DevicePair_eventDispatcher.set(this, new EventDispatcher(this, DevicePairEventTypes));
|
|
4784
4871
|
_DevicePair_left.set(this, void 0);
|
|
4785
4872
|
_DevicePair_right.set(this, void 0);
|
|
@@ -4789,10 +4876,14 @@ class DevicePair {
|
|
|
4789
4876
|
getType: __classPrivateFieldGet(this, _DevicePair_instances, "m", _DevicePair_onDeviceType).bind(this),
|
|
4790
4877
|
});
|
|
4791
4878
|
_DevicePair_sensorDataManager.set(this, new DevicePairSensorDataManager());
|
|
4879
|
+
__classPrivateFieldSet(this, _DevicePair_type, type, "f");
|
|
4792
4880
|
__classPrivateFieldGet(this, _DevicePair_sensorDataManager, "f").eventDispatcher = __classPrivateFieldGet(this, _DevicePair_eventDispatcher, "f");
|
|
4793
4881
|
}
|
|
4794
4882
|
get sides() {
|
|
4795
|
-
return
|
|
4883
|
+
return Sides;
|
|
4884
|
+
}
|
|
4885
|
+
get type() {
|
|
4886
|
+
return __classPrivateFieldGet(this, _DevicePair_type, "f");
|
|
4796
4887
|
}
|
|
4797
4888
|
get addEventListener() {
|
|
4798
4889
|
return __classPrivateFieldGet(this, _DevicePair_eventDispatcher, "f").addEventListener;
|
|
@@ -4816,20 +4907,20 @@ class DevicePair {
|
|
|
4816
4907
|
return __classPrivateFieldGet(this, _DevicePair_right, "f");
|
|
4817
4908
|
}
|
|
4818
4909
|
get isConnected() {
|
|
4819
|
-
return
|
|
4910
|
+
return Sides.every((side) => this[side]?.isConnected);
|
|
4820
4911
|
}
|
|
4821
4912
|
get isPartiallyConnected() {
|
|
4822
|
-
return
|
|
4913
|
+
return Sides.some((side) => this[side]?.isConnected);
|
|
4823
4914
|
}
|
|
4824
4915
|
get isHalfConnected() {
|
|
4825
4916
|
return this.isPartiallyConnected && !this.isConnected;
|
|
4826
4917
|
}
|
|
4827
|
-
|
|
4828
|
-
if (!device
|
|
4829
|
-
_console$5.warn(
|
|
4918
|
+
assignDevice(device) {
|
|
4919
|
+
if (!__classPrivateFieldGet(this, _DevicePair_instances, "m", _DevicePair_isDeviceCorrectType).call(this, device)) {
|
|
4920
|
+
_console$5.warn(`device is incorrect type ${device.type} for ${this.type} devicePair`);
|
|
4830
4921
|
return;
|
|
4831
4922
|
}
|
|
4832
|
-
const side = device.
|
|
4923
|
+
const side = device.side;
|
|
4833
4924
|
const currentDevice = this[side];
|
|
4834
4925
|
if (device == currentDevice) {
|
|
4835
4926
|
_console$5.log("device already assigned");
|
|
@@ -4847,35 +4938,46 @@ class DevicePair {
|
|
|
4847
4938
|
__classPrivateFieldSet(this, _DevicePair_right, device, "f");
|
|
4848
4939
|
break;
|
|
4849
4940
|
}
|
|
4850
|
-
_console$5.log(`assigned ${side}
|
|
4941
|
+
_console$5.log(`assigned ${side} device`, device);
|
|
4851
4942
|
this.resetPressureRange();
|
|
4852
4943
|
__classPrivateFieldGet(this, _DevicePair_instances, "a", _DevicePair_dispatchEvent_get).call(this, "isConnected", { isConnected: this.isConnected });
|
|
4853
4944
|
__classPrivateFieldGet(this, _DevicePair_instances, "a", _DevicePair_dispatchEvent_get).call(this, "deviceIsConnected", { device, isConnected: device.isConnected, side });
|
|
4854
4945
|
return currentDevice;
|
|
4855
4946
|
}
|
|
4856
4947
|
async setSensorConfiguration(sensorConfiguration) {
|
|
4857
|
-
for (let i = 0; i <
|
|
4858
|
-
const side =
|
|
4948
|
+
for (let i = 0; i < Sides.length; i++) {
|
|
4949
|
+
const side = Sides[i];
|
|
4859
4950
|
if (this[side]?.isConnected) {
|
|
4860
4951
|
await this[side].setSensorConfiguration(sensorConfiguration);
|
|
4861
4952
|
}
|
|
4862
4953
|
}
|
|
4863
4954
|
}
|
|
4864
4955
|
resetPressureRange() {
|
|
4956
|
+
Sides.forEach((side) => this[side]?.resetPressureRange());
|
|
4865
4957
|
__classPrivateFieldGet(this, _DevicePair_sensorDataManager, "f").resetPressureRange();
|
|
4866
4958
|
}
|
|
4867
4959
|
async triggerVibration(vibrationConfigurations, sendImmediately) {
|
|
4868
|
-
const promises =
|
|
4960
|
+
const promises = Sides.map((side) => {
|
|
4869
4961
|
return this[side]?.triggerVibration(vibrationConfigurations, sendImmediately);
|
|
4870
4962
|
}).filter(Boolean);
|
|
4871
4963
|
return Promise.allSettled(promises);
|
|
4872
4964
|
}
|
|
4873
|
-
static get
|
|
4874
|
-
return __classPrivateFieldGet(this, _a, "f",
|
|
4965
|
+
static get insoles() {
|
|
4966
|
+
return __classPrivateFieldGet(this, _a$1, "f", _DevicePair_insoles);
|
|
4967
|
+
}
|
|
4968
|
+
static get gloves() {
|
|
4969
|
+
return __classPrivateFieldGet(this, _a$1, "f", _DevicePair_gloves);
|
|
4875
4970
|
}
|
|
4876
4971
|
}
|
|
4877
|
-
_a = DevicePair, _DevicePair_eventDispatcher = new WeakMap(), _DevicePair_left = new WeakMap(), _DevicePair_right = new WeakMap(), _DevicePair_boundDeviceEventListeners = new WeakMap(), _DevicePair_sensorDataManager = new WeakMap(), _DevicePair_instances = new WeakSet(), _DevicePair_dispatchEvent_get = function _DevicePair_dispatchEvent_get() {
|
|
4972
|
+
_a$1 = DevicePair, _DevicePair_type = new WeakMap(), _DevicePair_eventDispatcher = new WeakMap(), _DevicePair_left = new WeakMap(), _DevicePair_right = new WeakMap(), _DevicePair_boundDeviceEventListeners = new WeakMap(), _DevicePair_sensorDataManager = new WeakMap(), _DevicePair_instances = new WeakSet(), _DevicePair_dispatchEvent_get = function _DevicePair_dispatchEvent_get() {
|
|
4878
4973
|
return __classPrivateFieldGet(this, _DevicePair_eventDispatcher, "f").dispatchEvent;
|
|
4974
|
+
}, _DevicePair_isDeviceCorrectType = function _DevicePair_isDeviceCorrectType(device) {
|
|
4975
|
+
switch (this.type) {
|
|
4976
|
+
case "insoles":
|
|
4977
|
+
return device.isInsole;
|
|
4978
|
+
case "gloves":
|
|
4979
|
+
return device.isGlove;
|
|
4980
|
+
}
|
|
4879
4981
|
}, _DevicePair_addDeviceEventListeners = function _DevicePair_addDeviceEventListeners(device) {
|
|
4880
4982
|
addEventListeners(device, __classPrivateFieldGet(this, _DevicePair_boundDeviceEventListeners, "f"));
|
|
4881
4983
|
DeviceEventTypes.forEach((deviceEventType) => {
|
|
@@ -4886,12 +4988,12 @@ _a = DevicePair, _DevicePair_eventDispatcher = new WeakMap(), _DevicePair_left =
|
|
|
4886
4988
|
DeviceEventTypes.forEach((deviceEventType) => {
|
|
4887
4989
|
device.removeEventListener(deviceEventType, __classPrivateFieldGet(this, _DevicePair_instances, "m", _DevicePair_redispatchDeviceEvent).bind(this));
|
|
4888
4990
|
});
|
|
4889
|
-
},
|
|
4890
|
-
const foundDevice =
|
|
4991
|
+
}, _DevicePair_removeDevice = function _DevicePair_removeDevice(device) {
|
|
4992
|
+
const foundDevice = Sides.some((side) => {
|
|
4891
4993
|
if (this[side] != device) {
|
|
4892
4994
|
return false;
|
|
4893
4995
|
}
|
|
4894
|
-
_console$5.log(`removing ${side}
|
|
4996
|
+
_console$5.log(`removing ${side} device`, device);
|
|
4895
4997
|
removeEventListeners(device, __classPrivateFieldGet(this, _DevicePair_boundDeviceEventListeners, "f"));
|
|
4896
4998
|
delete this[side];
|
|
4897
4999
|
return true;
|
|
@@ -4905,31 +5007,35 @@ _a = DevicePair, _DevicePair_eventDispatcher = new WeakMap(), _DevicePair_left =
|
|
|
4905
5007
|
__classPrivateFieldGet(this, _DevicePair_instances, "a", _DevicePair_dispatchEvent_get).call(this, getDevicePairDeviceEventType(type), {
|
|
4906
5008
|
...message,
|
|
4907
5009
|
device,
|
|
4908
|
-
side: device.
|
|
5010
|
+
side: device.side,
|
|
4909
5011
|
});
|
|
4910
5012
|
}, _DevicePair_onDeviceIsConnected = function _DevicePair_onDeviceIsConnected(deviceEvent) {
|
|
4911
5013
|
__classPrivateFieldGet(this, _DevicePair_instances, "a", _DevicePair_dispatchEvent_get).call(this, "isConnected", { isConnected: this.isConnected });
|
|
4912
5014
|
}, _DevicePair_onDeviceType = function _DevicePair_onDeviceType(deviceEvent) {
|
|
4913
5015
|
const { target: device } = deviceEvent;
|
|
4914
|
-
if (this[device.
|
|
5016
|
+
if (this[device.side] == device) {
|
|
4915
5017
|
return;
|
|
4916
5018
|
}
|
|
4917
|
-
const foundDevice = __classPrivateFieldGet(this, _DevicePair_instances, "m",
|
|
5019
|
+
const foundDevice = __classPrivateFieldGet(this, _DevicePair_instances, "m", _DevicePair_removeDevice).call(this, device);
|
|
4918
5020
|
if (!foundDevice) {
|
|
4919
5021
|
return;
|
|
4920
5022
|
}
|
|
4921
|
-
this.
|
|
5023
|
+
this.assignDevice(device);
|
|
4922
5024
|
}, _DevicePair_onDeviceSensorData = function _DevicePair_onDeviceSensorData(deviceEvent) {
|
|
4923
5025
|
if (this.isConnected) {
|
|
4924
5026
|
__classPrivateFieldGet(this, _DevicePair_sensorDataManager, "f").onDeviceSensorData(deviceEvent);
|
|
4925
5027
|
}
|
|
4926
5028
|
};
|
|
4927
|
-
|
|
5029
|
+
_DevicePair_insoles = { value: new _a$1("insoles") };
|
|
5030
|
+
_DevicePair_gloves = { value: new _a$1("gloves") };
|
|
4928
5031
|
(() => {
|
|
4929
5032
|
DeviceManager$1.AddEventListener("deviceConnected", (event) => {
|
|
4930
5033
|
const { device } = event.message;
|
|
4931
5034
|
if (device.isInsole) {
|
|
4932
|
-
__classPrivateFieldGet(_a, _a, "f",
|
|
5035
|
+
__classPrivateFieldGet(_a$1, _a$1, "f", _DevicePair_insoles).assignDevice(device);
|
|
5036
|
+
}
|
|
5037
|
+
if (device.isGlove) {
|
|
5038
|
+
__classPrivateFieldGet(_a$1, _a$1, "f", _DevicePair_gloves).assignDevice(device);
|
|
4933
5039
|
}
|
|
4934
5040
|
});
|
|
4935
5041
|
})();
|
|
@@ -4988,7 +5094,7 @@ createServerMessage("stopScan");
|
|
|
4988
5094
|
createServerMessage("discoveredDevices");
|
|
4989
5095
|
|
|
4990
5096
|
var _ClientConnectionManager_instances, _ClientConnectionManager_bluetoothId, _ClientConnectionManager_isConnected, _ClientConnectionManager_requestDeviceInformation, _ClientConnectionManager_onClientMessageCallback;
|
|
4991
|
-
const _console$3 = createConsole("ClientConnectionManager", { log:
|
|
5097
|
+
const _console$3 = createConsole("ClientConnectionManager", { log: false });
|
|
4992
5098
|
const ClientDeviceInformationMessageTypes = [...DeviceInformationMessageTypes, "batteryLevel"];
|
|
4993
5099
|
class ClientConnectionManager extends BaseConnectionManager {
|
|
4994
5100
|
constructor() {
|
|
@@ -5003,6 +5109,9 @@ class ClientConnectionManager extends BaseConnectionManager {
|
|
|
5003
5109
|
static get type() {
|
|
5004
5110
|
return "client";
|
|
5005
5111
|
}
|
|
5112
|
+
get canUpdateFirmware() {
|
|
5113
|
+
return false;
|
|
5114
|
+
}
|
|
5006
5115
|
get bluetoothId() {
|
|
5007
5116
|
return __classPrivateFieldGet(this, _ClientConnectionManager_bluetoothId, "f");
|
|
5008
5117
|
}
|
|
@@ -5029,6 +5138,9 @@ class ClientConnectionManager extends BaseConnectionManager {
|
|
|
5029
5138
|
__classPrivateFieldGet(this, _ClientConnectionManager_instances, "m", _ClientConnectionManager_requestDeviceInformation).call(this);
|
|
5030
5139
|
}
|
|
5031
5140
|
}
|
|
5141
|
+
get isAvailable() {
|
|
5142
|
+
return this.client.isConnected;
|
|
5143
|
+
}
|
|
5032
5144
|
async connect() {
|
|
5033
5145
|
await super.connect();
|
|
5034
5146
|
this.sendClientConnectMessage();
|
|
@@ -5082,8 +5194,8 @@ _ClientConnectionManager_bluetoothId = new WeakMap(), _ClientConnectionManager_i
|
|
|
5082
5194
|
}
|
|
5083
5195
|
};
|
|
5084
5196
|
|
|
5085
|
-
var _BaseClient_instances, _BaseClient_reset, _BaseClient_devices, _BaseClient_eventDispatcher, _BaseClient__connectionStatus, _BaseClient_parseMessageCallback, _BaseClient__isScanningAvailable, _BaseClient_isScanningAvailable_get, _BaseClient_isScanningAvailable_set, _BaseClient_assertIsScanningAvailable, _BaseClient__isScanning, _BaseClient_isScanning_get, _BaseClient_isScanning_set, _BaseClient_requestIsScanning, _BaseClient_assertIsScanning, _BaseClient_assertIsNotScanning, _BaseClient_discoveredDevices, _BaseClient_onExpiredDiscoveredDevice, _BaseClient_getOrCreateDevice;
|
|
5086
|
-
const _console$2 = createConsole("BaseClient", { log:
|
|
5197
|
+
var _BaseClient_instances, _a, _BaseClient_reset, _BaseClient_devices, _BaseClient_eventDispatcher, _BaseClient__connectionStatus, _BaseClient_RequiredMessageTypes, _BaseClient_requiredMessageTypes_get, _BaseClient_receivedMessageTypes, _BaseClient_checkIfFullyConnected, _BaseClient_parseMessageCallback, _BaseClient__isScanningAvailable, _BaseClient_isScanningAvailable_get, _BaseClient_isScanningAvailable_set, _BaseClient_assertIsScanningAvailable, _BaseClient__isScanning, _BaseClient_isScanning_get, _BaseClient_isScanning_set, _BaseClient_requestIsScanning, _BaseClient_assertIsScanning, _BaseClient_assertIsNotScanning, _BaseClient_discoveredDevices, _BaseClient_onExpiredDiscoveredDevice, _BaseClient_getOrCreateDevice;
|
|
5198
|
+
const _console$2 = createConsole("BaseClient", { log: false });
|
|
5087
5199
|
const ClientConnectionStatuses = ["notConnected", "connecting", "connected", "disconnecting"];
|
|
5088
5200
|
const ClientEventTypes = [
|
|
5089
5201
|
...ClientConnectionStatuses,
|
|
@@ -5101,6 +5213,7 @@ class BaseClient {
|
|
|
5101
5213
|
_BaseClient_eventDispatcher.set(this, new EventDispatcher(this, ClientEventTypes));
|
|
5102
5214
|
this._reconnectOnDisconnection = this.baseConstructor.ReconnectOnDisconnection;
|
|
5103
5215
|
_BaseClient__connectionStatus.set(this, "notConnected");
|
|
5216
|
+
_BaseClient_receivedMessageTypes.set(this, []);
|
|
5104
5217
|
_BaseClient__isScanningAvailable.set(this, false);
|
|
5105
5218
|
_BaseClient__isScanning.set(this, false);
|
|
5106
5219
|
_BaseClient_discoveredDevices.set(this, {});
|
|
@@ -5156,9 +5269,7 @@ class BaseClient {
|
|
|
5156
5269
|
case "connected":
|
|
5157
5270
|
case "notConnected":
|
|
5158
5271
|
this.dispatchEvent("isConnected", { isConnected: this.isConnected });
|
|
5159
|
-
if (this.isConnected)
|
|
5160
|
-
this.sendServerMessage("isScanningAvailable", "discoveredDevices", "connectedDevices");
|
|
5161
|
-
}
|
|
5272
|
+
if (this.isConnected) ;
|
|
5162
5273
|
else {
|
|
5163
5274
|
__classPrivateFieldGet(this, _BaseClient_instances, "m", _BaseClient_reset).call(this);
|
|
5164
5275
|
}
|
|
@@ -5168,9 +5279,14 @@ class BaseClient {
|
|
|
5168
5279
|
get connectionStatus() {
|
|
5169
5280
|
return this._connectionStatus;
|
|
5170
5281
|
}
|
|
5282
|
+
_sendRequiredMessages() {
|
|
5283
|
+
_console$2.log("sending required messages", __classPrivateFieldGet(this, _BaseClient_receivedMessageTypes, "f"));
|
|
5284
|
+
this.sendServerMessage(...__classPrivateFieldGet(this, _BaseClient_instances, "a", _BaseClient_requiredMessageTypes_get));
|
|
5285
|
+
}
|
|
5171
5286
|
parseMessage(dataView) {
|
|
5172
5287
|
_console$2.log("parseMessage", { dataView });
|
|
5173
5288
|
parseMessage(dataView, ServerMessageTypes, __classPrivateFieldGet(this, _BaseClient_instances, "m", _BaseClient_parseMessageCallback).bind(this), null, true);
|
|
5289
|
+
__classPrivateFieldGet(this, _BaseClient_instances, "m", _BaseClient_checkIfFullyConnected).call(this);
|
|
5174
5290
|
}
|
|
5175
5291
|
get isScanningAvailable() {
|
|
5176
5292
|
return __classPrivateFieldGet(this, _BaseClient_instances, "a", _BaseClient_isScanningAvailable_get);
|
|
@@ -5225,6 +5341,7 @@ class BaseClient {
|
|
|
5225
5341
|
createDevice(bluetoothId) {
|
|
5226
5342
|
const device = new Device();
|
|
5227
5343
|
const clientConnectionManager = new ClientConnectionManager();
|
|
5344
|
+
clientConnectionManager.client = this;
|
|
5228
5345
|
clientConnectionManager.bluetoothId = bluetoothId;
|
|
5229
5346
|
clientConnectionManager.sendClientMessage = this.sendDeviceMessage.bind(this, bluetoothId);
|
|
5230
5347
|
clientConnectionManager.sendClientConnectMessage = this.sendConnectToDeviceMessage.bind(this, bluetoothId);
|
|
@@ -5238,6 +5355,7 @@ class BaseClient {
|
|
|
5238
5355
|
const device = __classPrivateFieldGet(this, _BaseClient_instances, "m", _BaseClient_getOrCreateDevice).call(this, bluetoothId);
|
|
5239
5356
|
const connectionManager = device.connectionManager;
|
|
5240
5357
|
connectionManager.isConnected = true;
|
|
5358
|
+
DeviceManager$1._CheckDeviceAvailability(device);
|
|
5241
5359
|
});
|
|
5242
5360
|
}
|
|
5243
5361
|
disconnectFromDevice(bluetoothId) {
|
|
@@ -5261,7 +5379,7 @@ class BaseClient {
|
|
|
5261
5379
|
});
|
|
5262
5380
|
}
|
|
5263
5381
|
}
|
|
5264
|
-
_BaseClient_devices = new WeakMap(), _BaseClient_eventDispatcher = new WeakMap(), _BaseClient__connectionStatus = new WeakMap(), _BaseClient__isScanningAvailable = new WeakMap(), _BaseClient__isScanning = new WeakMap(), _BaseClient_discoveredDevices = new WeakMap(), _BaseClient_instances = new WeakSet(), _BaseClient_reset = function _BaseClient_reset() {
|
|
5382
|
+
_a = BaseClient, _BaseClient_devices = new WeakMap(), _BaseClient_eventDispatcher = new WeakMap(), _BaseClient__connectionStatus = new WeakMap(), _BaseClient_receivedMessageTypes = new WeakMap(), _BaseClient__isScanningAvailable = new WeakMap(), _BaseClient__isScanning = new WeakMap(), _BaseClient_discoveredDevices = new WeakMap(), _BaseClient_instances = new WeakSet(), _BaseClient_reset = function _BaseClient_reset() {
|
|
5265
5383
|
__classPrivateFieldSet(this, _BaseClient_instances, false, "a", _BaseClient_isScanningAvailable_set);
|
|
5266
5384
|
__classPrivateFieldSet(this, _BaseClient_instances, false, "a", _BaseClient_isScanning_set);
|
|
5267
5385
|
for (const id in __classPrivateFieldGet(this, _BaseClient_devices, "f")) {
|
|
@@ -5269,6 +5387,26 @@ _BaseClient_devices = new WeakMap(), _BaseClient_eventDispatcher = new WeakMap()
|
|
|
5269
5387
|
const connectionManager = device.connectionManager;
|
|
5270
5388
|
connectionManager.isConnected = false;
|
|
5271
5389
|
}
|
|
5390
|
+
__classPrivateFieldGet(this, _BaseClient_receivedMessageTypes, "f").length = 0;
|
|
5391
|
+
}, _BaseClient_requiredMessageTypes_get = function _BaseClient_requiredMessageTypes_get() {
|
|
5392
|
+
return __classPrivateFieldGet(_a, _a, "f", _BaseClient_RequiredMessageTypes);
|
|
5393
|
+
}, _BaseClient_checkIfFullyConnected = function _BaseClient_checkIfFullyConnected() {
|
|
5394
|
+
if (this.connectionStatus != "connecting") {
|
|
5395
|
+
return;
|
|
5396
|
+
}
|
|
5397
|
+
_console$2.log("checking if fully connected...");
|
|
5398
|
+
if (!__classPrivateFieldGet(this, _BaseClient_receivedMessageTypes, "f").includes("isScanningAvailable")) {
|
|
5399
|
+
_console$2.log("not fully connected - didn't receive isScanningAvailable");
|
|
5400
|
+
return;
|
|
5401
|
+
}
|
|
5402
|
+
if (this.isScanningAvailable) {
|
|
5403
|
+
if (!__classPrivateFieldGet(this, _BaseClient_receivedMessageTypes, "f").includes("isScanning")) {
|
|
5404
|
+
_console$2.log("not fully connected - didn't receive isScanning");
|
|
5405
|
+
return;
|
|
5406
|
+
}
|
|
5407
|
+
}
|
|
5408
|
+
_console$2.log("fully connected");
|
|
5409
|
+
this._connectionStatus = "connected";
|
|
5272
5410
|
}, _BaseClient_parseMessageCallback = function _BaseClient_parseMessageCallback(messageType, dataView) {
|
|
5273
5411
|
let byteOffset = 0;
|
|
5274
5412
|
_console$2.log({ messageType }, dataView);
|
|
@@ -5329,6 +5467,9 @@ _BaseClient_devices = new WeakMap(), _BaseClient_eventDispatcher = new WeakMap()
|
|
|
5329
5467
|
_console$2.error(`uncaught messageType "${messageType}"`);
|
|
5330
5468
|
break;
|
|
5331
5469
|
}
|
|
5470
|
+
if (this.connectionStatus == "connecting") {
|
|
5471
|
+
__classPrivateFieldGet(this, _BaseClient_receivedMessageTypes, "f").push(messageType);
|
|
5472
|
+
}
|
|
5332
5473
|
}, _BaseClient_isScanningAvailable_get = function _BaseClient_isScanningAvailable_get() {
|
|
5333
5474
|
return __classPrivateFieldGet(this, _BaseClient__isScanningAvailable, "f");
|
|
5334
5475
|
}, _BaseClient_isScanningAvailable_set = function _BaseClient_isScanningAvailable_set(newIsAvailable) {
|
|
@@ -5372,6 +5513,7 @@ _BaseClient_devices = new WeakMap(), _BaseClient_eventDispatcher = new WeakMap()
|
|
|
5372
5513
|
return device;
|
|
5373
5514
|
};
|
|
5374
5515
|
BaseClient._reconnectOnDisconnection = true;
|
|
5516
|
+
_BaseClient_RequiredMessageTypes = { value: ["isScanningAvailable", "discoveredDevices", "connectedDevices"] };
|
|
5375
5517
|
|
|
5376
5518
|
const _console$1 = createConsole("WebSocketUtils", { log: false });
|
|
5377
5519
|
const webSocketPingTimeout = 30_000_000;
|
|
@@ -5385,7 +5527,7 @@ createWebSocketMessage("ping");
|
|
|
5385
5527
|
createWebSocketMessage("pong");
|
|
5386
5528
|
|
|
5387
5529
|
var _WebSocketClient_instances, _WebSocketClient_webSocket, _WebSocketClient_sendWebSocketMessage, _WebSocketClient_boundWebSocketEventListeners, _WebSocketClient_onWebSocketOpen, _WebSocketClient_onWebSocketMessage, _WebSocketClient_onWebSocketClose, _WebSocketClient_onWebSocketError, _WebSocketClient_parseWebSocketMessage, _WebSocketClient_onServerMessage, _WebSocketClient_pingTimer, _WebSocketClient_ping, _WebSocketClient_pong;
|
|
5388
|
-
const _console = createConsole("WebSocketClient", { log:
|
|
5530
|
+
const _console = createConsole("WebSocketClient", { log: false });
|
|
5389
5531
|
class WebSocketClient extends BaseClient {
|
|
5390
5532
|
constructor() {
|
|
5391
5533
|
super(...arguments);
|
|
@@ -5470,7 +5612,7 @@ _WebSocketClient_webSocket = new WeakMap(), _WebSocketClient_boundWebSocketEvent
|
|
|
5470
5612
|
}, _WebSocketClient_onWebSocketOpen = function _WebSocketClient_onWebSocketOpen(event) {
|
|
5471
5613
|
_console.log("webSocket.open", event);
|
|
5472
5614
|
__classPrivateFieldGet(this, _WebSocketClient_pingTimer, "f").start();
|
|
5473
|
-
this.
|
|
5615
|
+
this._sendRequiredMessages();
|
|
5474
5616
|
}, _WebSocketClient_onWebSocketMessage = async function _WebSocketClient_onWebSocketMessage(event) {
|
|
5475
5617
|
_console.log("webSocket.message", event);
|
|
5476
5618
|
__classPrivateFieldGet(this, _WebSocketClient_pingTimer, "f").restart();
|
|
@@ -5514,5 +5656,5 @@ _WebSocketClient_webSocket = new WeakMap(), _WebSocketClient_boundWebSocketEvent
|
|
|
5514
5656
|
__classPrivateFieldGet(this, _WebSocketClient_instances, "m", _WebSocketClient_sendWebSocketMessage).call(this, "pong");
|
|
5515
5657
|
};
|
|
5516
5658
|
|
|
5517
|
-
export { ContinuousSensorTypes, DefaultNumberOfPressureSensors, Device, DeviceManager$1 as DeviceManager, DevicePair, DeviceTypes, environment as Environment, FileTransferDirections, FileTypes,
|
|
5659
|
+
export { ContinuousSensorTypes, DefaultNumberOfPressureSensors, Device, DeviceManager$1 as DeviceManager, DevicePair, DevicePairTypes, DeviceTypes, environment as Environment, FileTransferDirections, FileTypes, MaxNameLength, MaxNumberOfVibrationWaveformEffectSegments, MaxNumberOfVibrationWaveformSegments, MaxSensorRate, MaxVibrationWaveformEffectSegmentDelay, MaxVibrationWaveformEffectSegmentLoopCount, MaxVibrationWaveformEffectSequenceLoopCount, MaxVibrationWaveformSegmentDuration, MinNameLength, RangeHelper, SensorRateStep, SensorTypes, Sides, TfliteSensorTypes, TfliteTasks, VibrationLocations, VibrationTypes, VibrationWaveformEffects, WebSocketClient, setAllConsoleLevelFlags, setConsoleLevelFlagsForType };
|
|
5518
5660
|
//# sourceMappingURL=brilliantsole.module.js.map
|