brilliantsole 0.0.1

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.
Files changed (158) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +21 -0
  3. package/build/brilliantsole.cjs +5957 -0
  4. package/build/brilliantsole.cjs.map +1 -0
  5. package/build/brilliantsole.js +5448 -0
  6. package/build/brilliantsole.js.map +1 -0
  7. package/build/brilliantsole.ls.js +4872 -0
  8. package/build/brilliantsole.ls.js.map +1 -0
  9. package/build/brilliantsole.min.js +6 -0
  10. package/build/brilliantsole.min.js.map +1 -0
  11. package/build/brilliantsole.module.d.ts +908 -0
  12. package/build/brilliantsole.module.js +5412 -0
  13. package/build/brilliantsole.module.js.map +1 -0
  14. package/build/brilliantsole.module.min.d.ts +908 -0
  15. package/build/brilliantsole.module.min.js +6 -0
  16. package/build/brilliantsole.module.min.js.map +1 -0
  17. package/build/brilliantsole.node.module.d.ts +908 -0
  18. package/build/brilliantsole.node.module.js +5906 -0
  19. package/build/brilliantsole.node.module.js.map +1 -0
  20. package/build/dts/BS.d.ts +25 -0
  21. package/build/dts/Device.d.ts +136 -0
  22. package/build/dts/DeviceInformationManager.d.ts +56 -0
  23. package/build/dts/DeviceManager.d.ts +67 -0
  24. package/build/dts/FileTransferManager.d.ts +84 -0
  25. package/build/dts/FirmwareManager.d.ts +71 -0
  26. package/build/dts/InformationManager.d.ts +66 -0
  27. package/build/dts/TfliteManager.d.ts +92 -0
  28. package/build/dts/connection/BaseConnectionManager.d.ts +59 -0
  29. package/build/dts/connection/ClientConnectionManager.d.ts +23 -0
  30. package/build/dts/connection/WebSocketClientConnectionManager.d.ts +23 -0
  31. package/build/dts/connection/bluetooth/BluetoothConnectionManager.d.ts +10 -0
  32. package/build/dts/connection/bluetooth/NobleConnectionManager.d.ts +42 -0
  33. package/build/dts/connection/bluetooth/WebBluetoothConnectionManager.d.ts +20 -0
  34. package/build/dts/connection/bluetooth/bluetoothUUIDs.d.ts +14 -0
  35. package/build/dts/connection/webSocket/ClientConnectionManager.d.ts +23 -0
  36. package/build/dts/connection/webSocket/WebSocketClientConnectionManager.d.ts +23 -0
  37. package/build/dts/devicePair/DevicePair.d.ts +60 -0
  38. package/build/dts/devicePair/DevicePairPressureSensorDataManager.d.ts +25 -0
  39. package/build/dts/devicePair/DevicePairSensorDataManager.d.ts +33 -0
  40. package/build/dts/scanner/BaseScanner.d.ts +66 -0
  41. package/build/dts/scanner/NobleScanner.d.ts +17 -0
  42. package/build/dts/scanner/Scanner.d.ts +3 -0
  43. package/build/dts/sensor/BarometerSensorDataManager.d.ts +16 -0
  44. package/build/dts/sensor/MotionSensorDataManager.d.ts +69 -0
  45. package/build/dts/sensor/PressureSensorDataManager.d.ts +36 -0
  46. package/build/dts/sensor/SensorConfigurationManager.d.ts +44 -0
  47. package/build/dts/sensor/SensorDataManager.d.ts +40 -0
  48. package/build/dts/server/BaseClient.d.ts +85 -0
  49. package/build/dts/server/BaseServer.d.ts +48 -0
  50. package/build/dts/server/ServerUtils.d.ts +23 -0
  51. package/build/dts/server/udp/UDPServer.d.ts +11 -0
  52. package/build/dts/server/udp/UDPUtils.d.ts +9 -0
  53. package/build/dts/server/websocket/WebSocketClient.d.ts +17 -0
  54. package/build/dts/server/websocket/WebSocketServer.d.ts +13 -0
  55. package/build/dts/server/websocket/WebSocketUtils.d.ts +9 -0
  56. package/build/dts/utils/ArrayBufferUtils.d.ts +7 -0
  57. package/build/dts/utils/ArrayUtils.d.ts +2 -0
  58. package/build/dts/utils/CenterOfPressureHelper.d.ts +15 -0
  59. package/build/dts/utils/Console.d.ts +34 -0
  60. package/build/dts/utils/EventDispatcher.d.ts +50 -0
  61. package/build/dts/utils/EventUtils.d.ts +6 -0
  62. package/build/dts/utils/MathUtils.d.ts +21 -0
  63. package/build/dts/utils/ParseUtils.d.ts +5 -0
  64. package/build/dts/utils/RangeHelper.d.ts +8 -0
  65. package/build/dts/utils/Text.d.ts +6 -0
  66. package/build/dts/utils/Timer.d.ts +14 -0
  67. package/build/dts/utils/TypeScriptUtils.d.ts +19 -0
  68. package/build/dts/utils/cbor.d.ts +6 -0
  69. package/build/dts/utils/checksum.d.ts +3 -0
  70. package/build/dts/utils/environment.d.ts +13 -0
  71. package/build/dts/utils/mcumgr.d.ts +88 -0
  72. package/build/dts/utils/stringUtils.d.ts +2 -0
  73. package/build/dts/vibration/VibrationManager.d.ts +45 -0
  74. package/build/dts/vibration/VibrationWaveformEffects.d.ts +2 -0
  75. package/build/index.d.ts +908 -0
  76. package/build/index.node.d.ts +908 -0
  77. package/examples/3d/index.html +109 -0
  78. package/examples/3d/scene.html +57 -0
  79. package/examples/3d/script.js +419 -0
  80. package/examples/balance/index.html +138 -0
  81. package/examples/balance/script.js +243 -0
  82. package/examples/basic/index.html +327 -0
  83. package/examples/basic/script.js +1093 -0
  84. package/examples/center-of-pressure/index.html +132 -0
  85. package/examples/center-of-pressure/script.js +207 -0
  86. package/examples/device-pair/index.html +72 -0
  87. package/examples/device-pair/script.js +187 -0
  88. package/examples/edge-impulse/index.html +94 -0
  89. package/examples/edge-impulse/script.js +1033 -0
  90. package/examples/graph/index.html +83 -0
  91. package/examples/graph/script.js +469 -0
  92. package/examples/machine-learning/index.html +366 -0
  93. package/examples/machine-learning/script.js +1774 -0
  94. package/examples/pressure/index.html +145 -0
  95. package/examples/pressure/script.js +201 -0
  96. package/examples/recording/index.html +187 -0
  97. package/examples/recording/script.js +736 -0
  98. package/examples/server/index.html +266 -0
  99. package/examples/server/script.js +925 -0
  100. package/examples/utils/aframe/fingertip-button-component.js +201 -0
  101. package/examples/utils/aframe/fingertip-collider-target-component.js +102 -0
  102. package/examples/utils/aframe/fingertip-colliders-component.js +147 -0
  103. package/examples/utils/three/three.module.min.js +24846 -0
  104. package/examples/webxr/index.html +221 -0
  105. package/examples/webxr/script.js +1127 -0
  106. package/package.json +83 -0
  107. package/src/BS.ts +68 -0
  108. package/src/Device.ts +734 -0
  109. package/src/DeviceInformationManager.ts +146 -0
  110. package/src/DeviceManager.ts +354 -0
  111. package/src/FileTransferManager.ts +452 -0
  112. package/src/FirmwareManager.ts +357 -0
  113. package/src/InformationManager.ts +283 -0
  114. package/src/TfliteManager.ts +450 -0
  115. package/src/connection/BaseConnectionManager.ts +255 -0
  116. package/src/connection/ClientConnectionManager.ts +120 -0
  117. package/src/connection/bluetooth/BluetoothConnectionManager.ts +34 -0
  118. package/src/connection/bluetooth/NobleConnectionManager.ts +302 -0
  119. package/src/connection/bluetooth/WebBluetoothConnectionManager.ts +269 -0
  120. package/src/connection/bluetooth/bluetoothUUIDs.ts +218 -0
  121. package/src/devicePair/DevicePair.ts +253 -0
  122. package/src/devicePair/DevicePairPressureSensorDataManager.ts +82 -0
  123. package/src/devicePair/DevicePairSensorDataManager.ts +90 -0
  124. package/src/scanner/BaseScanner.ts +189 -0
  125. package/src/scanner/NobleScanner.ts +195 -0
  126. package/src/scanner/Scanner.ts +16 -0
  127. package/src/sensor/BarometerSensorDataManager.ts +41 -0
  128. package/src/sensor/MotionSensorDataManager.ts +151 -0
  129. package/src/sensor/PressureSensorDataManager.ts +112 -0
  130. package/src/sensor/SensorConfigurationManager.ts +177 -0
  131. package/src/sensor/SensorDataManager.ts +166 -0
  132. package/src/server/BaseClient.ts +368 -0
  133. package/src/server/BaseServer.ts +344 -0
  134. package/src/server/ServerUtils.ts +93 -0
  135. package/src/server/udp/UDPServer.ts +229 -0
  136. package/src/server/udp/UDPUtils.ts +20 -0
  137. package/src/server/websocket/WebSocketClient.ts +179 -0
  138. package/src/server/websocket/WebSocketServer.ts +184 -0
  139. package/src/server/websocket/WebSocketUtils.ts +20 -0
  140. package/src/utils/ArrayBufferUtils.ts +88 -0
  141. package/src/utils/ArrayUtils.ts +15 -0
  142. package/src/utils/CenterOfPressureHelper.ts +39 -0
  143. package/src/utils/Console.ts +156 -0
  144. package/src/utils/EventDispatcher.ts +153 -0
  145. package/src/utils/EventUtils.ts +41 -0
  146. package/src/utils/MathUtils.ts +53 -0
  147. package/src/utils/ParseUtils.ts +46 -0
  148. package/src/utils/RangeHelper.ts +38 -0
  149. package/src/utils/Text.ts +30 -0
  150. package/src/utils/Timer.ts +72 -0
  151. package/src/utils/TypeScriptUtils.ts +22 -0
  152. package/src/utils/cbor.js +429 -0
  153. package/src/utils/checksum.ts +41 -0
  154. package/src/utils/environment.ts +46 -0
  155. package/src/utils/mcumgr.js +444 -0
  156. package/src/utils/stringUtils.ts +11 -0
  157. package/src/vibration/VibrationManager.ts +308 -0
  158. package/src/vibration/VibrationWaveformEffects.ts +128 -0
