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.
Files changed (215) hide show
  1. package/README.md +16 -10
  2. package/assets/3d/anchor.glb +0 -0
  3. package/assets/3d/coin.glb +0 -0
  4. package/assets/3d/glasses.glb +0 -0
  5. package/assets/3d/rightHand.glb +0 -0
  6. package/assets/audio/bounceMedium.wav +0 -0
  7. package/assets/audio/bounceStrong.wav +0 -0
  8. package/assets/audio/bounceWeak.wav +0 -0
  9. package/assets/audio/coin.wav +0 -0
  10. package/assets/audio/getUp.wav +0 -0
  11. package/assets/audio/grab.wav +0 -0
  12. package/assets/audio/kick.wav +0 -0
  13. package/assets/audio/platterFadeIn old.wav +0 -0
  14. package/assets/audio/platterFadeIn.wav +0 -0
  15. package/assets/audio/platterFadeOut.wav +0 -0
  16. package/assets/audio/punch.wav +0 -0
  17. package/assets/audio/punchSqueak.wav +0 -0
  18. package/assets/audio/purr.wav +0 -0
  19. package/assets/audio/purrFadeOut.wav +0 -0
  20. package/assets/audio/release.wav +0 -0
  21. package/assets/audio/splat.wav +0 -0
  22. package/assets/audio/stomp.wav +0 -0
  23. package/assets/images/ukaton-pressure-0.svg +9 -0
  24. package/assets/images/ukaton-pressure-1.svg +9 -0
  25. package/assets/images/ukaton-pressure-10.svg +9 -0
  26. package/assets/images/ukaton-pressure-11.svg +9 -0
  27. package/assets/images/ukaton-pressure-12.svg +9 -0
  28. package/assets/images/ukaton-pressure-13.svg +9 -0
  29. package/assets/images/ukaton-pressure-14.svg +9 -0
  30. package/assets/images/ukaton-pressure-15.svg +9 -0
  31. package/assets/images/ukaton-pressure-2.svg +9 -0
  32. package/assets/images/ukaton-pressure-3.svg +9 -0
  33. package/assets/images/ukaton-pressure-4.svg +9 -0
  34. package/assets/images/ukaton-pressure-5.svg +9 -0
  35. package/assets/images/ukaton-pressure-6.svg +9 -0
  36. package/assets/images/ukaton-pressure-7.svg +9 -0
  37. package/assets/images/ukaton-pressure-8.svg +9 -0
  38. package/assets/images/ukaton-pressure-9.svg +9 -0
  39. package/assets/images/ukaton-right-insole.svg +798 -0
  40. package/build/brilliantsole.cjs +2870 -882
  41. package/build/brilliantsole.cjs.map +1 -1
  42. package/build/brilliantsole.js +2477 -782
  43. package/build/brilliantsole.js.map +1 -1
  44. package/build/brilliantsole.ls.js +2260 -592
  45. package/build/brilliantsole.ls.js.map +1 -1
  46. package/build/brilliantsole.min.js +1 -1
  47. package/build/brilliantsole.min.js.map +1 -1
  48. package/build/brilliantsole.module.d.ts +302 -116
  49. package/build/brilliantsole.module.js +2468 -782
  50. package/build/brilliantsole.module.js.map +1 -1
  51. package/build/brilliantsole.module.min.d.ts +302 -116
  52. package/build/brilliantsole.module.min.js +1 -1
  53. package/build/brilliantsole.module.min.js.map +1 -1
  54. package/build/brilliantsole.node.module.d.ts +295 -113
  55. package/build/brilliantsole.node.module.js +2860 -882
  56. package/build/brilliantsole.node.module.js.map +1 -1
  57. package/build/dts/BS-output.d.ts +10 -0
  58. package/build/dts/BS.d.ts +21 -9
  59. package/build/dts/CameraManager.d.ts +72 -0
  60. package/build/dts/Device.d.ts +53 -16
  61. package/build/dts/DeviceInformationManager.d.ts +4 -4
  62. package/build/dts/DeviceManager.d.ts +3 -0
  63. package/build/dts/FileTransferManager.d.ts +18 -8
  64. package/build/dts/InformationManager.d.ts +8 -5
  65. package/build/dts/TfliteManager.d.ts +22 -2
  66. package/build/dts/WifiManager.d.ts +61 -0
  67. package/build/dts/connection/BaseConnectionManager.d.ts +37 -3
  68. package/build/dts/connection/ClientConnectionManager.d.ts +11 -2
  69. package/build/dts/connection/bluetooth/BluetoothConnectionManager.d.ts +1 -0
  70. package/build/dts/connection/bluetooth/NobleConnectionManager.d.ts +3 -1
  71. package/build/dts/connection/bluetooth/WebBluetoothConnectionManager.d.ts +2 -0
  72. package/build/dts/connection/bluetooth/bluetoothUUIDs.d.ts +2 -2
  73. package/build/dts/connection/udp/UDPConnectionManager.d.ts +28 -0
  74. package/build/dts/connection/webSocket/WebSocketConnectionManager.d.ts +25 -0
  75. package/build/dts/devicePair/DevicePair.d.ts +14 -10
  76. package/build/dts/devicePair/DevicePairPressureSensorDataManager.d.ts +8 -4
  77. package/build/dts/devicePair/DevicePairSensorDataManager.d.ts +2 -2
  78. package/build/dts/scanner/BaseScanner.d.ts +4 -1
  79. package/build/dts/scanner/NobleScanner.d.ts +2 -1
  80. package/build/dts/sensor/MotionSensorDataManager.d.ts +5 -2
  81. package/build/dts/sensor/SensorDataManager.d.ts +5 -4
  82. package/build/dts/server/BaseClient.d.ts +6 -3
  83. package/build/dts/server/ServerUtils.d.ts +1 -1
  84. package/build/dts/server/websocket/WebSocketUtils.d.ts +1 -1
  85. package/build/dts/utils/CenterOfPressureHelper.d.ts +2 -2
  86. package/build/dts/utils/Console.d.ts +2 -0
  87. package/build/dts/utils/MathUtils.d.ts +2 -0
  88. package/build/dts/utils/ThrottleUtils.d.ts +2 -0
  89. package/build/dts/vibration/VibrationManager.d.ts +19 -2
  90. package/build/index.d.ts +299 -113
  91. package/build/index.node.d.ts +292 -110
  92. package/examples/3d/scene.html +19 -5
  93. package/examples/3d/script.js +90 -17
  94. package/examples/3d-generic/index.html +144 -0
  95. package/examples/3d-generic/script.js +266 -0
  96. package/examples/balance/script.js +2 -1
  97. package/examples/basic/index.html +232 -18
  98. package/examples/basic/script.js +746 -106
  99. package/examples/bottango/index.html +11 -1
  100. package/examples/bottango/script.js +2 -2
  101. package/examples/center-of-pressure/index.html +114 -114
  102. package/examples/center-of-pressure/script.js +1 -1
  103. package/examples/device-pair/index.html +58 -58
  104. package/examples/device-pair/script.js +12 -8
  105. package/examples/edge-impulse/script.js +135 -44
  106. package/examples/edge-impulse-test/README.md +11 -0
  107. package/examples/edge-impulse-test/edge-impulse-standalone.js +7228 -0
  108. package/examples/edge-impulse-test/edge-impulse-standalone.wasm +0 -0
  109. package/examples/edge-impulse-test/index.html +75 -0
  110. package/examples/edge-impulse-test/run-impulse.js +135 -0
  111. package/examples/edge-impulse-test/script.js +200 -0
  112. package/examples/gloves/edge-impulse-standalone.js +7228 -0
  113. package/examples/gloves/edge-impulse-standalone.wasm +0 -0
  114. package/examples/gloves/index.html +119 -0
  115. package/examples/gloves/run-impulse.js +135 -0
  116. package/examples/gloves/scene.html +124 -0
  117. package/examples/gloves/script.js +931 -0
  118. package/examples/graph/index.html +11 -1
  119. package/examples/graph/script.js +94 -37
  120. package/examples/pressure/index.html +180 -12
  121. package/examples/pressure/script.js +144 -7
  122. package/examples/punch/index.html +135 -0
  123. package/examples/punch/punch.tflite +0 -0
  124. package/examples/punch/script.js +169 -0
  125. package/examples/recording/index.html +191 -183
  126. package/examples/server/index.html +109 -23
  127. package/examples/server/script.js +322 -111
  128. package/examples/ukaton-firmware-update/index.html +20 -0
  129. package/examples/ukaton-firmware-update/manifest.json +11 -0
  130. package/examples/ukaton-firmware-update/merged-firmware.bin +0 -0
  131. package/examples/utils/aframe/aframe-master.min.js +2 -0
  132. package/examples/utils/aframe/bs-vibration.js +150 -0
  133. package/examples/utils/aframe/force-pushable.js +80 -0
  134. package/examples/utils/aframe/grabbable-anchor.js +46 -0
  135. package/examples/utils/aframe/grabbable-listener.js +31 -0
  136. package/examples/utils/aframe/grabbable-physics-body.js +190 -0
  137. package/examples/utils/aframe/grow-shrink.js +25 -0
  138. package/examples/utils/aframe/hand-punch.js +119 -0
  139. package/examples/utils/aframe/my-obb-collider.js +293 -0
  140. package/examples/utils/aframe/occlude-hand-tracking-controls.js +47 -0
  141. package/examples/utils/aframe/occlude-mesh.js +42 -0
  142. package/examples/utils/aframe/palm-up-detector.js +47 -0
  143. package/examples/utils/aframe/shadow-material.js +20 -0
  144. package/examples/utils/aframe/soft-shadow-light.js +9 -0
  145. package/examples/webxr/script.js +3 -3
  146. package/examples/webxr-2/assets/3d/soccerBall.glb +0 -0
  147. package/examples/webxr-2/assets/audio/shellBounce.wav +0 -0
  148. package/examples/webxr-2/assets/audio/shellHit.wav +0 -0
  149. package/examples/webxr-2/assets/audio/shellKick.wav +0 -0
  150. package/examples/webxr-2/assets/audio/soccerBounce.wav +0 -0
  151. package/examples/webxr-2/assets/audio/soccerKick.mp3 +0 -0
  152. package/examples/webxr-2/assets/images/shellTexture.png +0 -0
  153. package/examples/webxr-2/components/bs-ankle.js +337 -0
  154. package/examples/webxr-2/components/coin.js +84 -0
  155. package/examples/webxr-2/components/custom-wrap.js +17 -0
  156. package/examples/webxr-2/components/goomba.js +3250 -0
  157. package/examples/webxr-2/components/init-shell-material.js +215 -0
  158. package/examples/webxr-2/components/platter.js +172 -0
  159. package/examples/webxr-2/components/shell.js +374 -0
  160. package/examples/webxr-2/components/soccer-ball.js +250 -0
  161. package/examples/webxr-2/components/squashed-goomba.js +249 -0
  162. package/examples/webxr-2/edge-impulse-standalone.js +7228 -0
  163. package/examples/webxr-2/edge-impulse-standalone.wasm +0 -0
  164. package/examples/webxr-2/index.html +996 -0
  165. package/examples/webxr-2/kick.tflite +0 -0
  166. package/examples/webxr-2/kick2.tflite +0 -0
  167. package/examples/webxr-2/run-impulse.js +135 -0
  168. package/examples/webxr-2/script.js +384 -0
  169. package/package.json +2 -1
  170. package/src/.prettierrc +4 -0
  171. package/src/BS.ts +66 -9
  172. package/src/CameraManager.ts +499 -0
  173. package/src/Device.ts +620 -92
  174. package/src/DeviceInformationManager.ts +22 -11
  175. package/src/DeviceManager.ts +94 -25
  176. package/src/FileTransferManager.ts +146 -21
  177. package/src/FirmwareManager.ts +1 -1
  178. package/src/InformationManager.ts +62 -20
  179. package/src/TfliteManager.ts +172 -26
  180. package/src/WifiManager.ts +323 -0
  181. package/src/connection/BaseConnectionManager.ts +145 -30
  182. package/src/connection/ClientConnectionManager.ts +47 -11
  183. package/src/connection/bluetooth/BluetoothConnectionManager.ts +14 -3
  184. package/src/connection/bluetooth/NobleConnectionManager.ts +155 -42
  185. package/src/connection/bluetooth/WebBluetoothConnectionManager.ts +104 -35
  186. package/src/connection/bluetooth/bluetoothUUIDs.ts +40 -13
  187. package/src/connection/udp/UDPConnectionManager.ts +356 -0
  188. package/src/connection/websocket/WebSocketConnectionManager.ts +282 -0
  189. package/src/devicePair/DevicePair.ts +145 -49
  190. package/src/devicePair/DevicePairPressureSensorDataManager.ts +72 -24
  191. package/src/devicePair/DevicePairSensorDataManager.ts +5 -5
  192. package/src/scanner/BaseScanner.ts +49 -11
  193. package/src/scanner/NobleScanner.ts +81 -17
  194. package/src/sensor/BarometerSensorDataManager.ts +1 -1
  195. package/src/sensor/MotionSensorDataManager.ts +22 -7
  196. package/src/sensor/PressureSensorDataManager.ts +47 -13
  197. package/src/sensor/SensorConfigurationManager.ts +75 -24
  198. package/src/sensor/SensorDataManager.ts +107 -26
  199. package/src/server/BaseClient.ts +192 -37
  200. package/src/server/BaseServer.ts +201 -43
  201. package/src/server/ServerUtils.ts +39 -9
  202. package/src/server/udp/UDPServer.ts +74 -23
  203. package/src/server/udp/UDPUtils.ts +9 -2
  204. package/src/server/websocket/WebSocketClient.ts +30 -9
  205. package/src/server/websocket/WebSocketServer.ts +1 -1
  206. package/src/server/websocket/WebSocketUtils.ts +4 -2
  207. package/src/utils/CenterOfPressureHelper.ts +5 -5
  208. package/src/utils/Console.ts +62 -9
  209. package/src/utils/MathUtils.ts +31 -1
  210. package/src/utils/ParseUtils.ts +25 -6
  211. package/src/utils/ThrottleUtils.ts +62 -0
  212. package/src/utils/Timer.ts +1 -1
  213. package/src/utils/checksum.ts +1 -1
  214. package/src/utils/mcumgr.js +1 -1
  215. package/src/vibration/VibrationManager.ts +166 -40
