🚡 Adds more stores for different data
This commit is contained in:
+31
-2
@@ -4,6 +4,14 @@ export type WebSocketStatus = 'OPEN' | 'CONNECTING' | 'CLOSED'
|
|||||||
|
|
||||||
export const isConnected = writable(false)
|
export const isConnected = writable(false)
|
||||||
|
|
||||||
|
export const angles = writable(new Int16Array(12).fill(0))
|
||||||
|
export const log = writable([])
|
||||||
|
export const battery = writable({})
|
||||||
|
export const mpu = writable({heading:0})
|
||||||
|
export const distances = writable({})
|
||||||
|
export const settings = writable({})
|
||||||
|
export const systemInfo = writable({})
|
||||||
|
|
||||||
export const dataBuffer = writable(new Float32Array(13))
|
export const dataBuffer = writable(new Float32Array(13))
|
||||||
|
|
||||||
export const servoBuffer:Writable<Int16Array|number[]> = writable(new Int16Array(12))
|
export const servoBuffer:Writable<Int16Array|number[]> = writable(new Int16Array(12))
|
||||||
@@ -42,11 +50,32 @@ const _disconnected = () => {
|
|||||||
isConnected.set(false)
|
isConnected.set(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
const _message = (event) => {
|
const _message = (event:any) => {
|
||||||
if (event.data instanceof ArrayBuffer) {
|
if (event.data instanceof ArrayBuffer) {
|
||||||
let buffer = new Int8Array(event.data);
|
let buffer = new Int8Array(event.data);
|
||||||
if(buffer.length === 44) {
|
if(buffer.length === 44) {
|
||||||
dataBuffer.set(new Float32Array(buffer.buffer) )
|
dataBuffer.set(new Float32Array(buffer.buffer) )
|
||||||
}
|
}
|
||||||
} else dataBuffer.set(JSON.parse(event.data));
|
} else {
|
||||||
|
let data = event.data
|
||||||
|
try {
|
||||||
|
data = JSON.parse(event.data)
|
||||||
|
} catch (error) {
|
||||||
|
console.warn(error)
|
||||||
|
}
|
||||||
|
switch (data.type) {
|
||||||
|
case "angles":
|
||||||
|
angles.set(data.angles)
|
||||||
|
break
|
||||||
|
case "mpu":
|
||||||
|
mpu.set(data.mpu)
|
||||||
|
break
|
||||||
|
case "distances":
|
||||||
|
distances.set(data.distances)
|
||||||
|
break
|
||||||
|
case "battery":
|
||||||
|
battery.set(data.battery)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user