Idea of how typescript should decode Protobuffer

This commit is contained in:
Niklas Jensen
2025-12-29 21:06:29 +01:00
committed by nikguin04
parent c2bbeb2f2b
commit 8c45f66137
4 changed files with 106 additions and 81 deletions
+16 -14
View File
@@ -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
})