@@ -60,7 +60,17 @@
60
60
  <template id="sensorTypeConfigurationTemplate">
61
61
  <label class="sensorTypeConfiguration">
62
62
  <b class="sensorType"></b>
63
- <input class="sensorRate" type="number" min="0" value="" disabled />ms
63
+ <!-- <input class="sensorRate" type="number" min="0" value="" disabled />ms -->
64
+ <select class="sensorRate input">
65
+ <optgroup label="sensor rate (ms)">
66
+ <option value="0">0ms</option>
67
+ <option value="5">5ms</option>
68
+ <option value="10">10ms</option>
69
+ <option value="20">20ms</option>
70
+ <option value="40">40ms</option>
71
+ <option value="100">100ms</option>
72
+ </optgroup>
73
+ </select>
64
74
  </label>
65
75
  </template>
66
76
  </div>
@@ -152,13 +152,13 @@ BS.SensorTypes.forEach((sensorType) => {
152
152
  });
153
153
  device.addEventListener("getSensorConfiguration", () => {
154
154
  for (const sensorType in device.sensorConfiguration) {
155
- document.querySelector(`.sensorTypeConfiguration[data-sensor-type="${sensorType}"] input`).value =
155
+ document.querySelector(`.sensorTypeConfiguration[data-sensor-type="${sensorType}"] .input`).value =
156
156
  device.sensorConfiguration[sensorType];
157
157
  }
158
158
  });
