brilliantsole 0.0.26 → 0.0.28
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/anchor.glb +0 -0
- package/assets/3d/coin.glb +0 -0
- package/assets/3d/glasses.glb +0 -0
- package/assets/3d/rightHand.glb +0 -0
- package/assets/audio/bounceMedium.wav +0 -0
- package/assets/audio/bounceStrong.wav +0 -0
- package/assets/audio/bounceWeak.wav +0 -0
- package/assets/audio/coin.wav +0 -0
- package/assets/audio/getUp.wav +0 -0
- package/assets/audio/grab.wav +0 -0
- package/assets/audio/kick.wav +0 -0
- package/assets/audio/platterFadeIn old.wav +0 -0
- package/assets/audio/platterFadeIn.wav +0 -0
- package/assets/audio/platterFadeOut.wav +0 -0
- package/assets/audio/punch.wav +0 -0
- package/assets/audio/punchSqueak.wav +0 -0
- package/assets/audio/purr.wav +0 -0
- package/assets/audio/purrFadeOut.wav +0 -0
- package/assets/audio/release.wav +0 -0
- package/assets/audio/splat.wav +0 -0
- package/assets/audio/stomp.wav +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 +2870 -882
- package/build/brilliantsole.cjs.map +1 -1
- package/build/brilliantsole.js +2477 -782
- package/build/brilliantsole.js.map +1 -1
- package/build/brilliantsole.ls.js +2260 -592
- 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 +302 -116
- package/build/brilliantsole.module.js +2468 -782
- package/build/brilliantsole.module.js.map +1 -1
- package/build/brilliantsole.module.min.d.ts +302 -116
- package/build/brilliantsole.module.min.js +1 -1
- package/build/brilliantsole.module.min.js.map +1 -1
- package/build/brilliantsole.node.module.d.ts +295 -113
- package/build/brilliantsole.node.module.js +2860 -882
- package/build/brilliantsole.node.module.js.map +1 -1
- package/build/dts/BS-output.d.ts +10 -0
- package/build/dts/BS.d.ts +21 -9
- package/build/dts/CameraManager.d.ts +72 -0
- package/build/dts/Device.d.ts +53 -16
- package/build/dts/DeviceInformationManager.d.ts +4 -4
- package/build/dts/DeviceManager.d.ts +3 -0
- package/build/dts/FileTransferManager.d.ts +18 -8
- package/build/dts/InformationManager.d.ts +8 -5
- package/build/dts/TfliteManager.d.ts +22 -2
- package/build/dts/WifiManager.d.ts +61 -0
- package/build/dts/connection/BaseConnectionManager.d.ts +37 -3
- package/build/dts/connection/ClientConnectionManager.d.ts +11 -2
- package/build/dts/connection/bluetooth/BluetoothConnectionManager.d.ts +1 -0
- package/build/dts/connection/bluetooth/NobleConnectionManager.d.ts +3 -1
- package/build/dts/connection/bluetooth/WebBluetoothConnectionManager.d.ts +2 -0
- package/build/dts/connection/bluetooth/bluetoothUUIDs.d.ts +2 -2
- package/build/dts/connection/udp/UDPConnectionManager.d.ts +28 -0
- package/build/dts/connection/webSocket/WebSocketConnectionManager.d.ts +25 -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/scanner/BaseScanner.d.ts +4 -1
- package/build/dts/scanner/NobleScanner.d.ts +2 -1
- package/build/dts/sensor/MotionSensorDataManager.d.ts +5 -2
- package/build/dts/sensor/SensorDataManager.d.ts +5 -4
- package/build/dts/server/BaseClient.d.ts +6 -3
- package/build/dts/server/ServerUtils.d.ts +1 -1
- package/build/dts/server/websocket/WebSocketUtils.d.ts +1 -1
- package/build/dts/utils/CenterOfPressureHelper.d.ts +2 -2
- package/build/dts/utils/Console.d.ts +2 -0
- package/build/dts/utils/MathUtils.d.ts +2 -0
- package/build/dts/utils/ThrottleUtils.d.ts +2 -0
- package/build/dts/vibration/VibrationManager.d.ts +19 -2
- package/build/index.d.ts +299 -113
- package/build/index.node.d.ts +292 -110
- package/examples/3d/scene.html +19 -5
- package/examples/3d/script.js +90 -17
- package/examples/3d-generic/index.html +144 -0
- package/examples/3d-generic/script.js +266 -0
- package/examples/balance/script.js +2 -1
- package/examples/basic/index.html +232 -18
- package/examples/basic/script.js +746 -106
- 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/edge-impulse/script.js +135 -44
- package/examples/edge-impulse-test/README.md +11 -0
- package/examples/edge-impulse-test/edge-impulse-standalone.js +7228 -0
- package/examples/edge-impulse-test/edge-impulse-standalone.wasm +0 -0
- package/examples/edge-impulse-test/index.html +75 -0
- package/examples/edge-impulse-test/run-impulse.js +135 -0
- package/examples/edge-impulse-test/script.js +200 -0
- package/examples/gloves/edge-impulse-standalone.js +7228 -0
- package/examples/gloves/edge-impulse-standalone.wasm +0 -0
- package/examples/gloves/index.html +119 -0
- package/examples/gloves/run-impulse.js +135 -0
- package/examples/gloves/scene.html +124 -0
- package/examples/gloves/script.js +931 -0
- package/examples/graph/index.html +11 -1
- package/examples/graph/script.js +94 -37
- package/examples/pressure/index.html +180 -12
- package/examples/pressure/script.js +144 -7
- package/examples/punch/index.html +135 -0
- package/examples/punch/punch.tflite +0 -0
- package/examples/punch/script.js +169 -0
- package/examples/recording/index.html +191 -183
- package/examples/server/index.html +109 -23
- package/examples/server/script.js +322 -111
- 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/utils/aframe/aframe-master.min.js +2 -0
- package/examples/utils/aframe/bs-vibration.js +150 -0
- package/examples/utils/aframe/force-pushable.js +80 -0
- package/examples/utils/aframe/grabbable-anchor.js +46 -0
- package/examples/utils/aframe/grabbable-listener.js +31 -0
- package/examples/utils/aframe/grabbable-physics-body.js +190 -0
- package/examples/utils/aframe/grow-shrink.js +25 -0
- package/examples/utils/aframe/hand-punch.js +119 -0
- package/examples/utils/aframe/my-obb-collider.js +293 -0
- package/examples/utils/aframe/occlude-hand-tracking-controls.js +47 -0
- package/examples/utils/aframe/occlude-mesh.js +42 -0
- package/examples/utils/aframe/palm-up-detector.js +47 -0
- package/examples/utils/aframe/shadow-material.js +20 -0
- package/examples/utils/aframe/soft-shadow-light.js +9 -0
- package/examples/webxr/script.js +3 -3
- package/examples/webxr-2/assets/3d/soccerBall.glb +0 -0
- package/examples/webxr-2/assets/audio/shellBounce.wav +0 -0
- package/examples/webxr-2/assets/audio/shellHit.wav +0 -0
- package/examples/webxr-2/assets/audio/shellKick.wav +0 -0
- package/examples/webxr-2/assets/audio/soccerBounce.wav +0 -0
- package/examples/webxr-2/assets/audio/soccerKick.mp3 +0 -0
- package/examples/webxr-2/assets/images/shellTexture.png +0 -0
- package/examples/webxr-2/components/bs-ankle.js +337 -0
- package/examples/webxr-2/components/coin.js +84 -0
- package/examples/webxr-2/components/custom-wrap.js +17 -0
- package/examples/webxr-2/components/goomba.js +3250 -0
- package/examples/webxr-2/components/init-shell-material.js +215 -0
- package/examples/webxr-2/components/platter.js +172 -0
- package/examples/webxr-2/components/shell.js +374 -0
- package/examples/webxr-2/components/soccer-ball.js +250 -0
- package/examples/webxr-2/components/squashed-goomba.js +249 -0
- package/examples/webxr-2/edge-impulse-standalone.js +7228 -0
- package/examples/webxr-2/edge-impulse-standalone.wasm +0 -0
- package/examples/webxr-2/index.html +996 -0
- package/examples/webxr-2/kick.tflite +0 -0
- package/examples/webxr-2/kick2.tflite +0 -0
- package/examples/webxr-2/run-impulse.js +135 -0
- package/examples/webxr-2/script.js +384 -0
- package/package.json +2 -1
- package/src/.prettierrc +4 -0
- package/src/BS.ts +66 -9
- package/src/CameraManager.ts +499 -0
- package/src/Device.ts +620 -92
- package/src/DeviceInformationManager.ts +22 -11
- package/src/DeviceManager.ts +94 -25
- package/src/FileTransferManager.ts +146 -21
- package/src/FirmwareManager.ts +1 -1
- package/src/InformationManager.ts +62 -20
- package/src/TfliteManager.ts +172 -26
- package/src/WifiManager.ts +323 -0
- package/src/connection/BaseConnectionManager.ts +145 -30
- package/src/connection/ClientConnectionManager.ts +47 -11
- package/src/connection/bluetooth/BluetoothConnectionManager.ts +14 -3
- package/src/connection/bluetooth/NobleConnectionManager.ts +155 -42
- package/src/connection/bluetooth/WebBluetoothConnectionManager.ts +104 -35
- package/src/connection/bluetooth/bluetoothUUIDs.ts +40 -13
- package/src/connection/udp/UDPConnectionManager.ts +356 -0
- package/src/connection/websocket/WebSocketConnectionManager.ts +282 -0
- package/src/devicePair/DevicePair.ts +145 -49
- package/src/devicePair/DevicePairPressureSensorDataManager.ts +72 -24
- package/src/devicePair/DevicePairSensorDataManager.ts +5 -5
- package/src/scanner/BaseScanner.ts +49 -11
- package/src/scanner/NobleScanner.ts +81 -17
- package/src/sensor/BarometerSensorDataManager.ts +1 -1
- package/src/sensor/MotionSensorDataManager.ts +22 -7
- package/src/sensor/PressureSensorDataManager.ts +47 -13
- package/src/sensor/SensorConfigurationManager.ts +75 -24
- package/src/sensor/SensorDataManager.ts +107 -26
- package/src/server/BaseClient.ts +192 -37
- package/src/server/BaseServer.ts +201 -43
- package/src/server/ServerUtils.ts +39 -9
- package/src/server/udp/UDPServer.ts +74 -23
- package/src/server/udp/UDPUtils.ts +9 -2
- package/src/server/websocket/WebSocketClient.ts +30 -9
- package/src/server/websocket/WebSocketServer.ts +1 -1
- package/src/server/websocket/WebSocketUtils.ts +4 -2
- package/src/utils/CenterOfPressureHelper.ts +5 -5
- package/src/utils/Console.ts +62 -9
- package/src/utils/MathUtils.ts +31 -1
- package/src/utils/ParseUtils.ts +25 -6
- package/src/utils/ThrottleUtils.ts +62 -0
- package/src/utils/Timer.ts +1 -1
- package/src/utils/checksum.ts +1 -1
- package/src/utils/mcumgr.js +1 -1
- package/src/vibration/VibrationManager.ts +166 -40
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as BS from "./BS.ts";
|
|
2
|
+
declare global {
|
|
3
|
+
var BS: typeof import("./BS.ts") | undefined;
|
|
4
|
+
}
|
|
5
|
+
declare const _default: typeof BS;
|
|
6
|
+
export default _default;
|
|
7
|
+
declare const _default_1: typeof BS;
|
|
8
|
+
export default _default_1;
|
|
9
|
+
/** BROWSER_END */
|
|
10
|
+
export * from "./BS.ts";
|
package/build/dts/BS.d.ts
CHANGED
|
@@ -1,19 +1,31 @@
|
|
|
1
|
-
export { setAllConsoleLevelFlags, setConsoleLevelFlagsForType } from "./utils/Console.ts";
|
|
1
|
+
export { setAllConsoleLevelFlags, setConsoleLevelFlagsForType, } from "./utils/Console.ts";
|
|
2
2
|
export * as Environment from "./utils/environment.ts";
|
|
3
3
|
export { Vector2, Vector3, Quaternion, Euler } from "./utils/MathUtils.ts";
|
|
4
4
|
export { default as Device, DeviceEvent, DeviceEventMap, DeviceEventListenerMap, BoundDeviceEventListeners, } from "./Device.ts";
|
|
5
5
|
export { default as DeviceManager, DeviceManagerEvent, DeviceManagerEventMap, DeviceManagerEventListenerMap, BoundDeviceManagerEventListeners, } from "./DeviceManager.ts";
|
|
6
6
|
export { DeviceInformation } from "./DeviceInformationManager.ts";
|
|
7
|
-
export { DeviceType, DeviceTypes, MinNameLength, MaxNameLength,
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
7
|
+
export { DeviceType, DeviceTypes, MinNameLength, MaxNameLength, Sides, Side, } from "./InformationManager.ts";
|
|
8
|
+
export { MinWifiSSIDLength, MaxWifiSSIDLength, MinWifiPasswordLength, MaxWifiPasswordLength, } from "./WifiManager.ts";
|
|
9
|
+
export { SensorType, SensorTypes, ContinuousSensorType, ContinuousSensorTypes, } from "./sensor/SensorDataManager.ts";
|
|
10
|
+
export { MaxSensorRate, SensorRateStep, SensorConfiguration, } from "./sensor/SensorConfigurationManager.ts";
|
|
11
|
+
export { DefaultNumberOfPressureSensors, PressureData, } from "./sensor/PressureSensorDataManager.ts";
|
|
11
12
|
export { CenterOfPressure } from "./utils/CenterOfPressureHelper.ts";
|
|
12
13
|
export { VibrationConfiguration, VibrationLocation, VibrationLocations, VibrationType, VibrationTypes, MaxNumberOfVibrationWaveformEffectSegments, MaxVibrationWaveformSegmentDuration, MaxVibrationWaveformEffectSegmentDelay, MaxVibrationWaveformEffectSegmentLoopCount, MaxNumberOfVibrationWaveformSegments, MaxVibrationWaveformEffectSequenceLoopCount, } from "./vibration/VibrationManager.ts";
|
|
13
|
-
export { VibrationWaveformEffect, VibrationWaveformEffects } from "./vibration/VibrationWaveformEffects.ts";
|
|
14
|
-
export { FileType, FileTypes, FileTransferDirection, FileTransferDirections } from "./FileTransferManager.ts";
|
|
15
|
-
export { TfliteSensorType, TfliteSensorTypes, TfliteTask, TfliteTasks } from "./TfliteManager.ts";
|
|
16
|
-
export {
|
|
14
|
+
export { VibrationWaveformEffect, VibrationWaveformEffects, } from "./vibration/VibrationWaveformEffects.ts";
|
|
15
|
+
export { FileType, FileTypes, FileTransferDirection, FileTransferDirections, } from "./FileTransferManager.ts";
|
|
16
|
+
export { TfliteSensorType, TfliteSensorTypes, TfliteTask, TfliteTasks, TfliteFileConfiguration as TfliteFileConfiguration, } from "./TfliteManager.ts";
|
|
17
|
+
export { CameraConfiguration, CameraCommand, CameraCommands, CameraConfigurationType, CameraConfigurationTypes, } from "./CameraManager.ts";
|
|
18
|
+
export { default as DevicePair, DevicePairEvent, DevicePairEventMap, DevicePairEventListenerMap, BoundDevicePairEventListeners, DevicePairType, DevicePairTypes, } from "./devicePair/DevicePair.ts";
|
|
19
|
+
import { addEventListeners, removeEventListeners } from "./utils/EventUtils.ts";
|
|
20
|
+
export declare const EventUtils: {
|
|
21
|
+
addEventListeners: typeof addEventListeners;
|
|
22
|
+
removeEventListeners: typeof removeEventListeners;
|
|
23
|
+
};
|
|
24
|
+
import { throttle, debounce } from "./utils/ThrottleUtils.ts";
|
|
25
|
+
export declare const ThrottleUtils: {
|
|
26
|
+
throttle: typeof throttle;
|
|
27
|
+
debounce: typeof debounce;
|
|
28
|
+
};
|
|
17
29
|
export { DiscoveredDevice } from "./scanner/BaseScanner.ts";
|
|
18
30
|
/** NODE_START */
|
|
19
31
|
export { default as Scanner } from "./scanner/Scanner.ts";
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import Device, { SendMessageCallback } from "./Device.ts";
|
|
2
|
+
import EventDispatcher from "./utils/EventDispatcher.ts";
|
|
3
|
+
export declare const CameraSensorTypes: readonly ["camera"];
|
|
4
|
+
export type CameraSensorType = (typeof CameraSensorTypes)[number];
|
|
5
|
+
export declare const CameraCommands: readonly ["focus", "takePicture", "stop", "sleep", "wake"];
|
|
6
|
+
export type CameraCommand = (typeof CameraCommands)[number];
|
|
7
|
+
export declare const CameraStatuses: readonly ["idle", "focusing", "takingPicture", "asleep"];
|
|
8
|
+
export type CameraStatus = (typeof CameraStatuses)[number];
|
|
9
|
+
export declare const CameraDataTypes: readonly ["headerSize", "header", "imageSize", "image", "footerSize", "footer"];
|
|
10
|
+
export type CameraDataType = (typeof CameraDataTypes)[number];
|
|
11
|
+
export declare const CameraConfigurationTypes: readonly ["resolution", "qualityFactor", "shutter", "gain", "redGain", "greenGain", "blueGain"];
|
|
12
|
+
export type CameraConfigurationType = (typeof CameraConfigurationTypes)[number];
|
|
13
|
+
export declare const CameraMessageTypes: readonly ["cameraStatus", "cameraCommand", "getCameraConfiguration", "setCameraConfiguration", "cameraData"];
|
|
14
|
+
export type CameraMessageType = (typeof CameraMessageTypes)[number];
|
|
15
|
+
export type CameraConfiguration = {
|
|
16
|
+
[cameraConfigurationType in CameraConfigurationType]?: number;
|
|
17
|
+
};
|
|
18
|
+
export type CameraConfigurationRanges = {
|
|
19
|
+
[cameraConfigurationType in CameraConfigurationType]: {
|
|
20
|
+
min: number;
|
|
21
|
+
max: number;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export declare const RequiredCameraMessageTypes: CameraMessageType[];
|
|
25
|
+
export declare const CameraEventTypes: readonly ["cameraStatus", "cameraCommand", "getCameraConfiguration", "setCameraConfiguration", "cameraData", "cameraImageProgress", "cameraImage"];
|
|
26
|
+
export type CameraEventType = (typeof CameraEventTypes)[number];
|
|
27
|
+
export interface CameraEventMessages {
|
|
28
|
+
cameraStatus: {
|
|
29
|
+
cameraStatus: CameraStatus;
|
|
30
|
+
previousCameraStatus: CameraStatus;
|
|
31
|
+
};
|
|
32
|
+
getCameraConfiguration: {
|
|
33
|
+
cameraConfiguration: CameraConfiguration;
|
|
34
|
+
};
|
|
35
|
+
cameraImageProgress: {
|
|
36
|
+
progress: number;
|
|
37
|
+
type: CameraDataType;
|
|
38
|
+
};
|
|
39
|
+
cameraImage: {
|
|
40
|
+
blob: Blob;
|
|
41
|
+
url: string;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export type CameraEventDispatcher = EventDispatcher<Device, CameraEventType, CameraEventMessages>;
|
|
45
|
+
export type SendCameraMessageCallback = SendMessageCallback<CameraMessageType>;
|
|
46
|
+
declare class CameraManager {
|
|
47
|
+
#private;
|
|
48
|
+
constructor();
|
|
49
|
+
sendMessage: SendCameraMessageCallback;
|
|
50
|
+
eventDispatcher: CameraEventDispatcher;
|
|
51
|
+
get waitForEvent(): <T extends "cameraStatus" | "cameraCommand" | "getCameraConfiguration" | "setCameraConfiguration" | "cameraData" | "cameraImageProgress" | "cameraImage">(type: T) => Promise<{
|
|
52
|
+
type: T;
|
|
53
|
+
target: Device;
|
|
54
|
+
message: CameraEventMessages[T];
|
|
55
|
+
}>;
|
|
56
|
+
requestRequiredInformation(): void;
|
|
57
|
+
get cameraStatus(): "idle" | "focusing" | "takingPicture" | "asleep";
|
|
58
|
+
focus(): Promise<void>;
|
|
59
|
+
takePicture(): Promise<void>;
|
|
60
|
+
stop(): Promise<void>;
|
|
61
|
+
sleep(): Promise<void>;
|
|
62
|
+
wake(): Promise<void>;
|
|
63
|
+
get cameraConfiguration(): CameraConfiguration;
|
|
64
|
+
get availableCameraConfigurationTypes(): ("resolution" | "qualityFactor" | "shutter" | "gain" | "redGain" | "greenGain" | "blueGain")[];
|
|
65
|
+
get cameraConfigurationRanges(): CameraConfigurationRanges;
|
|
66
|
+
setCameraConfiguration(newCameraConfiguration: CameraConfiguration): Promise<void>;
|
|
67
|
+
static AssertValidCameraConfigurationType(cameraConfigurationType: CameraConfigurationType): void;
|
|
68
|
+
static AssertValidCameraConfigurationTypeEnum(cameraConfigurationTypeEnum: number): void;
|
|
69
|
+
parseMessage(messageType: CameraMessageType, dataView: DataView): void;
|
|
70
|
+
clear(): void;
|
|
71
|
+
}
|
|
72
|
+
export default CameraManager;
|
package/build/dts/Device.d.ts
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import EventDispatcher, { BoundEventListeners, Event, EventListenerMap, EventMap } from "./utils/EventDispatcher.ts";
|
|
2
|
-
import BaseConnectionManager, { TxRxMessageType, ConnectionStatus, ConnectionMessageType, ConnectionStatusEventMessages } from "./connection/BaseConnectionManager.ts";
|
|
2
|
+
import BaseConnectionManager, { TxRxMessageType, ConnectionStatus, ConnectionMessageType, ConnectionStatusEventMessages, ConnectOptions } from "./connection/BaseConnectionManager.ts";
|
|
3
3
|
import { SensorConfiguration, SensorConfigurationEventMessages } from "./sensor/SensorConfigurationManager.ts";
|
|
4
4
|
import { SensorDataEventMessages, SensorType } from "./sensor/SensorDataManager.ts";
|
|
5
5
|
import { VibrationConfiguration } from "./vibration/VibrationManager.ts";
|
|
6
6
|
import { FileTransferEventMessages, FileType } from "./FileTransferManager.ts";
|
|
7
|
-
import { TfliteEventMessages } from "./TfliteManager.ts";
|
|
7
|
+
import { TfliteEventMessages, TfliteFileConfiguration } from "./TfliteManager.ts";
|
|
8
8
|
import { FirmwareEventMessages } from "./FirmwareManager.ts";
|
|
9
9
|
import { DeviceInformationEventMessages } from "./DeviceInformationManager.ts";
|
|
10
10
|
import InformationManager, { DeviceType, InformationEventMessages } from "./InformationManager.ts";
|
|
11
11
|
import { FileLike } from "./utils/ArrayBufferUtils.ts";
|
|
12
|
-
|
|
12
|
+
import { CameraEventMessages } from "./CameraManager.ts";
|
|
13
|
+
import { WifiEventMessages } from "./WifiManager.ts";
|
|
14
|
+
export declare const DeviceEventTypes: readonly ["connectionMessage", "notConnected", "connecting", "connected", "disconnecting", "connectionStatus", "isConnected", "rx", "tx", "batteryLevel", "isCharging", "getBatteryCurrent", "getMtu", "getId", "getName", "setName", "getType", "setType", "getCurrentTime", "setCurrentTime", "manufacturerName", "modelNumber", "hardwareRevision", "firmwareRevision", "softwareRevision", "pnpId", "serialNumber", "deviceInformation", "getSensorConfiguration", "setSensorConfiguration", "getPressurePositions", "getSensorScalars", "sensorData", "pressure", "acceleration", "gravity", "linearAcceleration", "gyroscope", "magnetometer", "gameRotation", "rotation", "orientation", "activity", "stepCounter", "stepDetector", "deviceOrientation", "tapDetector", "barometer", "camera", "getVibrationLocations", "triggerVibration", "getFileTypes", "maxFileLength", "getFileType", "setFileType", "getFileLength", "setFileLength", "getFileChecksum", "setFileChecksum", "setFileTransferCommand", "fileTransferStatus", "getFileBlock", "setFileBlock", "fileBytesTransferred", "fileTransferProgress", "fileTransferComplete", "fileReceived", "getTfliteName", "setTfliteName", "getTfliteTask", "setTfliteTask", "getTfliteSampleRate", "setTfliteSampleRate", "getTfliteSensorTypes", "setTfliteSensorTypes", "tfliteIsReady", "getTfliteCaptureDelay", "setTfliteCaptureDelay", "getTfliteThreshold", "setTfliteThreshold", "getTfliteInferencingEnabled", "setTfliteInferencingEnabled", "tfliteInference", "isWifiAvailable", "getWifiSSID", "setWifiSSID", "getWifiPassword", "setWifiPassword", "getWifiConnectionEnabled", "setWifiConnectionEnabled", "isWifiConnected", "ipAddress", "isWifiSecure", "cameraStatus", "cameraCommand", "getCameraConfiguration", "setCameraConfiguration", "cameraData", "cameraImageProgress", "cameraImage", "smp", "firmwareImages", "firmwareUploadProgress", "firmwareStatus", "firmwareUploadComplete"];
|
|
13
15
|
export type DeviceEventType = (typeof DeviceEventTypes)[number];
|
|
14
|
-
export interface DeviceEventMessages extends ConnectionStatusEventMessages, DeviceInformationEventMessages, InformationEventMessages, SensorDataEventMessages, SensorConfigurationEventMessages, TfliteEventMessages, FileTransferEventMessages, FirmwareEventMessages {
|
|
16
|
+
export interface DeviceEventMessages extends ConnectionStatusEventMessages, DeviceInformationEventMessages, InformationEventMessages, SensorDataEventMessages, SensorConfigurationEventMessages, TfliteEventMessages, FileTransferEventMessages, WifiEventMessages, CameraEventMessages, FirmwareEventMessages {
|
|
15
17
|
batteryLevel: {
|
|
16
18
|
batteryLevel: number;
|
|
17
19
|
};
|
|
@@ -34,30 +36,31 @@ export declare const RequiredInformationConnectionMessages: TxRxMessageType[];
|
|
|
34
36
|
declare class Device {
|
|
35
37
|
#private;
|
|
36
38
|
get bluetoothId(): string | undefined;
|
|
39
|
+
get isAvailable(): boolean | undefined;
|
|
37
40
|
constructor();
|
|
38
|
-
get addEventListener(): <T extends "maxFileLength" | "getFileType" | "setFileType" | "getFileLength" | "setFileLength" | "getFileChecksum" | "setFileChecksum" | "setFileTransferCommand" | "fileTransferStatus" | "getFileBlock" | "setFileBlock" | "fileBytesTransferred" | "fileTransferProgress" | "fileTransferComplete" | "fileReceived" | "
|
|
41
|
+
get addEventListener(): <T extends "pressure" | "getFileTypes" | "maxFileLength" | "getFileType" | "setFileType" | "getFileLength" | "setFileLength" | "getFileChecksum" | "setFileChecksum" | "setFileTransferCommand" | "fileTransferStatus" | "getFileBlock" | "setFileBlock" | "fileBytesTransferred" | "fileTransferProgress" | "fileTransferComplete" | "fileReceived" | "acceleration" | "gravity" | "linearAcceleration" | "gyroscope" | "magnetometer" | "gameRotation" | "rotation" | "orientation" | "activity" | "stepCounter" | "stepDetector" | "deviceOrientation" | "tapDetector" | "barometer" | "camera" | "cameraStatus" | "cameraCommand" | "getCameraConfiguration" | "setCameraConfiguration" | "cameraData" | "cameraImageProgress" | "cameraImage" | "getPressurePositions" | "getSensorScalars" | "sensorData" | "getSensorConfiguration" | "setSensorConfiguration" | "getTfliteName" | "setTfliteName" | "getTfliteTask" | "setTfliteTask" | "getTfliteSampleRate" | "setTfliteSampleRate" | "getTfliteSensorTypes" | "setTfliteSensorTypes" | "tfliteIsReady" | "getTfliteCaptureDelay" | "setTfliteCaptureDelay" | "getTfliteThreshold" | "setTfliteThreshold" | "getTfliteInferencingEnabled" | "setTfliteInferencingEnabled" | "tfliteInference" | "manufacturerName" | "modelNumber" | "hardwareRevision" | "firmwareRevision" | "softwareRevision" | "pnpId" | "serialNumber" | "deviceInformation" | "isCharging" | "getBatteryCurrent" | "getMtu" | "getId" | "getName" | "setName" | "getType" | "setType" | "getCurrentTime" | "setCurrentTime" | "getVibrationLocations" | "triggerVibration" | "isWifiAvailable" | "getWifiSSID" | "setWifiSSID" | "getWifiPassword" | "setWifiPassword" | "getWifiConnectionEnabled" | "setWifiConnectionEnabled" | "isWifiConnected" | "ipAddress" | "isWifiSecure" | "notConnected" | "connecting" | "connected" | "disconnecting" | "connectionStatus" | "isConnected" | "smp" | "batteryLevel" | "rx" | "tx" | "firmwareImages" | "firmwareUploadProgress" | "firmwareStatus" | "firmwareUploadComplete" | "connectionMessage">(type: T, listener: (event: {
|
|
39
42
|
type: T;
|
|
40
43
|
target: Device;
|
|
41
44
|
message: DeviceEventMessages[T];
|
|
42
45
|
}) => void, options?: {
|
|
43
46
|
once?: boolean;
|
|
44
47
|
}) => void;
|
|
45
|
-
get removeEventListener(): <T extends "maxFileLength" | "getFileType" | "setFileType" | "getFileLength" | "setFileLength" | "getFileChecksum" | "setFileChecksum" | "setFileTransferCommand" | "fileTransferStatus" | "getFileBlock" | "setFileBlock" | "fileBytesTransferred" | "fileTransferProgress" | "fileTransferComplete" | "fileReceived" | "
|
|
48
|
+
get removeEventListener(): <T extends "pressure" | "getFileTypes" | "maxFileLength" | "getFileType" | "setFileType" | "getFileLength" | "setFileLength" | "getFileChecksum" | "setFileChecksum" | "setFileTransferCommand" | "fileTransferStatus" | "getFileBlock" | "setFileBlock" | "fileBytesTransferred" | "fileTransferProgress" | "fileTransferComplete" | "fileReceived" | "acceleration" | "gravity" | "linearAcceleration" | "gyroscope" | "magnetometer" | "gameRotation" | "rotation" | "orientation" | "activity" | "stepCounter" | "stepDetector" | "deviceOrientation" | "tapDetector" | "barometer" | "camera" | "cameraStatus" | "cameraCommand" | "getCameraConfiguration" | "setCameraConfiguration" | "cameraData" | "cameraImageProgress" | "cameraImage" | "getPressurePositions" | "getSensorScalars" | "sensorData" | "getSensorConfiguration" | "setSensorConfiguration" | "getTfliteName" | "setTfliteName" | "getTfliteTask" | "setTfliteTask" | "getTfliteSampleRate" | "setTfliteSampleRate" | "getTfliteSensorTypes" | "setTfliteSensorTypes" | "tfliteIsReady" | "getTfliteCaptureDelay" | "setTfliteCaptureDelay" | "getTfliteThreshold" | "setTfliteThreshold" | "getTfliteInferencingEnabled" | "setTfliteInferencingEnabled" | "tfliteInference" | "manufacturerName" | "modelNumber" | "hardwareRevision" | "firmwareRevision" | "softwareRevision" | "pnpId" | "serialNumber" | "deviceInformation" | "isCharging" | "getBatteryCurrent" | "getMtu" | "getId" | "getName" | "setName" | "getType" | "setType" | "getCurrentTime" | "setCurrentTime" | "getVibrationLocations" | "triggerVibration" | "isWifiAvailable" | "getWifiSSID" | "setWifiSSID" | "getWifiPassword" | "setWifiPassword" | "getWifiConnectionEnabled" | "setWifiConnectionEnabled" | "isWifiConnected" | "ipAddress" | "isWifiSecure" | "notConnected" | "connecting" | "connected" | "disconnecting" | "connectionStatus" | "isConnected" | "smp" | "batteryLevel" | "rx" | "tx" | "firmwareImages" | "firmwareUploadProgress" | "firmwareStatus" | "firmwareUploadComplete" | "connectionMessage">(type: T, listener: (event: {
|
|
46
49
|
type: T;
|
|
47
50
|
target: Device;
|
|
48
51
|
message: DeviceEventMessages[T];
|
|
49
52
|
}) => void) => void;
|
|
50
|
-
get waitForEvent(): <T extends "maxFileLength" | "getFileType" | "setFileType" | "getFileLength" | "setFileLength" | "getFileChecksum" | "setFileChecksum" | "setFileTransferCommand" | "fileTransferStatus" | "getFileBlock" | "setFileBlock" | "fileBytesTransferred" | "fileTransferProgress" | "fileTransferComplete" | "fileReceived" | "
|
|
53
|
+
get waitForEvent(): <T extends "pressure" | "getFileTypes" | "maxFileLength" | "getFileType" | "setFileType" | "getFileLength" | "setFileLength" | "getFileChecksum" | "setFileChecksum" | "setFileTransferCommand" | "fileTransferStatus" | "getFileBlock" | "setFileBlock" | "fileBytesTransferred" | "fileTransferProgress" | "fileTransferComplete" | "fileReceived" | "acceleration" | "gravity" | "linearAcceleration" | "gyroscope" | "magnetometer" | "gameRotation" | "rotation" | "orientation" | "activity" | "stepCounter" | "stepDetector" | "deviceOrientation" | "tapDetector" | "barometer" | "camera" | "cameraStatus" | "cameraCommand" | "getCameraConfiguration" | "setCameraConfiguration" | "cameraData" | "cameraImageProgress" | "cameraImage" | "getPressurePositions" | "getSensorScalars" | "sensorData" | "getSensorConfiguration" | "setSensorConfiguration" | "getTfliteName" | "setTfliteName" | "getTfliteTask" | "setTfliteTask" | "getTfliteSampleRate" | "setTfliteSampleRate" | "getTfliteSensorTypes" | "setTfliteSensorTypes" | "tfliteIsReady" | "getTfliteCaptureDelay" | "setTfliteCaptureDelay" | "getTfliteThreshold" | "setTfliteThreshold" | "getTfliteInferencingEnabled" | "setTfliteInferencingEnabled" | "tfliteInference" | "manufacturerName" | "modelNumber" | "hardwareRevision" | "firmwareRevision" | "softwareRevision" | "pnpId" | "serialNumber" | "deviceInformation" | "isCharging" | "getBatteryCurrent" | "getMtu" | "getId" | "getName" | "setName" | "getType" | "setType" | "getCurrentTime" | "setCurrentTime" | "getVibrationLocations" | "triggerVibration" | "isWifiAvailable" | "getWifiSSID" | "setWifiSSID" | "getWifiPassword" | "setWifiPassword" | "getWifiConnectionEnabled" | "setWifiConnectionEnabled" | "isWifiConnected" | "ipAddress" | "isWifiSecure" | "notConnected" | "connecting" | "connected" | "disconnecting" | "connectionStatus" | "isConnected" | "smp" | "batteryLevel" | "rx" | "tx" | "firmwareImages" | "firmwareUploadProgress" | "firmwareStatus" | "firmwareUploadComplete" | "connectionMessage">(type: T) => Promise<{
|
|
51
54
|
type: T;
|
|
52
55
|
target: Device;
|
|
53
56
|
message: DeviceEventMessages[T];
|
|
54
57
|
}>;
|
|
55
|
-
get removeEventListeners(): <T extends "maxFileLength" | "getFileType" | "setFileType" | "getFileLength" | "setFileLength" | "getFileChecksum" | "setFileChecksum" | "setFileTransferCommand" | "fileTransferStatus" | "getFileBlock" | "setFileBlock" | "fileBytesTransferred" | "fileTransferProgress" | "fileTransferComplete" | "fileReceived" | "
|
|
58
|
+
get removeEventListeners(): <T extends "pressure" | "getFileTypes" | "maxFileLength" | "getFileType" | "setFileType" | "getFileLength" | "setFileLength" | "getFileChecksum" | "setFileChecksum" | "setFileTransferCommand" | "fileTransferStatus" | "getFileBlock" | "setFileBlock" | "fileBytesTransferred" | "fileTransferProgress" | "fileTransferComplete" | "fileReceived" | "acceleration" | "gravity" | "linearAcceleration" | "gyroscope" | "magnetometer" | "gameRotation" | "rotation" | "orientation" | "activity" | "stepCounter" | "stepDetector" | "deviceOrientation" | "tapDetector" | "barometer" | "camera" | "cameraStatus" | "cameraCommand" | "getCameraConfiguration" | "setCameraConfiguration" | "cameraData" | "cameraImageProgress" | "cameraImage" | "getPressurePositions" | "getSensorScalars" | "sensorData" | "getSensorConfiguration" | "setSensorConfiguration" | "getTfliteName" | "setTfliteName" | "getTfliteTask" | "setTfliteTask" | "getTfliteSampleRate" | "setTfliteSampleRate" | "getTfliteSensorTypes" | "setTfliteSensorTypes" | "tfliteIsReady" | "getTfliteCaptureDelay" | "setTfliteCaptureDelay" | "getTfliteThreshold" | "setTfliteThreshold" | "getTfliteInferencingEnabled" | "setTfliteInferencingEnabled" | "tfliteInference" | "manufacturerName" | "modelNumber" | "hardwareRevision" | "firmwareRevision" | "softwareRevision" | "pnpId" | "serialNumber" | "deviceInformation" | "isCharging" | "getBatteryCurrent" | "getMtu" | "getId" | "getName" | "setName" | "getType" | "setType" | "getCurrentTime" | "setCurrentTime" | "getVibrationLocations" | "triggerVibration" | "isWifiAvailable" | "getWifiSSID" | "setWifiSSID" | "getWifiPassword" | "setWifiPassword" | "getWifiConnectionEnabled" | "setWifiConnectionEnabled" | "isWifiConnected" | "ipAddress" | "isWifiSecure" | "notConnected" | "connecting" | "connected" | "disconnecting" | "connectionStatus" | "isConnected" | "smp" | "batteryLevel" | "rx" | "tx" | "firmwareImages" | "firmwareUploadProgress" | "firmwareStatus" | "firmwareUploadComplete" | "connectionMessage">(type: T) => void;
|
|
56
59
|
get removeAllEventListeners(): () => void;
|
|
57
60
|
get connectionManager(): BaseConnectionManager | undefined;
|
|
58
61
|
set connectionManager(newConnectionManager: BaseConnectionManager | undefined);
|
|
59
62
|
private sendTxMessages;
|
|
60
|
-
connect(): Promise<void>;
|
|
63
|
+
connect(options?: ConnectOptions): Promise<void>;
|
|
61
64
|
get isConnected(): boolean;
|
|
62
65
|
get canReconnect(): boolean | undefined;
|
|
63
66
|
reconnect(): Promise<void | undefined>;
|
|
@@ -66,12 +69,12 @@ declare class Device {
|
|
|
66
69
|
static set ReconnectOnDisconnection(newReconnectOnDisconnection: boolean);
|
|
67
70
|
get reconnectOnDisconnection(): boolean;
|
|
68
71
|
set reconnectOnDisconnection(newReconnectOnDisconnection: boolean);
|
|
69
|
-
get connectionType(): "webBluetooth" | "noble" | "client" | undefined;
|
|
72
|
+
get connectionType(): "webBluetooth" | "noble" | "client" | "webSocket" | "udp" | undefined;
|
|
70
73
|
disconnect(): Promise<void>;
|
|
71
74
|
toggleConnection(): void;
|
|
72
75
|
get connectionStatus(): ConnectionStatus;
|
|
73
76
|
get isConnectionBusy(): boolean;
|
|
74
|
-
|
|
77
|
+
latestConnectionMessages: Map<ConnectionMessageType, DataView>;
|
|
75
78
|
get deviceInformation(): import("./DeviceInformationManager.ts").DeviceInformation;
|
|
76
79
|
get batteryLevel(): number;
|
|
77
80
|
/** @private */
|
|
@@ -82,13 +85,14 @@ declare class Device {
|
|
|
82
85
|
get getBatteryCurrent(): () => Promise<void>;
|
|
83
86
|
get name(): string;
|
|
84
87
|
get setName(): (newName: string) => Promise<void>;
|
|
85
|
-
get type(): "leftInsole" | "rightInsole";
|
|
88
|
+
get type(): "leftInsole" | "rightInsole" | "leftGlove" | "rightGlove" | "glasses" | "generic";
|
|
86
89
|
get setType(): (newType: DeviceType) => Promise<void>;
|
|
87
90
|
get isInsole(): boolean;
|
|
88
|
-
get
|
|
91
|
+
get isGlove(): boolean;
|
|
92
|
+
get side(): "left" | "right";
|
|
89
93
|
get mtu(): number;
|
|
90
94
|
get sensorTypes(): SensorType[];
|
|
91
|
-
get continuousSensorTypes(): ("pressure" | "acceleration" | "gravity" | "linearAcceleration" | "gyroscope" | "magnetometer" | "gameRotation" | "rotation" | "barometer")[];
|
|
95
|
+
get continuousSensorTypes(): ("pressure" | "acceleration" | "gravity" | "linearAcceleration" | "gyroscope" | "magnetometer" | "gameRotation" | "rotation" | "orientation" | "barometer")[];
|
|
92
96
|
get sensorConfiguration(): SensorConfiguration;
|
|
93
97
|
setSensorConfiguration(newSensorConfiguration: SensorConfiguration, clearRest?: boolean): Promise<void>;
|
|
94
98
|
clearSensorConfiguration(): Promise<void>;
|
|
@@ -98,20 +102,24 @@ declare class Device {
|
|
|
98
102
|
set clearSensorConfigurationOnLeave(newClearSensorConfigurationOnLeave: boolean);
|
|
99
103
|
get numberOfPressureSensors(): number;
|
|
100
104
|
resetPressureRange(): void;
|
|
105
|
+
get vibrationLocations(): ("front" | "rear")[];
|
|
101
106
|
triggerVibration(vibrationConfigurations: VibrationConfiguration[], sendImmediately?: boolean): Promise<void>;
|
|
107
|
+
get fileTypes(): ("tflite" | "wifiServerCert" | "wifiServerKey")[];
|
|
102
108
|
get maxFileLength(): number;
|
|
109
|
+
get validFileTypes(): ("tflite" | "wifiServerCert" | "wifiServerKey")[];
|
|
103
110
|
sendFile(fileType: FileType, file: FileLike): Promise<void>;
|
|
104
111
|
receiveFile(fileType: FileType): Promise<void>;
|
|
105
112
|
get fileTransferStatus(): "idle" | "sending" | "receiving";
|
|
106
113
|
cancelFileTransfer(): void;
|
|
107
114
|
get tfliteName(): string;
|
|
108
115
|
get setTfliteName(): (newName: string, sendImmediately?: boolean) => Promise<void>;
|
|
116
|
+
sendTfliteConfiguration(configuration: TfliteFileConfiguration): Promise<void>;
|
|
109
117
|
get tfliteTask(): "classification" | "regression";
|
|
110
118
|
get setTfliteTask(): (newTask: import("./TfliteManager.ts").TfliteTask, sendImmediately?: boolean) => Promise<void>;
|
|
111
119
|
get tfliteSampleRate(): number;
|
|
112
120
|
get setTfliteSampleRate(): (newSampleRate: number, sendImmediately?: boolean) => Promise<void>;
|
|
113
|
-
get tfliteSensorTypes(): ("pressure" | "
|
|
114
|
-
get allowedTfliteSensorTypes(): ("pressure" | "acceleration" | "gravity" | "linearAcceleration" | "gyroscope" | "magnetometer" | "gameRotation" | "rotation" | "orientation" | "activity" | "stepCounter" | "stepDetector" | "deviceOrientation" | "barometer")[];
|
|
121
|
+
get tfliteSensorTypes(): ("pressure" | "linearAcceleration" | "gyroscope" | "magnetometer")[];
|
|
122
|
+
get allowedTfliteSensorTypes(): ("pressure" | "acceleration" | "gravity" | "linearAcceleration" | "gyroscope" | "magnetometer" | "gameRotation" | "rotation" | "orientation" | "activity" | "stepCounter" | "stepDetector" | "deviceOrientation" | "tapDetector" | "barometer" | "camera")[];
|
|
115
123
|
get setTfliteSensorTypes(): (newSensorTypes: SensorType[], sendImmediately?: boolean) => Promise<void>;
|
|
116
124
|
get tfliteIsReady(): boolean;
|
|
117
125
|
get tfliteInferencingEnabled(): boolean;
|
|
@@ -123,8 +131,10 @@ declare class Device {
|
|
|
123
131
|
get setTfliteCaptureDelay(): (newCaptureDelay: number, sendImmediately: boolean) => Promise<void>;
|
|
124
132
|
get tfliteThreshold(): number;
|
|
125
133
|
get setTfliteThreshold(): (newThreshold: number, sendImmediately: boolean) => Promise<void>;
|
|
134
|
+
get canUpdateFirmware(): boolean | undefined;
|
|
126
135
|
private sendSmpMessage;
|
|
127
136
|
get uploadFirmware(): (file: FileLike) => Promise<void>;
|
|
137
|
+
get canReset(): boolean | undefined;
|
|
128
138
|
reset(): Promise<void>;
|
|
129
139
|
get firmwareStatus(): "idle" | "uploading" | "uploaded" | "pending" | "testing" | "erasing";
|
|
130
140
|
get getFirmwareImages(): () => Promise<void>;
|
|
@@ -134,5 +144,32 @@ declare class Device {
|
|
|
134
144
|
get testFirmwareImage(): (imageIndex?: number) => Promise<void>;
|
|
135
145
|
get isServerSide(): boolean;
|
|
136
146
|
set isServerSide(newIsServerSide: boolean);
|
|
147
|
+
get isUkaton(): boolean;
|
|
148
|
+
get isWifiAvailable(): boolean;
|
|
149
|
+
get wifiSSID(): string;
|
|
150
|
+
setWifiSSID(newWifiSSID: string): Promise<void>;
|
|
151
|
+
get wifiPassword(): string;
|
|
152
|
+
setWifiPassword(newWifiPassword: string): Promise<void>;
|
|
153
|
+
get isWifiConnected(): boolean;
|
|
154
|
+
get ipAddress(): string | undefined;
|
|
155
|
+
get wifiConnectionEnabled(): boolean;
|
|
156
|
+
get enableWifiConnection(): () => Promise<void>;
|
|
157
|
+
get setWifiConnectionEnabled(): (newWifiConnectionEnabled: boolean, sendImmediately?: boolean) => Promise<void>;
|
|
158
|
+
get disableWifiConnection(): () => Promise<void>;
|
|
159
|
+
get toggleWifiConnection(): () => Promise<void>;
|
|
160
|
+
get isWifiSecure(): boolean;
|
|
161
|
+
reconnectViaWebSockets(): Promise<void>;
|
|
162
|
+
reconnectViaUDP(): Promise<void>;
|
|
163
|
+
get hasCamera(): boolean;
|
|
164
|
+
get cameraStatus(): "idle" | "focusing" | "takingPicture" | "asleep";
|
|
165
|
+
takePicture(): Promise<void>;
|
|
166
|
+
focusCamera(): Promise<void>;
|
|
167
|
+
stopCamera(): Promise<void>;
|
|
168
|
+
wakeCamera(): Promise<void>;
|
|
169
|
+
sleepCamera(): Promise<void>;
|
|
170
|
+
get cameraConfiguration(): import("./CameraManager.ts").CameraConfiguration;
|
|
171
|
+
get availableCameraConfigurationTypes(): ("resolution" | "qualityFactor" | "shutter" | "gain" | "redGain" | "greenGain" | "blueGain")[];
|
|
172
|
+
get cameraConfigurationRanges(): import("./CameraManager.ts").CameraConfigurationRanges;
|
|
173
|
+
get setCameraConfiguration(): (newCameraConfiguration: import("./CameraManager.ts").CameraConfiguration) => Promise<void>;
|
|
137
174
|
}
|
|
138
175
|
export default Device;
|
|
@@ -15,9 +15,9 @@ export interface DeviceInformation {
|
|
|
15
15
|
pnpId: PnpId;
|
|
16
16
|
serialNumber: string;
|
|
17
17
|
}
|
|
18
|
-
export declare const
|
|
19
|
-
export type
|
|
20
|
-
export declare const DeviceInformationEventTypes: readonly ["manufacturerName", "modelNumber", "
|
|
18
|
+
export declare const DeviceInformationTypes: readonly ["manufacturerName", "modelNumber", "hardwareRevision", "firmwareRevision", "softwareRevision", "pnpId", "serialNumber"];
|
|
19
|
+
export type DeviceInformationType = (typeof DeviceInformationTypes)[number];
|
|
20
|
+
export declare const DeviceInformationEventTypes: readonly ["manufacturerName", "modelNumber", "hardwareRevision", "firmwareRevision", "softwareRevision", "pnpId", "serialNumber", "deviceInformation"];
|
|
21
21
|
export type DeviceInformationEventType = (typeof DeviceInformationEventTypes)[number];
|
|
22
22
|
export interface DeviceInformationEventMessages {
|
|
23
23
|
manufacturerName: {
|
|
@@ -51,6 +51,6 @@ declare class DeviceInformationManager {
|
|
|
51
51
|
eventDispatcher: DeviceInformationEventDispatcher;
|
|
52
52
|
get information(): DeviceInformation;
|
|
53
53
|
clear(): void;
|
|
54
|
-
parseMessage(messageType:
|
|
54
|
+
parseMessage(messageType: DeviceInformationType, dataView: DataView): void;
|
|
55
55
|
}
|
|
56
56
|
export default DeviceInformationManager;
|
|
@@ -5,6 +5,8 @@ import EventDispatcher, { BoundEventListeners, Event, EventListenerMap, EventMap
|
|
|
5
5
|
export interface LocalStorageDeviceInformation {
|
|
6
6
|
type: DeviceType;
|
|
7
7
|
bluetoothId: string;
|
|
8
|
+
ipAddress?: string;
|
|
9
|
+
isWifiSecure?: boolean;
|
|
8
10
|
}
|
|
9
11
|
export interface LocalStorageConfiguration {
|
|
10
12
|
devices: LocalStorageDeviceInformation[];
|
|
@@ -64,6 +66,7 @@ declare class DeviceManager {
|
|
|
64
66
|
}) => void) => void;
|
|
65
67
|
get RemoveEventListeners(): <T extends "deviceConnected" | "deviceDisconnected" | "deviceIsConnected" | "availableDevices" | "connectedDevices">(type: T) => void;
|
|
66
68
|
get RemoveAllEventListeners(): () => void;
|
|
69
|
+
_CheckDeviceAvailability(device: Device): void;
|
|
67
70
|
}
|
|
68
71
|
declare const _default: DeviceManager;
|
|
69
72
|
export default _default;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { FileLike } from "./utils/ArrayBufferUtils.ts";
|
|
2
2
|
import Device, { SendMessageCallback } from "./Device.ts";
|
|
3
3
|
import EventDispatcher from "./utils/EventDispatcher.ts";
|
|
4
|
-
export declare const FileTransferMessageTypes: readonly ["maxFileLength", "getFileType", "setFileType", "getFileLength", "setFileLength", "getFileChecksum", "setFileChecksum", "setFileTransferCommand", "fileTransferStatus", "getFileBlock", "setFileBlock", "fileBytesTransferred"];
|
|
4
|
+
export declare const FileTransferMessageTypes: readonly ["getFileTypes", "maxFileLength", "getFileType", "setFileType", "getFileLength", "setFileLength", "getFileChecksum", "setFileChecksum", "setFileTransferCommand", "fileTransferStatus", "getFileBlock", "setFileBlock", "fileBytesTransferred"];
|
|
5
5
|
export type FileTransferMessageType = (typeof FileTransferMessageTypes)[number];
|
|
6
|
-
export declare const FileTypes: readonly ["tflite"];
|
|
6
|
+
export declare const FileTypes: readonly ["tflite", "wifiServerCert", "wifiServerKey"];
|
|
7
7
|
export type FileType = (typeof FileTypes)[number];
|
|
8
8
|
export declare const FileTransferStatuses: readonly ["idle", "sending", "receiving"];
|
|
9
9
|
export type FileTransferStatus = (typeof FileTransferStatuses)[number];
|
|
@@ -11,9 +11,17 @@ export declare const FileTransferCommands: readonly ["startSend", "startReceive"
|
|
|
11
11
|
export type FileTransferCommand = (typeof FileTransferCommands)[number];
|
|
12
12
|
export declare const FileTransferDirections: readonly ["sending", "receiving"];
|
|
13
13
|
export type FileTransferDirection = (typeof FileTransferDirections)[number];
|
|
14
|
-
export declare const FileTransferEventTypes: readonly ["maxFileLength", "getFileType", "setFileType", "getFileLength", "setFileLength", "getFileChecksum", "setFileChecksum", "setFileTransferCommand", "fileTransferStatus", "getFileBlock", "setFileBlock", "fileBytesTransferred", "fileTransferProgress", "fileTransferComplete", "fileReceived"];
|
|
14
|
+
export declare const FileTransferEventTypes: readonly ["getFileTypes", "maxFileLength", "getFileType", "setFileType", "getFileLength", "setFileLength", "getFileChecksum", "setFileChecksum", "setFileTransferCommand", "fileTransferStatus", "getFileBlock", "setFileBlock", "fileBytesTransferred", "fileTransferProgress", "fileTransferComplete", "fileReceived"];
|
|
15
15
|
export type FileTransferEventType = (typeof FileTransferEventTypes)[number];
|
|
16
|
+
export declare const RequiredFileTransferMessageTypes: FileTransferMessageType[];
|
|
17
|
+
export interface FileConfiguration {
|
|
18
|
+
file: FileLike;
|
|
19
|
+
type: FileType;
|
|
20
|
+
}
|
|
16
21
|
export interface FileTransferEventMessages {
|
|
22
|
+
getFileTypes: {
|
|
23
|
+
fileTypes: FileType[];
|
|
24
|
+
};
|
|
17
25
|
maxFileLength: {
|
|
18
26
|
maxFileLength: number;
|
|
19
27
|
};
|
|
@@ -49,36 +57,38 @@ declare class FileTransferManager {
|
|
|
49
57
|
constructor();
|
|
50
58
|
sendMessage: SendFileTransferMessageCallback;
|
|
51
59
|
eventDispatcher: FileTransferEventDispatcher;
|
|
52
|
-
get addEventListener(): <T extends "maxFileLength" | "getFileType" | "setFileType" | "getFileLength" | "setFileLength" | "getFileChecksum" | "setFileChecksum" | "setFileTransferCommand" | "fileTransferStatus" | "getFileBlock" | "setFileBlock" | "fileBytesTransferred" | "fileTransferProgress" | "fileTransferComplete" | "fileReceived">(type: T, listener: (event: {
|
|
60
|
+
get addEventListener(): <T extends "getFileTypes" | "maxFileLength" | "getFileType" | "setFileType" | "getFileLength" | "setFileLength" | "getFileChecksum" | "setFileChecksum" | "setFileTransferCommand" | "fileTransferStatus" | "getFileBlock" | "setFileBlock" | "fileBytesTransferred" | "fileTransferProgress" | "fileTransferComplete" | "fileReceived">(type: T, listener: (event: {
|
|
53
61
|
type: T;
|
|
54
62
|
target: Device;
|
|
55
63
|
message: FileTransferEventMessages[T];
|
|
56
64
|
}) => void, options?: {
|
|
57
65
|
once?: boolean;
|
|
58
66
|
}) => void;
|
|
59
|
-
get removeEventListener(): <T extends "maxFileLength" | "getFileType" | "setFileType" | "getFileLength" | "setFileLength" | "getFileChecksum" | "setFileChecksum" | "setFileTransferCommand" | "fileTransferStatus" | "getFileBlock" | "setFileBlock" | "fileBytesTransferred" | "fileTransferProgress" | "fileTransferComplete" | "fileReceived">(type: T, listener: (event: {
|
|
67
|
+
get removeEventListener(): <T extends "getFileTypes" | "maxFileLength" | "getFileType" | "setFileType" | "getFileLength" | "setFileLength" | "getFileChecksum" | "setFileChecksum" | "setFileTransferCommand" | "fileTransferStatus" | "getFileBlock" | "setFileBlock" | "fileBytesTransferred" | "fileTransferProgress" | "fileTransferComplete" | "fileReceived">(type: T, listener: (event: {
|
|
60
68
|
type: T;
|
|
61
69
|
target: Device;
|
|
62
70
|
message: FileTransferEventMessages[T];
|
|
63
71
|
}) => void) => void;
|
|
64
|
-
get waitForEvent(): <T extends "maxFileLength" | "getFileType" | "setFileType" | "getFileLength" | "setFileLength" | "getFileChecksum" | "setFileChecksum" | "setFileTransferCommand" | "fileTransferStatus" | "getFileBlock" | "setFileBlock" | "fileBytesTransferred" | "fileTransferProgress" | "fileTransferComplete" | "fileReceived">(type: T) => Promise<{
|
|
72
|
+
get waitForEvent(): <T extends "getFileTypes" | "maxFileLength" | "getFileType" | "setFileType" | "getFileLength" | "setFileLength" | "getFileChecksum" | "setFileChecksum" | "setFileTransferCommand" | "fileTransferStatus" | "getFileBlock" | "setFileBlock" | "fileBytesTransferred" | "fileTransferProgress" | "fileTransferComplete" | "fileReceived">(type: T) => Promise<{
|
|
65
73
|
type: T;
|
|
66
74
|
target: Device;
|
|
67
75
|
message: FileTransferEventMessages[T];
|
|
68
76
|
}>;
|
|
77
|
+
get fileTypes(): ("tflite" | "wifiServerCert" | "wifiServerKey")[];
|
|
69
78
|
static get MaxLength(): number;
|
|
70
79
|
/** kB */
|
|
71
80
|
get maxLength(): number;
|
|
72
|
-
get type(): "tflite" | undefined;
|
|
81
|
+
get type(): "tflite" | "wifiServerCert" | "wifiServerKey" | undefined;
|
|
73
82
|
get length(): number;
|
|
74
83
|
get checksum(): number;
|
|
75
84
|
get status(): "idle" | "sending" | "receiving";
|
|
76
85
|
parseMessage(messageType: FileTransferMessageType, dataView: DataView): void;
|
|
77
|
-
send(type: FileType, file: FileLike): Promise<
|
|
86
|
+
send(type: FileType, file: FileLike): Promise<boolean>;
|
|
78
87
|
mtu: number;
|
|
79
88
|
receive(type: FileType): Promise<void>;
|
|
80
89
|
cancel(): Promise<void>;
|
|
81
90
|
get isServerSide(): boolean;
|
|
82
91
|
set isServerSide(newIsServerSide: boolean);
|
|
92
|
+
requestRequiredInformation(): void;
|
|
83
93
|
}
|
|
84
94
|
export default FileTransferManager;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { ConnectionType } from "./connection/BaseConnectionManager.ts";
|
|
1
2
|
import Device, { SendMessageCallback } from "./Device.ts";
|
|
2
3
|
import EventDispatcher from "./utils/EventDispatcher.ts";
|
|
3
|
-
export declare const DeviceTypes: readonly ["leftInsole", "rightInsole"];
|
|
4
|
+
export declare const DeviceTypes: readonly ["leftInsole", "rightInsole", "leftGlove", "rightGlove", "glasses", "generic"];
|
|
4
5
|
export type DeviceType = (typeof DeviceTypes)[number];
|
|
5
|
-
export declare const
|
|
6
|
-
export type
|
|
6
|
+
export declare const Sides: readonly ["left", "right"];
|
|
7
|
+
export type Side = (typeof Sides)[number];
|
|
7
8
|
export declare const MinNameLength = 2;
|
|
8
9
|
export declare const MaxNameLength = 30;
|
|
9
10
|
export declare const InformationMessageTypes: readonly ["isCharging", "getBatteryCurrent", "getMtu", "getId", "getName", "setName", "getType", "setType", "getCurrentTime", "setCurrentTime"];
|
|
@@ -52,15 +53,17 @@ declare class InformationManager {
|
|
|
52
53
|
get name(): string;
|
|
53
54
|
updateName(updatedName: string): void;
|
|
54
55
|
setName(newName: string): Promise<void>;
|
|
55
|
-
get type(): "leftInsole" | "rightInsole";
|
|
56
|
+
get type(): "leftInsole" | "rightInsole" | "leftGlove" | "rightGlove" | "glasses" | "generic";
|
|
56
57
|
get typeEnum(): number;
|
|
57
58
|
updateType(updatedType: DeviceType): void;
|
|
58
59
|
setType(newType: DeviceType): Promise<void>;
|
|
59
60
|
get isInsole(): boolean;
|
|
60
|
-
get
|
|
61
|
+
get isGlove(): boolean;
|
|
62
|
+
get side(): Side;
|
|
61
63
|
get mtu(): number;
|
|
62
64
|
get isCurrentTimeSet(): boolean;
|
|
63
65
|
parseMessage(messageType: InformationMessageType, dataView: DataView): void;
|
|
64
66
|
clear(): void;
|
|
67
|
+
connectionType?: ConnectionType;
|
|
65
68
|
}
|
|
66
69
|
export default InformationManager;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import EventDispatcher from "./utils/EventDispatcher.ts";
|
|
2
2
|
import { SensorType } from "./sensor/SensorDataManager.ts";
|
|
3
3
|
import Device, { SendMessageCallback } from "./Device.ts";
|
|
4
|
+
import { FileConfiguration as BaseFileConfiguration } from "./FileTransferManager.ts";
|
|
4
5
|
export declare const TfliteMessageTypes: readonly ["getTfliteName", "setTfliteName", "getTfliteTask", "setTfliteTask", "getTfliteSampleRate", "setTfliteSampleRate", "getTfliteSensorTypes", "setTfliteSensorTypes", "tfliteIsReady", "getTfliteCaptureDelay", "setTfliteCaptureDelay", "getTfliteThreshold", "setTfliteThreshold", "getTfliteInferencingEnabled", "setTfliteInferencingEnabled", "tfliteInference"];
|
|
5
6
|
export type TfliteMessageType = (typeof TfliteMessageTypes)[number];
|
|
6
7
|
export declare const TfliteEventTypes: readonly ["getTfliteName", "setTfliteName", "getTfliteTask", "setTfliteTask", "getTfliteSampleRate", "setTfliteSampleRate", "getTfliteSensorTypes", "setTfliteSensorTypes", "tfliteIsReady", "getTfliteCaptureDelay", "setTfliteCaptureDelay", "getTfliteThreshold", "setTfliteThreshold", "getTfliteInferencingEnabled", "setTfliteInferencingEnabled", "tfliteInference"];
|
|
7
8
|
export type TfliteEventType = (typeof TfliteEventTypes)[number];
|
|
9
|
+
export declare const RequiredTfliteMessageTypes: TfliteMessageType[];
|
|
8
10
|
export declare const TfliteTasks: readonly ["classification", "regression"];
|
|
9
11
|
export type TfliteTask = (typeof TfliteTasks)[number];
|
|
10
12
|
export interface TfliteEventMessages {
|
|
@@ -41,11 +43,25 @@ export interface TfliteInference {
|
|
|
41
43
|
values: number[];
|
|
42
44
|
maxValue?: number;
|
|
43
45
|
maxIndex?: number;
|
|
46
|
+
maxClass?: string;
|
|
47
|
+
classValues?: {
|
|
48
|
+
[key: string]: number;
|
|
49
|
+
};
|
|
44
50
|
}
|
|
45
51
|
export type TfliteEventDispatcher = EventDispatcher<Device, TfliteEventType, TfliteEventMessages>;
|
|
46
52
|
export type SendTfliteMessageCallback = SendMessageCallback<TfliteMessageType>;
|
|
47
|
-
export declare const TfliteSensorTypes:
|
|
53
|
+
export declare const TfliteSensorTypes: readonly ["pressure", "linearAcceleration", "gyroscope", "magnetometer"];
|
|
48
54
|
export type TfliteSensorType = (typeof TfliteSensorTypes)[number];
|
|
55
|
+
export interface TfliteFileConfiguration extends BaseFileConfiguration {
|
|
56
|
+
type: "tflite";
|
|
57
|
+
name: string;
|
|
58
|
+
sensorTypes: TfliteSensorType[];
|
|
59
|
+
task: TfliteTask;
|
|
60
|
+
sampleRate: number;
|
|
61
|
+
captureDelay?: number;
|
|
62
|
+
threshold?: number;
|
|
63
|
+
classes?: string[];
|
|
64
|
+
}
|
|
49
65
|
declare class TfliteManager {
|
|
50
66
|
#private;
|
|
51
67
|
constructor();
|
|
@@ -75,7 +91,7 @@ declare class TfliteManager {
|
|
|
75
91
|
get sampleRate(): number;
|
|
76
92
|
setSampleRate(newSampleRate: number, sendImmediately?: boolean): Promise<void>;
|
|
77
93
|
static AssertValidSensorType(sensorType: SensorType): void;
|
|
78
|
-
get sensorTypes(): ("pressure" | "
|
|
94
|
+
get sensorTypes(): ("pressure" | "linearAcceleration" | "gyroscope" | "magnetometer")[];
|
|
79
95
|
setSensorTypes(newSensorTypes: SensorType[], sendImmediately?: boolean): Promise<void>;
|
|
80
96
|
get isReady(): boolean;
|
|
81
97
|
get captureDelay(): number;
|
|
@@ -88,5 +104,9 @@ declare class TfliteManager {
|
|
|
88
104
|
enableInferencing(): Promise<void>;
|
|
89
105
|
disableInferencing(): Promise<void>;
|
|
90
106
|
parseMessage(messageType: TfliteMessageType, dataView: DataView): void;
|
|
107
|
+
get configuration(): TfliteFileConfiguration | undefined;
|
|
108
|
+
sendConfiguration(configuration: TfliteFileConfiguration, sendImmediately?: boolean): void;
|
|
109
|
+
clear(): void;
|
|
110
|
+
requestRequiredInformation(): void;
|
|
91
111
|
}
|
|
92
112
|
export default TfliteManager;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import Device, { SendMessageCallback } from "./Device.ts";
|
|
2
|
+
import EventDispatcher from "./utils/EventDispatcher.ts";
|
|
3
|
+
export declare const MinWifiSSIDLength = 1;
|
|
4
|
+
export declare const MaxWifiSSIDLength = 32;
|
|
5
|
+
export declare const MinWifiPasswordLength = 8;
|
|
6
|
+
export declare const MaxWifiPasswordLength = 64;
|
|
7
|
+
export declare const WifiMessageTypes: readonly ["isWifiAvailable", "getWifiSSID", "setWifiSSID", "getWifiPassword", "setWifiPassword", "getWifiConnectionEnabled", "setWifiConnectionEnabled", "isWifiConnected", "ipAddress", "isWifiSecure"];
|
|
8
|
+
export type WifiMessageType = (typeof WifiMessageTypes)[number];
|
|
9
|
+
export declare const RequiredWifiMessageTypes: WifiMessageType[];
|
|
10
|
+
export declare const WifiEventTypes: readonly ["isWifiAvailable", "getWifiSSID", "setWifiSSID", "getWifiPassword", "setWifiPassword", "getWifiConnectionEnabled", "setWifiConnectionEnabled", "isWifiConnected", "ipAddress", "isWifiSecure"];
|
|
11
|
+
export type WifiEventType = (typeof WifiEventTypes)[number];
|
|
12
|
+
export interface WifiEventMessages {
|
|
13
|
+
isWifiAvailable: {
|
|
14
|
+
isWifiAvailable: boolean;
|
|
15
|
+
};
|
|
16
|
+
getWifiSSID: {
|
|
17
|
+
wifiSSID: string;
|
|
18
|
+
};
|
|
19
|
+
getWifiPassword: {
|
|
20
|
+
wifiPassword: string;
|
|
21
|
+
};
|
|
22
|
+
getEnableWifiConnection: {
|
|
23
|
+
wifiConnectionEnabled: boolean;
|
|
24
|
+
};
|
|
25
|
+
isWifiConnected: {
|
|
26
|
+
isWifiConnected: boolean;
|
|
27
|
+
};
|
|
28
|
+
ipAddress: {
|
|
29
|
+
ipAddress?: string;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export type WifiEventDispatcher = EventDispatcher<Device, WifiEventType, WifiEventMessages>;
|
|
33
|
+
export type SendWifiMessageCallback = SendMessageCallback<WifiMessageType>;
|
|
34
|
+
declare class WifiManager {
|
|
35
|
+
#private;
|
|
36
|
+
constructor();
|
|
37
|
+
sendMessage: SendWifiMessageCallback;
|
|
38
|
+
eventDispatcher: WifiEventDispatcher;
|
|
39
|
+
get waitForEvent(): <T extends "isWifiAvailable" | "getWifiSSID" | "setWifiSSID" | "getWifiPassword" | "setWifiPassword" | "getWifiConnectionEnabled" | "setWifiConnectionEnabled" | "isWifiConnected" | "ipAddress" | "isWifiSecure">(type: T) => Promise<{
|
|
40
|
+
type: T;
|
|
41
|
+
target: Device;
|
|
42
|
+
message: WifiEventMessages[T];
|
|
43
|
+
}>;
|
|
44
|
+
requestRequiredInformation(): void;
|
|
45
|
+
get isWifiAvailable(): boolean;
|
|
46
|
+
get wifiSSID(): string;
|
|
47
|
+
setWifiSSID(newWifiSSID: string): Promise<void>;
|
|
48
|
+
get wifiPassword(): string;
|
|
49
|
+
setWifiPassword(newWifiPassword: string): Promise<void>;
|
|
50
|
+
get wifiConnectionEnabled(): boolean;
|
|
51
|
+
setWifiConnectionEnabled(newWifiConnectionEnabled: boolean, sendImmediately?: boolean): Promise<void>;
|
|
52
|
+
toggleWifiConnection(): Promise<void>;
|
|
53
|
+
enableWifiConnection(): Promise<void>;
|
|
54
|
+
disableWifiConnection(): Promise<void>;
|
|
55
|
+
get isWifiConnected(): boolean;
|
|
56
|
+
get ipAddress(): string | undefined;
|
|
57
|
+
get isWifiSecure(): boolean;
|
|
58
|
+
parseMessage(messageType: WifiMessageType, dataView: DataView): void;
|
|
59
|
+
clear(): void;
|
|
60
|
+
}
|
|
61
|
+
export default WifiManager;
|