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.
- package/LICENSE +21 -0
- package/README.md +21 -0
- package/build/brilliantsole.cjs +5957 -0
- package/build/brilliantsole.cjs.map +1 -0
- package/build/brilliantsole.js +5448 -0
- package/build/brilliantsole.js.map +1 -0
- package/build/brilliantsole.ls.js +4872 -0
- package/build/brilliantsole.ls.js.map +1 -0
- package/build/brilliantsole.min.js +6 -0
- package/build/brilliantsole.min.js.map +1 -0
- package/build/brilliantsole.module.d.ts +908 -0
- package/build/brilliantsole.module.js +5412 -0
- package/build/brilliantsole.module.js.map +1 -0
- package/build/brilliantsole.module.min.d.ts +908 -0
- package/build/brilliantsole.module.min.js +6 -0
- package/build/brilliantsole.module.min.js.map +1 -0
- package/build/brilliantsole.node.module.d.ts +908 -0
- package/build/brilliantsole.node.module.js +5906 -0
- package/build/brilliantsole.node.module.js.map +1 -0
- package/build/dts/BS.d.ts +25 -0
- package/build/dts/Device.d.ts +136 -0
- package/build/dts/DeviceInformationManager.d.ts +56 -0
- package/build/dts/DeviceManager.d.ts +67 -0
- package/build/dts/FileTransferManager.d.ts +84 -0
- package/build/dts/FirmwareManager.d.ts +71 -0
- package/build/dts/InformationManager.d.ts +66 -0
- package/build/dts/TfliteManager.d.ts +92 -0
- package/build/dts/connection/BaseConnectionManager.d.ts +59 -0
- package/build/dts/connection/ClientConnectionManager.d.ts +23 -0
- package/build/dts/connection/WebSocketClientConnectionManager.d.ts +23 -0
- package/build/dts/connection/bluetooth/BluetoothConnectionManager.d.ts +10 -0
- package/build/dts/connection/bluetooth/NobleConnectionManager.d.ts +42 -0
- package/build/dts/connection/bluetooth/WebBluetoothConnectionManager.d.ts +20 -0
- package/build/dts/connection/bluetooth/bluetoothUUIDs.d.ts +14 -0
- package/build/dts/connection/webSocket/ClientConnectionManager.d.ts +23 -0
- package/build/dts/connection/webSocket/WebSocketClientConnectionManager.d.ts +23 -0
- package/build/dts/devicePair/DevicePair.d.ts +60 -0
- package/build/dts/devicePair/DevicePairPressureSensorDataManager.d.ts +25 -0
- package/build/dts/devicePair/DevicePairSensorDataManager.d.ts +33 -0
- package/build/dts/scanner/BaseScanner.d.ts +66 -0
- package/build/dts/scanner/NobleScanner.d.ts +17 -0
- package/build/dts/scanner/Scanner.d.ts +3 -0
- package/build/dts/sensor/BarometerSensorDataManager.d.ts +16 -0
- package/build/dts/sensor/MotionSensorDataManager.d.ts +69 -0
- package/build/dts/sensor/PressureSensorDataManager.d.ts +36 -0
- package/build/dts/sensor/SensorConfigurationManager.d.ts +44 -0
- package/build/dts/sensor/SensorDataManager.d.ts +40 -0
- package/build/dts/server/BaseClient.d.ts +85 -0
- package/build/dts/server/BaseServer.d.ts +48 -0
- package/build/dts/server/ServerUtils.d.ts +23 -0
- package/build/dts/server/udp/UDPServer.d.ts +11 -0
- package/build/dts/server/udp/UDPUtils.d.ts +9 -0
- package/build/dts/server/websocket/WebSocketClient.d.ts +17 -0
- package/build/dts/server/websocket/WebSocketServer.d.ts +13 -0
- package/build/dts/server/websocket/WebSocketUtils.d.ts +9 -0
- package/build/dts/utils/ArrayBufferUtils.d.ts +7 -0
- package/build/dts/utils/ArrayUtils.d.ts +2 -0
- package/build/dts/utils/CenterOfPressureHelper.d.ts +15 -0
- package/build/dts/utils/Console.d.ts +34 -0
- package/build/dts/utils/EventDispatcher.d.ts +50 -0
- package/build/dts/utils/EventUtils.d.ts +6 -0
- package/build/dts/utils/MathUtils.d.ts +21 -0
- package/build/dts/utils/ParseUtils.d.ts +5 -0
- package/build/dts/utils/RangeHelper.d.ts +8 -0
- package/build/dts/utils/Text.d.ts +6 -0
- package/build/dts/utils/Timer.d.ts +14 -0
- package/build/dts/utils/TypeScriptUtils.d.ts +19 -0
- package/build/dts/utils/cbor.d.ts +6 -0
- package/build/dts/utils/checksum.d.ts +3 -0
- package/build/dts/utils/environment.d.ts +13 -0
- package/build/dts/utils/mcumgr.d.ts +88 -0
- package/build/dts/utils/stringUtils.d.ts +2 -0
- package/build/dts/vibration/VibrationManager.d.ts +45 -0
- package/build/dts/vibration/VibrationWaveformEffects.d.ts +2 -0
- package/build/index.d.ts +908 -0
- package/build/index.node.d.ts +908 -0
- package/examples/3d/index.html +109 -0
- package/examples/3d/scene.html +57 -0
- package/examples/3d/script.js +419 -0
- package/examples/balance/index.html +138 -0
- package/examples/balance/script.js +243 -0
- package/examples/basic/index.html +327 -0
- package/examples/basic/script.js +1093 -0
- package/examples/center-of-pressure/index.html +132 -0
- package/examples/center-of-pressure/script.js +207 -0
- package/examples/device-pair/index.html +72 -0
- package/examples/device-pair/script.js +187 -0
- package/examples/edge-impulse/index.html +94 -0
- package/examples/edge-impulse/script.js +1033 -0
- package/examples/graph/index.html +83 -0
- package/examples/graph/script.js +469 -0
- package/examples/machine-learning/index.html +366 -0
- package/examples/machine-learning/script.js +1774 -0
- package/examples/pressure/index.html +145 -0
- package/examples/pressure/script.js +201 -0
- package/examples/recording/index.html +187 -0
- package/examples/recording/script.js +736 -0
- package/examples/server/index.html +266 -0
- package/examples/server/script.js +925 -0
- package/examples/utils/aframe/fingertip-button-component.js +201 -0
- package/examples/utils/aframe/fingertip-collider-target-component.js +102 -0
- package/examples/utils/aframe/fingertip-colliders-component.js +147 -0
- package/examples/utils/three/three.module.min.js +24846 -0
- package/examples/webxr/index.html +221 -0
- package/examples/webxr/script.js +1127 -0
- package/package.json +83 -0
- package/src/BS.ts +68 -0
- package/src/Device.ts +734 -0
- package/src/DeviceInformationManager.ts +146 -0
- package/src/DeviceManager.ts +354 -0
- package/src/FileTransferManager.ts +452 -0
- package/src/FirmwareManager.ts +357 -0
- package/src/InformationManager.ts +283 -0
- package/src/TfliteManager.ts +450 -0
- package/src/connection/BaseConnectionManager.ts +255 -0
- package/src/connection/ClientConnectionManager.ts +120 -0
- package/src/connection/bluetooth/BluetoothConnectionManager.ts +34 -0
- package/src/connection/bluetooth/NobleConnectionManager.ts +302 -0
- package/src/connection/bluetooth/WebBluetoothConnectionManager.ts +269 -0
- package/src/connection/bluetooth/bluetoothUUIDs.ts +218 -0
- package/src/devicePair/DevicePair.ts +253 -0
- package/src/devicePair/DevicePairPressureSensorDataManager.ts +82 -0
- package/src/devicePair/DevicePairSensorDataManager.ts +90 -0
- package/src/scanner/BaseScanner.ts +189 -0
- package/src/scanner/NobleScanner.ts +195 -0
- package/src/scanner/Scanner.ts +16 -0
- package/src/sensor/BarometerSensorDataManager.ts +41 -0
- package/src/sensor/MotionSensorDataManager.ts +151 -0
- package/src/sensor/PressureSensorDataManager.ts +112 -0
- package/src/sensor/SensorConfigurationManager.ts +177 -0
- package/src/sensor/SensorDataManager.ts +166 -0
- package/src/server/BaseClient.ts +368 -0
- package/src/server/BaseServer.ts +344 -0
- package/src/server/ServerUtils.ts +93 -0
- package/src/server/udp/UDPServer.ts +229 -0
- package/src/server/udp/UDPUtils.ts +20 -0
- package/src/server/websocket/WebSocketClient.ts +179 -0
- package/src/server/websocket/WebSocketServer.ts +184 -0
- package/src/server/websocket/WebSocketUtils.ts +20 -0
- package/src/utils/ArrayBufferUtils.ts +88 -0
- package/src/utils/ArrayUtils.ts +15 -0
- package/src/utils/CenterOfPressureHelper.ts +39 -0
- package/src/utils/Console.ts +156 -0
- package/src/utils/EventDispatcher.ts +153 -0
- package/src/utils/EventUtils.ts +41 -0
- package/src/utils/MathUtils.ts +53 -0
- package/src/utils/ParseUtils.ts +46 -0
- package/src/utils/RangeHelper.ts +38 -0
- package/src/utils/Text.ts +30 -0
- package/src/utils/Timer.ts +72 -0
- package/src/utils/TypeScriptUtils.ts +22 -0
- package/src/utils/cbor.js +429 -0
- package/src/utils/checksum.ts +41 -0
- package/src/utils/environment.ts +46 -0
- package/src/utils/mcumgr.js +444 -0
- package/src/utils/stringUtils.ts +11 -0
- package/src/vibration/VibrationManager.ts +308 -0
- package/src/vibration/VibrationWaveformEffects.ts +128 -0
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
<head>
|
|
3
|
+
<title>Basic | 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
|
+
<style>
|
|
9
|
+
label {
|
|
10
|
+
display: block;
|
|
11
|
+
}
|
|
12
|
+
div {
|
|
13
|
+
margin-top: 1rem;
|
|
14
|
+
}
|
|
15
|
+
ul,
|
|
16
|
+
ol {
|
|
17
|
+
margin-top: 0;
|
|
18
|
+
list-style: none;
|
|
19
|
+
}
|
|
20
|
+
.hidden {
|
|
21
|
+
display: none;
|
|
22
|
+
}
|
|
23
|
+
</style>
|
|
24
|
+
<body>
|
|
25
|
+
<nav>
|
|
26
|
+
<a href="../../">home</a>
|
|
27
|
+
</nav>
|
|
28
|
+
|
|
29
|
+
<h1>Basic | BrilliantSole JavaScript SDK</h1>
|
|
30
|
+
|
|
31
|
+
<div>
|
|
32
|
+
<h2>available devices</h2>
|
|
33
|
+
<div id="availableDevices">
|
|
34
|
+
<template id="availableDeviceTemplate">
|
|
35
|
+
<div class="availableDevice">
|
|
36
|
+
<ul>
|
|
37
|
+
<li><b>name: </b> <span class="name"></span></li>
|
|
38
|
+
<li><b>type: </b> <span class="type"></span></li>
|
|
39
|
+
<li><button class="toggleConnection">connect</button></li>
|
|
40
|
+
</ul>
|
|
41
|
+
</div>
|
|
42
|
+
</template>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
<div>
|
|
47
|
+
<h2>connection</h2>
|
|
48
|
+
<button id="toggleConnection">connect</button>
|
|
49
|
+
<button id="reconnect" disabled>reconnect</button>
|
|
50
|
+
<label>reconnect on disconnection? <input id="reconnectOnDisconnection" type="checkbox" /></label>
|
|
51
|
+
<button id="resetDevice" disabled>reset</button>
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
<div>
|
|
55
|
+
<h2>device information</h2>
|
|
56
|
+
<pre id="deviceInformationPre"></pre>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
<div>
|
|
60
|
+
<label><b>battery level:</b> <span id="batteryLevel"></span></label>
|
|
61
|
+
<label><b>is charging?</b> <span id="isCharging"></span></label>
|
|
62
|
+
<label><b>battery current:</b> <span id="batteryCurrent"></span></label>
|
|
63
|
+
<button id="updateBatteryCurrent" disabled>update batteryCurrent</button>
|
|
64
|
+
</div>
|
|
65
|
+
|
|
66
|
+
<div>
|
|
67
|
+
<label><b>name:</b> <span id="name"></span></label>
|
|
68
|
+
<label> <b>new name: </b> <input id="setNameInput" type="text" placeholder="type in a name" disabled /> </label>
|
|
69
|
+
<button id="setNameButton" disabled>set name</button>
|
|
70
|
+
</div>
|
|
71
|
+
|
|
72
|
+
<div>
|
|
73
|
+
<label><b>type:</b> <span id="type"></span></label>
|
|
74
|
+
<label>
|
|
75
|
+
<b>new type: </b>
|
|
76
|
+
<select id="setTypeSelect" disabled>
|
|
77
|
+
<optgroup label="select type"></optgroup>
|
|
78
|
+
</select>
|
|
79
|
+
<button id="setTypeButton" disabled>set type</button>
|
|
80
|
+
</label>
|
|
81
|
+
</div>
|
|
82
|
+
|
|
83
|
+
<div>
|
|
84
|
+
<label>
|
|
85
|
+
<b>sensor configuration: </b>
|
|
86
|
+
<pre id="sensorConfigurationPre"></pre>
|
|
87
|
+
</label>
|
|
88
|
+
|
|
89
|
+
<template id="sensorTypeConfigurationTemplate">
|
|
90
|
+
<label class="sensorTypeConfiguration">
|
|
91
|
+
<b class="sensorType"></b>
|
|
92
|
+
<input class="sensorRate" type="number" min="0" value="" disabled />ms
|
|
93
|
+
</label>
|
|
94
|
+
</template>
|
|
95
|
+
</div>
|
|
96
|
+
|
|
97
|
+
<div>
|
|
98
|
+
<h2>sensor data</h2>
|
|
99
|
+
<template id="sensorTypeDataTemplate">
|
|
100
|
+
<div class="sensorTypeData">
|
|
101
|
+
<b><span class="sensorType"></span></b>
|
|
102
|
+
<pre class="sensorData"></pre>
|
|
103
|
+
</div>
|
|
104
|
+
</template>
|
|
105
|
+
</div>
|
|
106
|
+
|
|
107
|
+
<div>
|
|
108
|
+
<h2>vibration</h2>
|
|
109
|
+
<button id="addVibration">add vibration</button>
|
|
110
|
+
<button disabled id="triggerVibrations">trigger vibrations</button>
|
|
111
|
+
<template id="vibrationTemplate">
|
|
112
|
+
<div class="vibration">
|
|
113
|
+
<label>
|
|
114
|
+
type
|
|
115
|
+
<select class="type">
|
|
116
|
+
<optgroup label="vibration type"></optgroup>
|
|
117
|
+
</select>
|
|
118
|
+
</label>
|
|
119
|
+
<div class="waveformEffect">
|
|
120
|
+
<button class="add">add segment</button>
|
|
121
|
+
<ol class="segments"></ol>
|
|
122
|
+
<label>
|
|
123
|
+
sequence loop count
|
|
124
|
+
<input class="sequenceLoopCount" type="number" min="0" value="0" step="1" />
|
|
125
|
+
</label>
|
|
126
|
+
</div>
|
|
127
|
+
<div class="waveform">
|
|
128
|
+
<button class="add">add segment</button>
|
|
129
|
+
<ol class="segments"></ol>
|
|
130
|
+
</div>
|
|
131
|
+
<label>trigger? <input class="shouldTrigger" type="checkbox" /></label>
|
|
132
|
+
<ul class="locations"></ul>
|
|
133
|
+
<button class="delete">delete vibration</button>
|
|
134
|
+
</div>
|
|
135
|
+
</template>
|
|
136
|
+
<template id="vibrationLocationTemplate">
|
|
137
|
+
<li class="vibrationLocation">
|
|
138
|
+
<label><span></span><input type="checkbox" /></label>
|
|
139
|
+
</li>
|
|
140
|
+
</template>
|
|
141
|
+
<template id="waveformEffectSegmentTemplate">
|
|
142
|
+
<li class="waveformEffectSegment">
|
|
143
|
+
<label>
|
|
144
|
+
type
|
|
145
|
+
<select class="type">
|
|
146
|
+
<optgroup label="segment type">
|
|
147
|
+
<option>effect</option>
|
|
148
|
+
<option>delay</option>
|
|
149
|
+
</optgroup>
|
|
150
|
+
</select>
|
|
151
|
+
</label>
|
|
152
|
+
<label>
|
|
153
|
+
effect
|
|
154
|
+
<select class="effect">
|
|
155
|
+
<optgroup label="waveformEffect"></optgroup>
|
|
156
|
+
</select>
|
|
157
|
+
</label>
|
|
158
|
+
<label>
|
|
159
|
+
delay
|
|
160
|
+
<input class="delay" type="number" min="0" value="0" step="10" />ms
|
|
161
|
+
</label>
|
|
162
|
+
<label>
|
|
163
|
+
loop count
|
|
164
|
+
<input class="loopCount" type="number" min="0" value="0" step="1" />
|
|
165
|
+
</label>
|
|
166
|
+
<button class="delete">delete segment</button>
|
|
167
|
+
</li>
|
|
168
|
+
</template>
|
|
169
|
+
<template id="waveformSegmentTemplate">
|
|
170
|
+
<li class="waveformSegment">
|
|
171
|
+
<label>
|
|
172
|
+
amplitude
|
|
173
|
+
<input class="amplitude" type="number" min="0" max="1" value="0.5" step="0.01" />
|
|
174
|
+
</label>
|
|
175
|
+
<label>
|
|
176
|
+
duration
|
|
177
|
+
<input class="duration" type="number" min="10" value="100" step="10" />ms
|
|
178
|
+
</label>
|
|
179
|
+
<button class="delete">delete segment</button>
|
|
180
|
+
</li>
|
|
181
|
+
</template>
|
|
182
|
+
</div>
|
|
183
|
+
|
|
184
|
+
<div>
|
|
185
|
+
<h2>file transfer</h2>
|
|
186
|
+
<label>
|
|
187
|
+
file transfer type
|
|
188
|
+
<select id="fileTransferTypes">
|
|
189
|
+
<optgroup label="file transfer type"></optgroup>
|
|
190
|
+
</select>
|
|
191
|
+
</label>
|
|
192
|
+
<label>file (max <span id="maxFileLength">0</span>kb) <input id="file" type="file" accept=".tflite" /></label>
|
|
193
|
+
<label>
|
|
194
|
+
file transfer direction
|
|
195
|
+
<select id="fileTransferDirection">
|
|
196
|
+
<optgroup label="file transfer direction">
|
|
197
|
+
<option>send</option>
|
|
198
|
+
<option>receive</option>
|
|
199
|
+
</optgroup>
|
|
200
|
+
</select>
|
|
201
|
+
</label>
|
|
202
|
+
<button disabled id="toggleFileTransfer">send file</button>
|
|
203
|
+
<progress value="0" id="fileTransferProgress"></progress>
|
|
204
|
+
</div>
|
|
205
|
+
|
|
206
|
+
<div>
|
|
207
|
+
<h2>tflite</h2>
|
|
208
|
+
|
|
209
|
+
<div>
|
|
210
|
+
<label><b>name:</b> <span id="tfliteName"></span></label>
|
|
211
|
+
<label>
|
|
212
|
+
<b>new name: </b>
|
|
213
|
+
<input id="setTfliteNameInput" type="text" placeholder="type in a name" disabled />
|
|
214
|
+
</label>
|
|
215
|
+
<button id="setTfliteNameButton" disabled>set name</button>
|
|
216
|
+
</div>
|
|
217
|
+
|
|
218
|
+
<div>
|
|
219
|
+
<label><b>task:</b> <span id="tfliteTask"></span></label>
|
|
220
|
+
<label>
|
|
221
|
+
<b>new task: </b>
|
|
222
|
+
<select id="setTfliteTaskSelect" disabled>
|
|
223
|
+
<optgroup label="select task"></optgroup>
|
|
224
|
+
</select>
|
|
225
|
+
<button id="setTfliteTaskButton" disabled>set task</button>
|
|
226
|
+
</label>
|
|
227
|
+
</div>
|
|
228
|
+
|
|
229
|
+
<div>
|
|
230
|
+
<label><b>sample rate:</b> <span id="tfliteSampleRate"></span></label>
|
|
231
|
+
<label>
|
|
232
|
+
<b>new sample rate: </b>
|
|
233
|
+
<input id="setTfliteSampleRateInput" type="number" min="5" value="20" max="1000" step="5" disabled />
|
|
234
|
+
</label>
|
|
235
|
+
<button id="setTfliteSampleRateButton" disabled>set sample rate</button>
|
|
236
|
+
</div>
|
|
237
|
+
|
|
238
|
+
<div>
|
|
239
|
+
<b>sensor types</b>
|
|
240
|
+
|
|
241
|
+
<div id="tfliteSensorTypes">
|
|
242
|
+
<template id="tfliteSensorTypeTemplate">
|
|
243
|
+
<label class="sensorType">
|
|
244
|
+
<b class="name"></b>
|
|
245
|
+
<input class="enabled" type="checkbox" />
|
|
246
|
+
</label>
|
|
247
|
+
</template>
|
|
248
|
+
</div>
|
|
249
|
+
|
|
250
|
+
<button disabled id="setTfliteSensorTypes">set sensor types</button>
|
|
251
|
+
</div>
|
|
252
|
+
|
|
253
|
+
<div>
|
|
254
|
+
<label><b>is ready?</b> <input type="checkbox" id="tfliteIsReady" disabled /></label>
|
|
255
|
+
</div>
|
|
256
|
+
|
|
257
|
+
<div>
|
|
258
|
+
<label><b>threshold:</b> <span id="tfliteThreshold"></span></label>
|
|
259
|
+
<label>
|
|
260
|
+
<b>new threshold: </b>
|
|
261
|
+
<input id="setTfliteThresholdInput" type="number" min="0" value="0" max="1" step="0.1" disabled />
|
|
262
|
+
</label>
|
|
263
|
+
<button id="setTfliteThresholdButton" disabled>set threshold</button>
|
|
264
|
+
</div>
|
|
265
|
+
|
|
266
|
+
<div>
|
|
267
|
+
<label><b>capture delay:</b> <span id="tfliteCaptureDelay"></span></label>
|
|
268
|
+
<label>
|
|
269
|
+
<b>new capture delay: </b>
|
|
270
|
+
<input id="setTfliteCaptureDelayInput" type="number" min="0" value="0" max="2000" step="1" disabled />
|
|
271
|
+
</label>
|
|
272
|
+
<button id="setTfliteCaptureDelayButton" disabled>set capture delay</button>
|
|
273
|
+
</div>
|
|
274
|
+
|
|
275
|
+
<div>
|
|
276
|
+
<label>
|
|
277
|
+
<b>inferencing enabled? </b>
|
|
278
|
+
<input id="tfliteInferencingEnabled" type="checkbox" disabled />
|
|
279
|
+
</label>
|
|
280
|
+
<button id="toggleTfliteInferencingEnabled" disabled>enable inferencing</button>
|
|
281
|
+
</div>
|
|
282
|
+
|
|
283
|
+
<div>
|
|
284
|
+
<label>
|
|
285
|
+
<b>inference classes (newline separated - ignore idle)</b>
|
|
286
|
+
<br />
|
|
287
|
+
<textarea id="inferenceClasses" rows="3"></textarea>
|
|
288
|
+
</label>
|
|
289
|
+
<button id="toggleTfliteInferencingEnabled" disabled>enable inferencing</button>
|
|
290
|
+
</div>
|
|
291
|
+
|
|
292
|
+
<div>
|
|
293
|
+
<label>
|
|
294
|
+
<b>inference: </b>
|
|
295
|
+
<pre id="tfliteInference"></pre>
|
|
296
|
+
</label>
|
|
297
|
+
<h1 id="topInferenceClass"></h1>
|
|
298
|
+
</div>
|
|
299
|
+
</div>
|
|
300
|
+
|
|
301
|
+
<div>
|
|
302
|
+
<h2>firmware update</h2>
|
|
303
|
+
|
|
304
|
+
<label><b>status:</b> <span id="firmwareStatus"></span></label>
|
|
305
|
+
|
|
306
|
+
<label>firmware <input id="firmwareInput" type="file" accept=".bin" /></label>
|
|
307
|
+
<button id="toggleFirmwareUpload" disabled>upload firmware</button>
|
|
308
|
+
<progress value="0" id="firmwareUploadProgress"></progress>
|
|
309
|
+
<span id="firmwareUploadProgressPercentage" style="display: none"></span>
|
|
310
|
+
|
|
311
|
+
<label>
|
|
312
|
+
<b>firmware images: </b>
|
|
313
|
+
<pre id="firmwareImages"></pre>
|
|
314
|
+
</label>
|
|
315
|
+
|
|
316
|
+
<select id="imageSelection" disabled>
|
|
317
|
+
<optgroup label="select image"></optgroup>
|
|
318
|
+
</select>
|
|
319
|
+
|
|
320
|
+
<button id="testFirmwareImage" disabled>test</button>
|
|
321
|
+
<button id="confirmFirmwareImage" disabled>confirm</button>
|
|
322
|
+
<br />
|
|
323
|
+
<button id="eraseFirmwareImage" disabled>erase</button>
|
|
324
|
+
<button id="reset" disabled>reset</button>
|
|
325
|
+
</div>
|
|
326
|
+
</body>
|
|
327
|
+
</html>
|