159
159
  device.addEventListener("isConnected", () => {
160
160
  for (const sensorType in device.sensorConfiguration) {
161
- document.querySelector(`[data-sensor-type="${sensorType}"] input`).disabled = !device.isConnected;
161
+ document.querySelector(`[data-sensor-type="${sensorType}"] .input`).disabled = !device.isConnected;
162
162
  }
163
163
  });
164
164
 
@@ -1,132 +1,132 @@
1
1
  <html>
2
- <head>
3
- <title>Center of Pressure | BrilliantSole JavaScript SDK</title>
4
- <meta name="viewport" content="width=device-width, initial-scale=1" />
5
- <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
6
- <script type="module" src="./script.js"></script>
7
- </head>
2
+ <head>
3
+ <title>Center of Pressure | BrilliantSole JavaScript SDK</title>
4
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
5
+ <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
6
+ <script type="module" src="./script.js"></script>
7
+ </head>
8
8
 
9
- <style>
10
- #centerOfPressureContainer {
11
- width: calc(100% - 1rem);
12
- height: 80%;
13
- border: solid black;
14
- margin: 1rem auto;
15
- border-radius: 20px;
16
- overflow: hidden;
17
- display: flex;
18
- }
9
+ <style>
10
+ #centerOfPressureContainer {
11
+ height: 300px;
12
+ aspect-ratio: 1;
13
+ border: solid black;
14
+ border-radius: 20px;
15
+ overflow: hidden;
16
+ display: flex;
17
+ margin-top: 2rem;
18
+ }
19
19
 