@@ -0,0 +1,25 @@
1
+ export { setAllConsoleLevelFlags, setConsoleLevelFlagsForType } from "./utils/Console.ts";
2
+ export * as Environment from "./utils/environment.ts";
3
+ export { Vector2, Vector3, Quaternion, Euler } from "./utils/MathUtils.ts";
4
+ export { default as Device, DeviceEvent, DeviceEventMap, DeviceEventListenerMap, BoundDeviceEventListeners, } from "./Device.ts";
5
+ export { default as DeviceManager, DeviceManagerEvent, DeviceManagerEventMap, DeviceManagerEventListenerMap, BoundDeviceManagerEventListeners, } from "./DeviceManager.ts";
6
+ export { DeviceInformation } from "./DeviceInformationManager.ts";
7
+ export { DeviceType, DeviceTypes, MinNameLength, MaxNameLength, InsoleSides, InsoleSide, } from "./InformationManager.ts";
8
+ export { SensorType, SensorTypes, ContinuousSensorType, ContinuousSensorTypes } from "./sensor/SensorDataManager.ts";
9
+ export { MaxSensorRate, SensorRateStep, SensorConfiguration } from "./sensor/SensorConfigurationManager.ts";
10
+ export { DefaultNumberOfPressureSensors, PressureData } from "./sensor/PressureSensorDataManager.ts";
11
+ export { CenterOfPressure } from "./utils/CenterOfPressureHelper.ts";
12
+ 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 { default as DevicePair, DevicePairEvent, DevicePairEventMap, DevicePairEventListenerMap, BoundDevicePairEventListeners, } from "./devicePair/DevicePair.ts";
17
+ export { DiscoveredDevice } from "./scanner/BaseScanner.ts";
18
+ /** NODE_START */
19
+ export { default as Scanner } from "./scanner/Scanner.ts";
20
+ export { default as WebSocketServer } from "./server/websocket/WebSocketServer.ts";
21
+ export { default as UDPServer } from "./server/udp/UDPServer.ts";
22
+ /** NODE_END */
23
+ /** BROWSER_START */
24
+ export { default as WebSocketClient } from "./server/websocket/WebSocketClient.ts";
25
+ /** BROWSER_END */
@@ -0,0 +1,136 @@
1
+ import EventDispatcher, { BoundEventListeners, Event, EventListenerMap, EventMap } from "./utils/EventDispatcher.ts";
2
+ import BaseConnectionManager, { TxRxMessageType, ConnectionStatus, ConnectionMessageType, ConnectionStatusEventMessages } from "./connection/BaseConnectionManager.ts";
3
+ import { SensorConfiguration, SensorConfigurationEventMessages } from "./sensor/SensorConfigurationManager.ts";
4
+ import { SensorDataEventMessages, SensorType } from "./sensor/SensorDataManager.ts";
5
+ import { VibrationConfiguration } from "./vibration/VibrationManager.ts";
6
+ import { FileTransferEventMessages, FileType } from "./FileTransferManager.ts";
7
+ import { TfliteEventMessages } from "./TfliteManager.ts";
8
+ import { FirmwareEventMessages } from "./FirmwareManager.ts";
9
+ import { DeviceInformationEventMessages } from "./DeviceInformationManager.ts";
10
+ import InformationManager, { DeviceType, InformationEventMessages } from "./InformationManager.ts";
11
+ import { FileLike } from "./utils/ArrayBufferUtils.ts";
12
+ 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", "softwareRevision", "hardwareRevision", "firmwareRevision", "pnpId", "serialNumber", "deviceInformation", "getSensorConfiguration", "setSensorConfiguration", "getPressurePositions", "getSensorScalars", "sensorData", "pressure", "acceleration", "gravity", "linearAcceleration", "gyroscope", "magnetometer", "gameRotation", "rotation", "orientation", "activity", "stepCounter", "stepDetector", "deviceOrientation", "barometer", "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", "smp", "firmwareImages", "firmwareUploadProgress", "firmwareStatus", "firmwareUploadComplete"];
13
+ export type DeviceEventType = (typeof DeviceEventTypes)[number];
14
+ export interface DeviceEventMessages extends ConnectionStatusEventMessages, DeviceInformationEventMessages, InformationEventMessages, SensorDataEventMessages, SensorConfigurationEventMessages, TfliteEventMessages, FileTransferEventMessages, FirmwareEventMessages {
15
+ batteryLevel: {
16
+ batteryLevel: number;
17
+ };
18
+ connectionMessage: {
19
+ messageType: ConnectionMessageType;
20
+ dataView: DataView;
21
+ };
22
+ }
23
+ export type SendMessageCallback<MessageType extends string> = (messages?: {
24
+ type: MessageType;
25
+ data?: ArrayBuffer;
26
+ }[], sendImmediately?: boolean) => Promise<void>;
27
+ export type SendSmpMessageCallback = (data: ArrayBuffer) => Promise<void>;
28
+ export type DeviceEventDispatcher = EventDispatcher<Device, DeviceEventType, DeviceEventMessages>;
29
+ export type DeviceEvent = Event<Device, DeviceEventType, DeviceEventMessages>;
30
+ export type DeviceEventMap = EventMap<Device, DeviceEventType, DeviceEventMessages>;
31
+ export type DeviceEventListenerMap = EventListenerMap<Device, DeviceEventType, DeviceEventMessages>;
32
+ export type BoundDeviceEventListeners = BoundEventListeners<Device, DeviceEventType, DeviceEventMessages>;
33
+ export declare const RequiredInformationConnectionMessages: TxRxMessageType[];
34
+ declare class Device {
35
+ #private;
36
+ get bluetoothId(): string | undefined;
37
+ constructor();
38
+ get addEventListener(): <T extends "maxFileLength" | "getFileType" | "setFileType" | "getFileLength" | "setFileLength" | "getFileChecksum" | "setFileChecksum" | "setFileTransferCommand" | "fileTransferStatus" | "getFileBlock" | "setFileBlock" | "fileBytesTransferred" | "fileTransferProgress" | "fileTransferComplete" | "fileReceived" | "pressure" | "acceleration" | "gravity" | "linearAcceleration" | "gyroscope" | "magnetometer" | "gameRotation" | "rotation" | "orientation" | "activity" | "stepCounter" | "stepDetector" | "deviceOrientation" | "barometer" | "getPressurePositions" | "getSensorScalars" | "sensorData" | "getSensorConfiguration" | "setSensorConfiguration" | "getTfliteName" | "setTfliteName" | "getTfliteTask" | "setTfliteTask" | "getTfliteSampleRate" | "setTfliteSampleRate" | "getTfliteSensorTypes" | "setTfliteSensorTypes" | "tfliteIsReady" | "getTfliteCaptureDelay" | "setTfliteCaptureDelay" | "getTfliteThreshold" | "setTfliteThreshold" | "getTfliteInferencingEnabled" | "setTfliteInferencingEnabled" | "tfliteInference" | "manufacturerName" | "modelNumber" | "softwareRevision" | "hardwareRevision" | "firmwareRevision" | "pnpId" | "serialNumber" | "deviceInformation" | "isCharging" | "getBatteryCurrent" | "getMtu" | "getId" | "getName" | "setName" | "getType" | "setType" | "getCurrentTime" | "setCurrentTime" | "notConnected" | "connecting" | "connected" | "disconnecting" | "connectionStatus" | "isConnected" | "smp" | "batteryLevel" | "rx" | "tx" | "firmwareImages" | "firmwareUploadProgress" | "firmwareStatus" | "firmwareUploadComplete" | "connectionMessage">(type: T, listener: (event: {
39
+ type: T;
40
+ target: Device;
41
+ message: DeviceEventMessages[T];
42
+ }) => void, options?: {
43
+ once?: boolean;
44
+ }) => void;
45
+ get removeEventListener(): <T extends "maxFileLength" | "getFileType" | "setFileType" | "getFileLength" | "setFileLength" | "getFileChecksum" | "setFileChecksum" | "setFileTransferCommand" | "fileTransferStatus" | "getFileBlock" | "setFileBlock" | "fileBytesTransferred" | "fileTransferProgress" | "fileTransferComplete" | "fileReceived" | "pressure" | "acceleration" | "gravity" | "linearAcceleration" | "gyroscope" | "magnetometer" | "gameRotation" | "rotation" | "orientation" | "activity" | "stepCounter" | "stepDetector" | "deviceOrientation" | "barometer" | "getPressurePositions" | "getSensorScalars" | "sensorData" | "getSensorConfiguration" | "setSensorConfiguration" | "getTfliteName" | "setTfliteName" | "getTfliteTask" | "setTfliteTask" | "getTfliteSampleRate" | "setTfliteSampleRate" | "getTfliteSensorTypes" | "setTfliteSensorTypes" | "tfliteIsReady" | "getTfliteCaptureDelay" | "setTfliteCaptureDelay" | "getTfliteThreshold" | "setTfliteThreshold" | "getTfliteInferencingEnabled" | "setTfliteInferencingEnabled" | "tfliteInference" | "manufacturerName" | "modelNumber" | "softwareRevision" | "hardwareRevision" | "firmwareRevision" | "pnpId" | "serialNumber" | "deviceInformation" | "isCharging" | "getBatteryCurrent" | "getMtu" | "getId" | "getName" | "setName" | "getType" | "setType" | "getCurrentTime" | "setCurrentTime" | "notConnected" | "connecting" | "connected" | "disconnecting" | "connectionStatus" | "isConnected" | "smp" | "batteryLevel" | "rx" | "tx" | "firmwareImages" | "firmwareUploadProgress" | "firmwareStatus" | "firmwareUploadComplete" | "connectionMessage">(type: T, listener: (event: {
46
+ type: T;
47
+ target: Device;
48
+ message: DeviceEventMessages[T];
49
+ }) => void) => void;
50
+ get waitForEvent(): <T extends "maxFileLength" | "getFileType" | "setFileType" | "getFileLength" | "setFileLength" | "getFileChecksum" | "setFileChecksum" | "setFileTransferCommand" | "fileTransferStatus" | "getFileBlock" | "setFileBlock" | "fileBytesTransferred" | "fileTransferProgress" | "fileTransferComplete" | "fileReceived" | "pressure" | "acceleration" | "gravity" | "linearAcceleration" | "gyroscope" | "magnetometer" | "gameRotation" | "rotation" | "orientation" | "activity" | "stepCounter" | "stepDetector" | "deviceOrientation" | "barometer" | "getPressurePositions" | "getSensorScalars" | "sensorData" | "getSensorConfiguration" | "setSensorConfiguration" | "getTfliteName" | "setTfliteName" | "getTfliteTask" | "setTfliteTask" | "getTfliteSampleRate" | "setTfliteSampleRate" | "getTfliteSensorTypes" | "setTfliteSensorTypes" | "tfliteIsReady" | "getTfliteCaptureDelay" | "setTfliteCaptureDelay" | "getTfliteThreshold" | "setTfliteThreshold" | "getTfliteInferencingEnabled" | "setTfliteInferencingEnabled" | "tfliteInference" | "manufacturerName" | "modelNumber" | "softwareRevision" | "hardwareRevision" | "firmwareRevision" | "pnpId" | "serialNumber" | "deviceInformation" | "isCharging" | "getBatteryCurrent" | "getMtu" | "getId" | "getName" | "setName" | "getType" | "setType" | "getCurrentTime" | "setCurrentTime" | "notConnected" | "connecting" | "connected" | "disconnecting" | "connectionStatus" | "isConnected" | "smp" | "batteryLevel" | "rx" | "tx" | "firmwareImages" | "firmwareUploadProgress" | "firmwareStatus" | "firmwareUploadComplete" | "connectionMessage">(type: T) => Promise<{
51
+ type: T;
52
+ target: Device;
53
+ message: DeviceEventMessages[T];
54
+ }>;
55
+ get connectionManager(): BaseConnectionManager | undefined;
56
+ set connectionManager(newConnectionManager: BaseConnectionManager | undefined);
57
+ private sendTxMessages;
58
+ connect(): Promise<void>;
59
+ get isConnected(): boolean;
60
+ get canReconnect(): boolean | undefined;
61
+ reconnect(): Promise<void | undefined>;
62
+ static Connect(): Promise<Device>;
63
+ static get ReconnectOnDisconnection(): boolean;
64
+ static set ReconnectOnDisconnection(newReconnectOnDisconnection: boolean);
65
+ get reconnectOnDisconnection(): boolean;
66
+ set reconnectOnDisconnection(newReconnectOnDisconnection: boolean);
67
+ get connectionType(): "webBluetooth" | "noble" | "client" | undefined;
68
+ disconnect(): Promise<void>;
69
+ toggleConnection(): void;
70
+ get connectionStatus(): ConnectionStatus;
71
+ get isConnectionBusy(): boolean;
72
+ latestConnectionMessage: Map<ConnectionMessageType, DataView>;
73
+ get deviceInformation(): import("./DeviceInformationManager.ts").DeviceInformation;
74
+ get batteryLevel(): number;
75
+ /** @private */
76
+ _informationManager: InformationManager;
77
+ get id(): string;
78
+ get isCharging(): boolean;
79
+ get batteryCurrent(): number;
80
+ get getBatteryCurrent(): () => Promise<void>;
81
+ get name(): string;
82
+ get setName(): (newName: string) => Promise<void>;
83
+ get type(): "leftInsole" | "rightInsole";
84
+ get setType(): (newType: DeviceType) => Promise<void>;
85
+ get isInsole(): boolean;
86
+ get insoleSide(): "left" | "right";
87
+ get mtu(): number;
88
+ get sensorTypes(): SensorType[];
89
+ get continuousSensorTypes(): ("pressure" | "acceleration" | "gravity" | "linearAcceleration" | "gyroscope" | "magnetometer" | "gameRotation" | "rotation" | "barometer")[];
90
+ get sensorConfiguration(): SensorConfiguration;
91
+ setSensorConfiguration(newSensorConfiguration: SensorConfiguration, clearRest?: boolean): Promise<void>;
92
+ clearSensorConfiguration(): Promise<void>;
93
+ static get ClearSensorConfigurationOnLeave(): boolean;
94
+ static set ClearSensorConfigurationOnLeave(newClearSensorConfigurationOnLeave: boolean);
95
+ get clearSensorConfigurationOnLeave(): boolean;
96
+ set clearSensorConfigurationOnLeave(newClearSensorConfigurationOnLeave: boolean);
97
+ get numberOfPressureSensors(): number;
98
+ resetPressureRange(): void;
99
+ triggerVibration(vibrationConfigurations: VibrationConfiguration[], sendImmediately?: boolean): Promise<void>;
100
+ get maxFileLength(): number;
101
+ sendFile(fileType: FileType, file: FileLike): Promise<void>;
102
+ receiveFile(fileType: FileType): Promise<void>;
103
+ get fileTransferStatus(): "idle" | "sending" | "receiving";
104
+ cancelFileTransfer(): void;
105
+ get tfliteName(): string;
106
+ get setTfliteName(): (newName: string, sendImmediately?: boolean) => Promise<void>;
107
+ get tfliteTask(): "classification" | "regression";
108
+ get setTfliteTask(): (newTask: import("./TfliteManager.ts").TfliteTask, sendImmediately?: boolean) => Promise<void>;
109
+ get tfliteSampleRate(): number;
110
+ get setTfliteSampleRate(): (newSampleRate: number, sendImmediately?: boolean) => Promise<void>;
111
+ get tfliteSensorTypes(): ("pressure" | "acceleration" | "gravity" | "linearAcceleration" | "gyroscope" | "magnetometer" | "gameRotation" | "rotation" | "orientation" | "activity" | "stepCounter" | "stepDetector" | "deviceOrientation" | "barometer")[];
112
+ get allowedTfliteSensorTypes(): ("pressure" | "acceleration" | "gravity" | "linearAcceleration" | "gyroscope" | "magnetometer" | "gameRotation" | "rotation" | "orientation" | "activity" | "stepCounter" | "stepDetector" | "deviceOrientation" | "barometer")[];
113
+ get setTfliteSensorTypes(): (newSensorTypes: SensorType[], sendImmediately?: boolean) => Promise<void>;
114
+ get tfliteIsReady(): boolean;
115
+ get tfliteInferencingEnabled(): boolean;
116
+ get setTfliteInferencingEnabled(): (newInferencingEnabled: boolean, sendImmediately?: boolean) => Promise<void>;
117
+ enableTfliteInferencing(): Promise<void>;
118
+ disableTfliteInferencing(): Promise<void>;
119
+ get toggleTfliteInferencing(): () => Promise<void>;
120
+ get tfliteCaptureDelay(): number;
121
+ get setTfliteCaptureDelay(): (newCaptureDelay: number, sendImmediately: boolean) => Promise<void>;
122
+ get tfliteThreshold(): number;
123
+ get setTfliteThreshold(): (newThreshold: number, sendImmediately: boolean) => Promise<void>;
124
+ private sendSmpMessage;
125
+ get uploadFirmware(): (file: FileLike) => Promise<void>;
126
+ reset(): Promise<void>;
127
+ get firmwareStatus(): "idle" | "uploading" | "uploaded" | "pending" | "testing" | "erasing";
128
+ get getFirmwareImages(): () => Promise<void>;
129
+ get firmwareImages(): import("./FirmwareManager.ts").FirmwareImage[];
130
+ get eraseFirmwareImage(): () => Promise<void>;
131
+ get confirmFirmwareImage(): (imageIndex?: number) => Promise<void>;
132
+ get testFirmwareImage(): (imageIndex?: number) => Promise<void>;
133
+ get isServerSide(): boolean;
134
+ set isServerSide(newIsServerSide: boolean);
135
+ }
136
+ export default Device;
@@ -0,0 +1,56 @@
1
+ import Device from "./Device.ts";
2
+ import EventDispatcher from "./utils/EventDispatcher.ts";
3
+ export interface PnpId {
4
+ source: "Bluetooth" | "USB";
5
+ vendorId: number;
6
+ productId: number;
7
+ productVersion: number;
8
+ }
9
+ export interface DeviceInformation {
10
+ manufacturerName: string;
11
+ modelNumber: string;
12
+ softwareRevision: string;
13
+ hardwareRevision: string;
14
+ firmwareRevision: string;
15
+ pnpId: PnpId;
16
+ serialNumber: string;
17
+ }
18
+ export declare const DeviceInformationMessageTypes: readonly ["manufacturerName", "modelNumber", "softwareRevision", "hardwareRevision", "firmwareRevision", "pnpId", "serialNumber"];
19
+ export type DeviceInformationMessageType = (typeof DeviceInformationMessageTypes)[number];
20
+ export declare const DeviceInformationEventTypes: readonly ["manufacturerName", "modelNumber", "softwareRevision", "hardwareRevision", "firmwareRevision", "pnpId", "serialNumber", "deviceInformation"];
21
+ export type DeviceInformationEventType = (typeof DeviceInformationEventTypes)[number];
22
+ export interface DeviceInformationEventMessages {
23
+ manufacturerName: {
24
+ manufacturerName: string;
25
+ };
26
+ modelNumber: {
27
+ modelNumber: string;
28
+ };
29
+ softwareRevision: {
30
+ softwareRevision: string;
31
+ };
32
+ hardwareRevision: {
33
+ hardwareRevision: string;
34
+ };
35
+ firmwareRevision: {
36
+ firmwareRevision: string;
37
+ };
38
+ pnpId: {
39
+ pnpId: PnpId;
40
+ };
41
+ serialNumber: {
42
+ serialNumber: string;
43
+ };
44
+ deviceInformation: {
45
+ deviceInformation: DeviceInformation;
46
+ };
47
+ }
48
+ export type DeviceInformationEventDispatcher = EventDispatcher<Device, DeviceInformationEventType, DeviceInformationEventMessages>;
49
+ declare class DeviceInformationManager {
50
+ #private;
51
+ eventDispatcher: DeviceInformationEventDispatcher;
52
+ get information(): DeviceInformation;
53
+ clear(): void;
54
+ parseMessage(messageType: DeviceInformationMessageType, dataView: DataView): void;
55
+ }
56
+ export default DeviceInformationManager;
@@ -0,0 +1,67 @@
1
+ import { ConnectionStatus } from "./connection/BaseConnectionManager.ts";
2
+ import Device from "./Device.ts";
3
+ import { DeviceType } from "./InformationManager.ts";
4
+ import EventDispatcher, { BoundEventListeners, Event, EventListenerMap, EventMap } from "./utils/EventDispatcher.ts";
5
+ export interface LocalStorageDeviceInformation {
6
+ type: DeviceType;
7
+ bluetoothId: string;
8
+ }
9
+ export interface LocalStorageConfiguration {
10
+ devices: LocalStorageDeviceInformation[];
11
+ }
12
+ export declare const DeviceManagerEventTypes: readonly ["deviceConnected", "deviceDisconnected", "deviceIsConnected", "availableDevices", "connectedDevices"];
13
+ export type DeviceManagerEventType = (typeof DeviceManagerEventTypes)[number];
14
+ interface DeviceManagerEventMessage {
15
+ device: Device;
16
+ }
17
+ export interface DeviceManagerEventMessages {
18
+ deviceConnected: DeviceManagerEventMessage;
19
+ deviceDisconnected: DeviceManagerEventMessage;
20
+ deviceIsConnected: DeviceManagerEventMessage;
21
+ availableDevices: {
22
+ availableDevices: Device[];
23
+ };
24
+ connectedDevices: {
25
+ connectedDevices: Device[];
26
+ };
27
+ }
28
+ export type DeviceManagerEventDispatcher = EventDispatcher<DeviceManager, DeviceManagerEventType, DeviceManagerEventMessages>;
29
+ export type DeviceManagerEventMap = EventMap<typeof Device, DeviceManagerEventType, DeviceManagerEventMessages>;
30
+ export type DeviceManagerEventListenerMap = EventListenerMap<typeof Device, DeviceManagerEventType, DeviceManagerEventMessages>;
31
+ export type DeviceManagerEvent = Event<typeof Device, DeviceManagerEventType, DeviceManagerEventMessages>;
32
+ export type BoundDeviceManagerEventListeners = BoundEventListeners<typeof Device, DeviceManagerEventType, DeviceManagerEventMessages>;
33
+ declare class DeviceManager {
34
+ #private;
35
+ static readonly shared: DeviceManager;
36
+ constructor();
37
+ /** @private */
38
+ onDevice(device: Device): void;
39
+ /** @private */
40
+ OnDeviceConnectionStatusUpdated(device: Device, connectionStatus: ConnectionStatus): void;
41
+ get ConnectedDevices(): Device[];
42
+ get UseLocalStorage(): boolean;
43
+ set UseLocalStorage(newUseLocalStorage: boolean);
44
+ get CanUseLocalStorage(): false | Storage;
45
+ get AvailableDevices(): Device[];
46
+ get CanGetDevices(): false | (() => Promise<BluetoothDevice[]>);
47
+ /**
48
+ * retrieves devices already connected via web bluetooth in other tabs/windows
49
+ *
50
+ * _only available on web-bluetooth enabled browsers_
51
+ */
52
+ GetDevices(): Promise<Device[] | undefined>;
53
+ get AddEventListener(): <T extends "deviceConnected" | "deviceDisconnected" | "deviceIsConnected" | "availableDevices" | "connectedDevices">(type: T, listener: (event: {
54
+ type: T;
55
+ target: DeviceManager;
56
+ message: DeviceManagerEventMessages[T];
57
+ }) => void, options?: {
58
+ once?: boolean;
59
+ }) => void;
60
+ get RemoveEventListener(): <T extends "deviceConnected" | "deviceDisconnected" | "deviceIsConnected" | "availableDevices" | "connectedDevices">(type: T, listener: (event: {
61
+ type: T;
62
+ target: DeviceManager;
63
+ message: DeviceManagerEventMessages[T];
64
+ }) => void) => void;
65
+ }
66
+ declare const _default: DeviceManager;
67
+ export default _default;
@@ -0,0 +1,84 @@
1
+ import { FileLike } from "./utils/ArrayBufferUtils.ts";
2
+ import Device, { SendMessageCallback } from "./Device.ts";
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"];
5
+ export type FileTransferMessageType = (typeof FileTransferMessageTypes)[number];
6
+ export declare const FileTypes: readonly ["tflite"];
7
+ export type FileType = (typeof FileTypes)[number];
8
+ export declare const FileTransferStatuses: readonly ["idle", "sending", "receiving"];
9
+ export type FileTransferStatus = (typeof FileTransferStatuses)[number];
10
+ export declare const FileTransferCommands: readonly ["startSend", "startReceive", "cancel"];
11
+ export type FileTransferCommand = (typeof FileTransferCommands)[number];
12
+ export declare const FileTransferDirections: readonly ["sending", "receiving"];
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"];
15
+ export type FileTransferEventType = (typeof FileTransferEventTypes)[number];
16
+ export interface FileTransferEventMessages {
17
+ maxFileLength: {
18
+ maxFileLength: number;
19
+ };
20
+ getFileType: {
21
+ fileType: FileType;
22
+ };
23
+ getFileLength: {
24
+ fileLength: number;
25
+ };
26
+ getFileChecksum: {
27
+ fileChecksum: number;
28
+ };
29
+ fileTransferStatus: {
30
+ fileTransferStatus: FileTransferStatus;
31
+ };
32
+ getFileBlock: {
33
+ fileTransferBlock: DataView;
34
+ };
35
+ fileTransferProgress: {
36
+ progress: number;
37
+ };
38
+ fileTransferComplete: {
39
+ direction: FileTransferDirection;
40
+ };
41
+ fileReceived: {
42
+ file: File | Blob;
43
+ };
44
+ }
45
+ export type FileTransferEventDispatcher = EventDispatcher<Device, FileTransferEventType, FileTransferEventMessages>;
46
+ export type SendFileTransferMessageCallback = SendMessageCallback<FileTransferMessageType>;
47
+ declare class FileTransferManager {
48
+ #private;
49
+ constructor();
50
+ sendMessage: SendFileTransferMessageCallback;
51
+ 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: {
53
+ type: T;
54
+ target: Device;
55
+ message: FileTransferEventMessages[T];
56
+ }) => void, options?: {
57
+ once?: boolean;
58
+ }) => 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: {
60
+ type: T;
61
+ target: Device;
62
+ message: FileTransferEventMessages[T];
63
+ }) => 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<{
65
+ type: T;
66
+ target: Device;
67
+ message: FileTransferEventMessages[T];
68
+ }>;
69
+ static get MaxLength(): number;
70
+ /** kB */
71
+ get maxLength(): number;
72
+ get type(): "tflite" | undefined;
73
+ get length(): number;
74
+ get checksum(): number;
75
+ get status(): "idle" | "sending" | "receiving";
76
+ parseMessage(messageType: FileTransferMessageType, dataView: DataView): void;
77
+ send(type: FileType, file: FileLike): Promise<void>;
78
+ mtu: number;
79
+ receive(type: FileType): Promise<void>;
80
+ cancel(): Promise<void>;
81
+ get isServerSide(): boolean;
82
+ set isServerSide(newIsServerSide: boolean);
83
+ }
84
+ export default FileTransferManager;
@@ -0,0 +1,71 @@
1
+ import Device, { SendSmpMessageCallback } from "./Device.ts";
2
+ import EventDispatcher from "./utils/EventDispatcher.ts";
3
+ import { FileLike } from "./utils/ArrayBufferUtils.ts";
4
+ export declare const FirmwareMessageTypes: readonly ["smp"];
5
+ export type FirmwareMessageType = (typeof FirmwareMessageTypes)[number];
6
+ export declare const FirmwareEventTypes: readonly ["smp", "firmwareImages", "firmwareUploadProgress", "firmwareStatus", "firmwareUploadComplete"];
7
+ export type FirmwareEventType = (typeof FirmwareEventTypes)[number];
8
+ export declare const FirmwareStatuses: readonly ["idle", "uploading", "uploaded", "pending", "testing", "erasing"];
9
+ export type FirmwareStatus = (typeof FirmwareStatuses)[number];
10
+ export interface FirmwareImage {
11
+ slot: number;
12
+ active: boolean;
13
+ confirmed: boolean;
14
+ pending: boolean;
15
+ permanent: boolean;
16
+ bootable: boolean;
17
+ version: string;
18
+ hash?: Uint8Array;
19
+ empty?: boolean;
20
+ }
21
+ export interface FirmwareEventMessages {
22
+ smp: {
23
+ dataView: DataView;
24
+ };
25
+ firmwareImages: {
26
+ firmwareImages: FirmwareImage[];
27
+ };
28
+ firmwareUploadProgress: {
29
+ progress: number;
30
+ };
31
+ firmwareStatus: {
32
+ firmwareStatus: FirmwareStatus;
33
+ };
34
+ }
35
+ export type FirmwareEventDispatcher = EventDispatcher<Device, FirmwareEventType, FirmwareEventMessages>;
36
+ declare class FirmwareManager {
37
+ #private;
38
+ sendMessage: SendSmpMessageCallback;
39
+ constructor();
40
+ eventDispatcher: FirmwareEventDispatcher;
41
+ get addEventListenter(): <T extends "smp" | "firmwareImages" | "firmwareUploadProgress" | "firmwareStatus" | "firmwareUploadComplete">(type: T, listener: (event: {
42
+ type: T;
43
+ target: Device;
44
+ message: FirmwareEventMessages[T];
45
+ }) => void, options?: {
46
+ once?: boolean;
47
+ }) => void;
48
+ get removeEventListener(): <T extends "smp" | "firmwareImages" | "firmwareUploadProgress" | "firmwareStatus" | "firmwareUploadComplete">(type: T, listener: (event: {
49
+ type: T;
50
+ target: Device;
51
+ message: FirmwareEventMessages[T];
52
+ }) => void) => void;
53
+ get waitForEvent(): <T extends "smp" | "firmwareImages" | "firmwareUploadProgress" | "firmwareStatus" | "firmwareUploadComplete">(type: T) => Promise<{
54
+ type: T;
55
+ target: Device;
56
+ message: FirmwareEventMessages[T];
57
+ }>;
58
+ parseMessage(messageType: FirmwareMessageType, dataView: DataView): void;
59
+ uploadFirmware(file: FileLike): Promise<void>;
60
+ get status(): "idle" | "uploading" | "uploaded" | "pending" | "testing" | "erasing";
61
+ get images(): FirmwareImage[];
62
+ getImages(): Promise<void>;
63
+ testImage(imageIndex?: number): Promise<void>;
64
+ eraseImage(): Promise<void>;
65
+ confirmImage(imageIndex?: number): Promise<void>;
66
+ echo(string: string): Promise<void>;
67
+ reset(): Promise<void>;
68
+ get mtu(): number;
69
+ set mtu(newMtu: number);
70
+ }
71
+ export default FirmwareManager;
@@ -0,0 +1,66 @@
1
+ import Device, { SendMessageCallback } from "./Device.ts";
2
+ import EventDispatcher from "./utils/EventDispatcher.ts";
3
+ export declare const DeviceTypes: readonly ["leftInsole", "rightInsole"];
4
+ export type DeviceType = (typeof DeviceTypes)[number];
5
+ export declare const InsoleSides: readonly ["left", "right"];
6
+ export type InsoleSide = (typeof InsoleSides)[number];
7
+ export declare const MinNameLength = 2;
8
+ export declare const MaxNameLength = 30;
9
+ export declare const InformationMessageTypes: readonly ["isCharging", "getBatteryCurrent", "getMtu", "getId", "getName", "setName", "getType", "setType", "getCurrentTime", "setCurrentTime"];
10
+ export type InformationMessageType = (typeof InformationMessageTypes)[number];
11
+ export declare const InformationEventTypes: readonly ["isCharging", "getBatteryCurrent", "getMtu", "getId", "getName", "setName", "getType", "setType", "getCurrentTime", "setCurrentTime"];
12
+ export type InformationEventType = (typeof InformationEventTypes)[number];
13
+ export interface InformationEventMessages {
14
+ isCharging: {
15
+ isCharging: boolean;
16
+ };
17
+ getBatteryCurrent: {
18
+ batteryCurrent: number;
19
+ };
20
+ getMtu: {
21
+ mtu: number;
22
+ };
23
+ getId: {
24
+ id: string;
25
+ };
26
+ getName: {
27
+ name: string;
28
+ };
29
+ getType: {
30
+ type: DeviceType;
31
+ };
32
+ getCurrentTime: {
33
+ currentTime: number;
34
+ };
35
+ }
36
+ export type InformationEventDispatcher = EventDispatcher<Device, InformationEventType, InformationEventMessages>;
37
+ export type SendInformationMessageCallback = SendMessageCallback<InformationMessageType>;
38
+ declare class InformationManager {
39
+ #private;
40
+ constructor();
41
+ sendMessage: SendInformationMessageCallback;
42
+ eventDispatcher: InformationEventDispatcher;
43
+ get waitForEvent(): <T extends "isCharging" | "getBatteryCurrent" | "getMtu" | "getId" | "getName" | "setName" | "getType" | "setType" | "getCurrentTime" | "setCurrentTime">(type: T) => Promise<{
44
+ type: T;
45
+ target: Device;
46
+ message: InformationEventMessages[T];
47
+ }>;
48
+ get isCharging(): boolean;
49
+ get batteryCurrent(): number;
50
+ getBatteryCurrent(): Promise<void>;
51
+ get id(): string;
52
+ get name(): string;
53
+ updateName(updatedName: string): void;
54
+ setName(newName: string): Promise<void>;
55
+ get type(): "leftInsole" | "rightInsole";
56
+ get typeEnum(): number;
57
+ updateType(updatedType: DeviceType): void;
58
+ setType(newType: DeviceType): Promise<void>;
59
+ get isInsole(): boolean;
60
+ get insoleSide(): InsoleSide;
61
+ get mtu(): number;
62
+ get isCurrentTimeSet(): boolean;
63
+ parseMessage(messageType: InformationMessageType, dataView: DataView): void;
64
+ clear(): void;
65
+ }
66
+ export default InformationManager;
@@ -0,0 +1,92 @@
1
+ import EventDispatcher from "./utils/EventDispatcher.ts";
2
+ import { SensorType } from "./sensor/SensorDataManager.ts";
3
+ import Device, { SendMessageCallback } from "./Device.ts";
4
+ export declare const TfliteMessageTypes: readonly ["getTfliteName", "setTfliteName", "getTfliteTask", "setTfliteTask", "getTfliteSampleRate", "setTfliteSampleRate", "getTfliteSensorTypes", "setTfliteSensorTypes", "tfliteIsReady", "getTfliteCaptureDelay", "setTfliteCaptureDelay", "getTfliteThreshold", "setTfliteThreshold", "getTfliteInferencingEnabled", "setTfliteInferencingEnabled", "tfliteInference"];
5
+ export type TfliteMessageType = (typeof TfliteMessageTypes)[number];
6
+ export declare const TfliteEventTypes: readonly ["getTfliteName", "setTfliteName", "getTfliteTask", "setTfliteTask", "getTfliteSampleRate", "setTfliteSampleRate", "getTfliteSensorTypes", "setTfliteSensorTypes", "tfliteIsReady", "getTfliteCaptureDelay", "setTfliteCaptureDelay", "getTfliteThreshold", "setTfliteThreshold", "getTfliteInferencingEnabled", "setTfliteInferencingEnabled", "tfliteInference"];
7
+ export type TfliteEventType = (typeof TfliteEventTypes)[number];
8
+ export declare const TfliteTasks: readonly ["classification", "regression"];
9
+ export type TfliteTask = (typeof TfliteTasks)[number];
10
+ export interface TfliteEventMessages {
11
+ getTfliteName: {
12
+ tfliteName: string;
13
+ };
14
+ getTfliteTask: {
15
+ tfliteTask: TfliteTask;
16
+ };
17
+ getTfliteSampleRate: {
18
+ tfliteSampleRate: number;
19
+ };
20
+ getTfliteSensorTypes: {
21
+ tfliteSensorTypes: SensorType[];
22
+ };
23
+ tfliteIsReady: {
24
+ tfliteIsReady: boolean;
25
+ };
26
+ getTfliteCaptureDelay: {
27
+ tfliteCaptureDelay: number;
28
+ };
29
+ getTfliteThreshold: {
30
+ tfliteThreshold: number;
31
+ };
32
+ getTfliteInferencingEnabled: {
33
+ tfliteInferencingEnabled: boolean;
34
+ };
35
+ tfliteInference: {
36
+ tfliteInference: TfliteInference;
37
+ };
38
+ }
39
+ export interface TfliteInference {
40
+ timestamp: number;
41
+ values: number[];
42
+ maxValue?: number;
43
+ maxIndex?: number;
44
+ }
45
+ export type TfliteEventDispatcher = EventDispatcher<Device, TfliteEventType, TfliteEventMessages>;
46
+ export type SendTfliteMessageCallback = SendMessageCallback<TfliteMessageType>;
47
+ export declare const TfliteSensorTypes: SensorType[];
48
+ export type TfliteSensorType = (typeof TfliteSensorTypes)[number];
49
+ declare class TfliteManager {
50
+ #private;
51
+ constructor();
52
+ sendMessage: SendTfliteMessageCallback;
53
+ eventDispatcher: TfliteEventDispatcher;
54
+ get addEventListenter(): <T extends "getTfliteName" | "setTfliteName" | "getTfliteTask" | "setTfliteTask" | "getTfliteSampleRate" | "setTfliteSampleRate" | "getTfliteSensorTypes" | "setTfliteSensorTypes" | "tfliteIsReady" | "getTfliteCaptureDelay" | "setTfliteCaptureDelay" | "getTfliteThreshold" | "setTfliteThreshold" | "getTfliteInferencingEnabled" | "setTfliteInferencingEnabled" | "tfliteInference">(type: T, listener: (event: {
55
+ type: T;
56
+ target: Device;
57
+ message: TfliteEventMessages[T];
58
+ }) => void, options?: {
59
+ once?: boolean;
60
+ }) => void;
61
+ get removeEventListener(): <T extends "getTfliteName" | "setTfliteName" | "getTfliteTask" | "setTfliteTask" | "getTfliteSampleRate" | "setTfliteSampleRate" | "getTfliteSensorTypes" | "setTfliteSensorTypes" | "tfliteIsReady" | "getTfliteCaptureDelay" | "setTfliteCaptureDelay" | "getTfliteThreshold" | "setTfliteThreshold" | "getTfliteInferencingEnabled" | "setTfliteInferencingEnabled" | "tfliteInference">(type: T, listener: (event: {
62
+ type: T;
63
+ target: Device;
64
+ message: TfliteEventMessages[T];
65
+ }) => void) => void;
66
+ get waitForEvent(): <T extends "getTfliteName" | "setTfliteName" | "getTfliteTask" | "setTfliteTask" | "getTfliteSampleRate" | "setTfliteSampleRate" | "getTfliteSensorTypes" | "setTfliteSensorTypes" | "tfliteIsReady" | "getTfliteCaptureDelay" | "setTfliteCaptureDelay" | "getTfliteThreshold" | "setTfliteThreshold" | "getTfliteInferencingEnabled" | "setTfliteInferencingEnabled" | "tfliteInference">(type: T) => Promise<{
67
+ type: T;
68
+ target: Device;
69
+ message: TfliteEventMessages[T];
70
+ }>;
71
+ get name(): string;
72
+ setName(newName: string, sendImmediately?: boolean): Promise<void>;
73
+ get task(): "classification" | "regression";
74
+ setTask(newTask: TfliteTask, sendImmediately?: boolean): Promise<void>;
75
+ get sampleRate(): number;
76
+ setSampleRate(newSampleRate: number, sendImmediately?: boolean): Promise<void>;
77
+ static AssertValidSensorType(sensorType: SensorType): void;
78
+ get sensorTypes(): ("pressure" | "acceleration" | "gravity" | "linearAcceleration" | "gyroscope" | "magnetometer" | "gameRotation" | "rotation" | "orientation" | "activity" | "stepCounter" | "stepDetector" | "deviceOrientation" | "barometer")[];
79
+ setSensorTypes(newSensorTypes: SensorType[], sendImmediately?: boolean): Promise<void>;
80
+ get isReady(): boolean;
81
+ get captureDelay(): number;
82
+ setCaptureDelay(newCaptureDelay: number, sendImmediately: boolean): Promise<void>;
83
+ get threshold(): number;
84
+ setThreshold(newThreshold: number, sendImmediately: boolean): Promise<void>;
85
+ get inferencingEnabled(): boolean;
86
+ setInferencingEnabled(newInferencingEnabled: boolean, sendImmediately?: boolean): Promise<void>;
87
+ toggleInferencingEnabled(): Promise<void>;
88
+ enableInferencing(): Promise<void>;
89
+ disableInferencing(): Promise<void>;
90
+ parseMessage(messageType: TfliteMessageType, dataView: DataView): void;
91
+ }
92
+ export default TfliteManager;