Idea of how typescript should decode Protobuffer
This commit is contained in:
+16
-14
@@ -1,5 +1,6 @@
|
||||
import { writable } from 'svelte/store'
|
||||
import type { IMUMsg } from '$lib/types/models'
|
||||
import type { IMUReport } from '$lib/platform_shared/imu_report'
|
||||
|
||||
const maxIMUData = 100
|
||||
|
||||
@@ -14,23 +15,24 @@ export const imu = (() => {
|
||||
bmp_temp: [] as number[]
|
||||
})
|
||||
|
||||
const addData = (content: IMUMsg) => {
|
||||
const addData = (content: IMUReport) => {
|
||||
update(data => {
|
||||
if (content.imu && content.imu[4]) {
|
||||
data.x = [...data.x, content.imu[0]].slice(-maxIMUData)
|
||||
data.y = [...data.y, content.imu[1]].slice(-maxIMUData)
|
||||
data.z = [...data.z, content.imu[2]].slice(-maxIMUData)
|
||||
}
|
||||
if (content.success) {
|
||||
data.x = [...data.x, content.x].slice(-maxIMUData)
|
||||
data.y = [...data.y, content.y].slice(-maxIMUData)
|
||||
data.z = [...data.z, content.z].slice(-maxIMUData)
|
||||
}
|
||||
|
||||
if (content.mag && content.mag[4]) {
|
||||
data.heading = [...data.heading, content.mag[3]].slice(-maxIMUData)
|
||||
}
|
||||
// TODO: Temporarily disabled
|
||||
// if (content.mag && content.mag[4]) {
|
||||
// data.heading = [...data.heading, content.mag[3]].slice(-maxIMUData)
|
||||
// }
|
||||
|
||||
if (content.bmp && content.bmp[3]) {
|
||||
data.pressure = [...data.pressure, content.bmp[0]].slice(-maxIMUData)
|
||||
data.altitude = [...data.altitude, content.bmp[1]].slice(-maxIMUData)
|
||||
data.bmp_temp = [...data.bmp_temp, content.bmp[2]].slice(-maxIMUData)
|
||||
}
|
||||
// if (content.bmp && content.bmp[3]) {
|
||||
// data.pressure = [...data.pressure, content.bmp[0]].slice(-maxIMUData)
|
||||
// data.altitude = [...data.altitude, content.bmp[1]].slice(-maxIMUData)
|
||||
// data.bmp_temp = [...data.bmp_temp, content.bmp[2]].slice(-maxIMUData)
|
||||
// }
|
||||
|
||||
return data
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user