20
- #centerOfPressureRange {
21
- width: calc(100% - 2rem);
22
- height: calc(100% - 2rem);
23
- margin: auto;
24
- position: relative;
25
- }
20
+ #centerOfPressureRange {
21
+ width: calc(100% - 2rem);
22
+ height: calc(100% - 2rem);
23
+ margin: auto;
24
+ position: relative;
25
+ }
26
26
 
27
- #centerOfPressure {
28
- position: absolute;
29
- }
27
+ #centerOfPressure {
28
+ position: absolute;
29
+ }
30
30
 
31
- #centerOfPressure .visual {
32
- border-radius: 50%;
33
- background-color: red;
34
- width: 2rem;
35
- height: 2rem;
36
- left: -1rem;
37
- top: -1rem;
38
- position: relative;
39
- z-index: 1;
40
- }
31
+ #centerOfPressure .visual {
32
+ border-radius: 50%;
33
+ background-color: red;
34
+ width: 2rem;
35
+ height: 2rem;
36
+ left: -1rem;
37
+ top: -1rem;
38
+ position: relative;
39
+ z-index: 1;
40
+ }
41
41
 
42
- #target {
43
- position: absolute;
44
- display: none;
45
- }
46
- #target .visual {
47
- border-radius: 15px;
48
- background-color: yellow;
49
- width: 100%;
50
- height: 100%;
51
- display: flex;
52
- }
53
- #target .ring {
54
- box-sizing: border-box;
55
- border: solid blue thick;
56
- border-radius: 15px;
57
- width: 100%;
58
- height: 100%;
59
- margin: auto;
60
- }
42
+ #target {
43
+ position: absolute;
44
+ display: none;
45
+ }
46
+ #target .visual {
47
+ border-radius: 15px;
48
+ background-color: yellow;
49
+ width: 100%;
50
+ height: 100%;
51
+ display: flex;
52
+ }
53
+ #target .ring {
54
+ box-sizing: border-box;
55
+ border: solid blue thick;
56
+ border-radius: 15px;
57
+ width: 100%;
58
+ height: 100%;
59
+ margin: auto;
60
+ }
61
61
 
