From c06b349f16ffea7800c50b978fc578e1d64fad2a Mon Sep 17 00:00:00 2001 From: Rune Harlyk Date: Sat, 3 Jan 2026 15:23:37 +0100 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Makes=20imu=20calibration?= =?UTF-8?q?=20use=20request=20reponse?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/routes/peripherals/imu/imu.svelte | 38 +++++++++-------------- 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/app/src/routes/peripherals/imu/imu.svelte b/app/src/routes/peripherals/imu/imu.svelte index 829a5af..3eacdf7 100644 --- a/app/src/routes/peripherals/imu/imu.svelte +++ b/app/src/routes/peripherals/imu/imu.svelte @@ -9,11 +9,7 @@ import { useFeatureFlags } from '$lib/stores/featureFlags' import { Rotate3d } from '$lib/components/icons' - import { - IMUCalibrateData, - IMUCalibrateExecute, - IMUData - } from '$lib/platform_shared/websocket_message' + import { type IMUCalibrateData, IMUData } from '$lib/platform_shared/websocket_message' Chart.register(...registerables) @@ -216,37 +212,31 @@ ) } } - const eventListeners: (() => void)[] = [] + let unsubscribeImu: (() => void) | undefined onMount(() => { - eventListeners.push( - ...[ - socket.on(IMUData, data => { - console.log(data) - imu.addData(data) - }), - - socket.on(IMUCalibrateData, data => { - isCalibrating = false - calibrationResult = data - }) - ] - ) + unsubscribeImu = socket.on(IMUData, data => { + console.log(data) + imu.addData(data) + }) initializeCharts() intervalId = setInterval(updateData, 200) }) onDestroy(() => { - for (let offFunction of eventListeners) { - offFunction() - } + unsubscribeImu?.() clearInterval(intervalId) }) - function startCalibration() { + async function startCalibration() { isCalibrating = true calibrationResult = null - socket.sendEvent(IMUCalibrateExecute, {}) + try { + const response = await socket.request({ imuCalibrateExecute: {} }) + calibrationResult = response.imuCalibrateData ?? null + } finally { + isCalibrating = false + } }