diff --git a/app/src/components/Model/ModelView.svelte b/app/src/components/Model/ModelView.svelte
new file mode 100644
index 0000000..7529321
--- /dev/null
+++ b/app/src/components/Model/ModelView.svelte
@@ -0,0 +1,136 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/lib/socket.ts b/app/src/lib/socket.ts
index dcc7a3d..25ba17c 100644
--- a/app/src/lib/socket.ts
+++ b/app/src/lib/socket.ts
@@ -4,7 +4,11 @@ export type WebSocketStatus = 'OPEN' | 'CONNECTING' | 'CLOSED'
export const isConnected = writable(false)
-export const data = writable(new Float32Array(13))
+export const dataBuffer = writable(new Float32Array(13))
+
+export const servoBuffer = writable(new Int8Array(12))
+
+export const data = writable();
export const status:Writable
= writable('CLOSED')
@@ -32,7 +36,7 @@ const _disconnected = () => {
const _message = (event) => {
if (event.data instanceof ArrayBuffer) {
- let buffer = new Uint8Array(event.data);
- data.set(new Float32Array(buffer.buffer));
- }
+ let buffer = new Int8Array(event.data);
+ servoBuffer.set(buffer);
+ } else dataBuffer.set(JSON.parse(event.data));
}
\ No newline at end of file
diff --git a/app/src/lib/utils.ts b/app/src/lib/utils.ts
index 7aa0885..e845cc7 100644
--- a/app/src/lib/utils.ts
+++ b/app/src/lib/utils.ts
@@ -1,4 +1,8 @@
export const humanFileSize = (size:number):string => {
var i = size == 0 ? 0 : Math.floor(Math.log(size) / Math.log(1024));
return Number((size / Math.pow(1024, i)).toFixed(2)) * 1 + ['B', 'kB', 'MB', 'GB', 'TB'][i];
-}
\ No newline at end of file
+}
+
+export const lerp = (start: number, end: number, amt: number) => {
+ return (1 - amt) * start + amt * end;
+};
\ No newline at end of file
diff --git a/app/src/routes/Controller.svelte b/app/src/routes/Controller.svelte
index daff58d..cddb8db 100644
--- a/app/src/routes/Controller.svelte
+++ b/app/src/routes/Controller.svelte
@@ -1,9 +1,11 @@
+