62
- #target.hover .visual {
63
- background-color: limegreen;
64
- }
62
+ #target.hover .visual {
63
+ background-color: limegreen;
64
+ }
65
65
 
66
- #target:not(.hover) .ring {
67
- display: none;
68
- }
66
+ #target:not(.hover) .ring {
67
+ display: none;
68
+ }
69
69
 
70
- @keyframes shrink {
71
- from {
72
- width: 100%;
73
- height: 100%;
74
- }
75
- to {
76
- width: 0%;
77
- height: 0%;
78
- }
79
- }
70
+ @keyframes shrink {
71
+ from {
72
+ width: 100%;
73
+ height: 100%;
74
+ }
75
+ to {
76
+ width: 0%;
77
+ height: 0%;
78
+ }
79
+ }
80
80
 
81
- #target.hover .ring {
82
- animation-name: shrink;
83
- animation-duration: 3s;
84
- animation-timing-function: linear;
85
- }
86
- </style>
81
+ #target.hover .ring {
82
+ animation-name: shrink;
83
+ animation-duration: 3s;
84
+ animation-timing-function: linear;
85
+ }
86
+ </style>
87
87
 
88
- <body>
89
- <nav>
90
- <a href="../../">home</a>
91
- </nav>
88
+ <body>
89
+ <nav>
90
+ <a href="../../">home</a>
91
+ </nav>
92
92
 
93
- <h1>Center of Pressure | BrilliantSole JavaScript SDK</h1>
93
+ <h1>Center of Pressure | BrilliantSole JavaScript SDK</h1>
94
94
 
95
- <div>
96
- <h2>available devices</h2>
97
- <div id="availableDevices">
98
- <template id="availableDeviceTemplate">
99
- <div class="availableDevice">
100
- <ul>
101
- <li><b>name: </b> <span class="name"></span></li>
102
- <li><b>type: </b> <span class="type"></span></li>
103
- <li><button class="toggleConnection">connect</button></li>
104
- </ul>
105
- </div>
106
- </template>
107
- </div>
108
- </div>
95
+ <div>
96
+ <h2>available devices</h2>
97
+ <div id="availableDevices">
98
+ <template id="availableDeviceTemplate">
99
+ <div class="availableDevice">
100
+ <ul>
101
+ <li><b>name: </b> <span class="name"></span></li>
102
+ <li><b>type: </b> <span class="type"></span></li>
103
+ <li><button class="toggleConnection">connect</button></li>
104
+ </ul>
105
+ </div>
106
+ </template>
107
+ </div>
108
+ </div>
109
109
 
110
- <br />
110
+ <br />
111
111
 
112
- <div>
113
- <button id="addDevice">add device</button>
114
- <button id="togglePressureData" disabled>enable pressure data</button>
115
- <button id="resetPressureRange" disabled>recalibrate</button>
116
- <button id="toggleGame">start game</button>
117
- </div>
112
+ <div>
113
+ <button id="addDevice">add device</button>
114
+ <button id="togglePressureData" disabled>enable pressure data</button>
115
+ <button id="resetPressureRange" disabled>recalibrate</button>
116
+ <button id="toggleGame">start game</button>
117
+ </div>
118
118
 
119
- <div id="centerOfPressureContainer">
120
- <div id="centerOfPressureRange">
121
- <div id="centerOfPressure">
122
- <div class="visual"></div>
123
- </div>
124
- <div id="target">
125
- <div class="visual">
126
- <div class="ring"></div>
127
- </div>
128
- </div>
129
- </div>
119
+ <div id="centerOfPressureContainer">
120
+ <div id="centerOfPressureRange">
121
+ <div id="centerOfPressure">
122
+ <div class="visual"></div>
123
+ </div>
124
+ <div id="target">
125
+ <div class="visual">
126
+ <div class="ring"></div>
127
+ </div>
130
128
  </div>
131
- </body>
129
+ </div>
130
+ </div>
131
+ </body>
132
132
  </html>
@@ -59,7 +59,7 @@ BS.DeviceManager.AddEventListener("availableDevices", (event) => {
59
59
  getDevices();
60
60
 
61
61
  // CONNECTION
62
- const devicePair = BS.DevicePair.shared;
62
+ const devicePair = BS.DevicePair.insoles;
63
63
 
64
64
  /** @type {HTMLButtonElement} */
65
65
  const addDeviceButton = document.getElementById("addDevice");
@@ -1,72 +1,72 @@
1
1
  <html>
2
- <head>
3
- <title>Device Pair | BrilliantSole JavaScript SDK</title>
4
- <meta name="viewport" content="width=device-width, initial-scale=1" />
5
- <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
6
- <script type="module" src="./script.js"></script>
7
- </head>
2
+ <head>
3
+ <title>Device Pair | BrilliantSole JavaScript SDK</title>
4
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
5
+ <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
6
+ <script type="module" src="./script.js"></script>
7
+ </head>
8
8
 
9
- <style>
10
- #devices {
11
- display: flex;
12
- flex-direction: row;
13
- gap: 1rem;
14
- }
9
+ <style>
10
+ #devices {
11
+ display: flex;
12
+ flex-direction: row;
13
+ gap: 1rem;
14
+ }
15
15
 
16
- .pressure {
17
- height: 6rem;
18
- }
19
- </style>
16
+ .pressure {
17
+ height: 10rem;
18
+ }
19
+ </style>
20
20
 
21
- <body>
22
- <nav>
23
- <a href="../../">home</a>
24
- </nav>
21
+ <body>
22
+ <nav>
23
+ <a href="../../">home</a>
24
+ </nav>
25
25
 
26
- <h1>Device Pair | BrilliantSole JavaScript SDK</h1>
26
+ <h1>Device Pair | BrilliantSole JavaScript SDK</h1>
27
27
 
28
- <div>
29
- <h2>available devices</h2>
30
- <div id="availableDevices">
31
- <template id="availableDeviceTemplate">
32
- <div class="availableDevice">
33
- <ul>
34
- <li><b>name: </b> <span class="name"></span></li>
35
- <li><b>type: </b> <span class="type"></span></li>
36
- <li><button class="toggleConnection">connect</button></li>
37
- </ul>
38
- </div>
39
- </template>
40
- </div>
41
- </div>
28
+ <div>
29
+ <h2>available devices</h2>
30
+ <div id="availableDevices">
31
+ <template id="availableDeviceTemplate">
32
+ <div class="availableDevice">
33
+ <ul>
34
+ <li><b>name: </b> <span class="name"></span></li>
35
+ <li><b>type: </b> <span class="type"></span></li>
36
+ <li><button class="toggleConnection">connect</button></li>
37
+ </ul>
38
+ </div>
39
+ </template>
40
+ </div>
41
+ </div>
42
42
 
43
- <br />
43
+ <br />
44
44
 
45
- <div>
46
- <button id="addDevice">add device</button>
47
- <button id="togglePressureData" disabled>enable pressure data</button>
48
- <button id="resetPressureRange" disabled>recalibrate</button>
49
- </div>
45
+ <div>
46
+ <button id="addDevice">add device</button>
47
+ <button id="togglePressureData" disabled>enable pressure data</button>
48
+ <button id="resetPressureRange" disabled>recalibrate</button>
49
+ </div>
50
50
 
51
- <div id="devicePair">
52
- <h2>Device Pair</h2>
51
+ <div id="devicePair">
52
+ <h2>Device Pair</h2>
53
53
 
54
- <h3>pressure</h3>
55
- <pre class="pressure"></pre>
56
- </div>
54
+ <h3>pressure</h3>
55
+ <pre class="pressure"></pre>
56
+ </div>
57
57
 
58
- <div id="devices"></div>
58
+ <div id="devices"></div>
59
59
 
60
- <template id="deviceTemplate">
61
- <div class="device">
62
- <h2><span class="side"></span> side</h2>
63
- <p>
64
- <button class="toggleConnection" disabled>disconnect</button>
65
- </p>
60
+ <template id="deviceTemplate">
61
+ <div class="device">
62
+ <h2><span class="side"></span> side</h2>
63
+ <p>
64
+ <button class="toggleConnection" disabled>disconnect</button>
65
+ </p>
66
66
 
67
- <h3>pressure</h3>
68
- <pre class="pressure"></pre>
69
- </div>
70
- </template>
71
- </body>
67
+ <h3>pressure</h3>
68
+ <pre class="pressure"></pre>
69
+ </div>
70
+ </template>
71
+ </body>
72
72
  </html>
@@ -59,7 +59,7 @@ BS.DeviceManager.AddEventListener("availableDevices", (event) => {
59
59
  getDevices();
60
60
 
61
61
  // CONNECTION
62
- const devicePair = BS.DevicePair.shared;
62
+ const devicePair = BS.DevicePair.insoles;
63
63
 
64
64
  /** @type {HTMLButtonElement} */
65
65
  const addDeviceButton = document.getElementById("addDevice");
@@ -116,7 +116,7 @@ devicePair.sides.forEach((side) => {
116
116
 
117
117
  devicePair.addEventListener("deviceIsConnected", (event) => {
118
118
  const { device } = event.message;
119
- if (device.insoleSide != side) {
119
+ if (device.side != side) {
120
120
  return;
121
121
  }
122
122
 
@@ -128,7 +128,7 @@ devicePair.sides.forEach((side) => {
128
128
 
129
129
  devicePair.addEventListener("deviceConnectionStatus", (event) => {
130
130
  const { device } = event.message;
131
- if (device.insoleSide != side) {
131
+ if (device.side != side) {
132
132
  return;
133
133
  }
134
134
 
@@ -150,7 +150,7 @@ devicePair.sides.forEach((side) => {
150
150
  const pressurePre = deviceContainer.querySelector(".pressure");
151
151
  devicePair.addEventListener("devicePressure", (event) => {
152
152
  const { device } = event.message;
153
- if (device.insoleSide != side) {
153
+ if (device.side != side) {
154
154
  return;
155
155
  }
156
156
 
@@ -158,8 +158,10 @@ devicePair.sides.forEach((side) => {
158
158
 
159
159
  pressurePre.textContent = JSON.stringify(
160
160
  {
161
- center: pressure.normalizedCenter,
162
- sum: pressure.normalizedSum,
161
+ center: pressure.center,
162
+ scaledSum: pressure.scaledSum,
163
+ normalizedCenter: pressure.normalizedCenter,
164
+ normalizedSum: pressure.normalizedSum,
163
165
  },
164
166
  (key, value) => value?.toFixed?.(3) || value,
165
167
  2
@@ -178,8 +180,10 @@ devicePair.addEventListener("pressure", (event) => {
178
180
 
179
181
  devicePairPressurePre.textContent = JSON.stringify(
180
182
  {
181
- center: pressure.normalizedCenter,
182
- sum: pressure.normalizedSum,
183
+ center: pressure.center,
184
+ scaledSum: pressure.scaledSum,
185
+ normalizedCenter: pressure.normalizedCenter,
186
+ normalizedSum: pressure.normalizedSum,
183
187
  },
184
188
  (key, value) => value?.toFixed?.(3) || value,
185
189
  2