fix: patch bug setting connected state to wrong value

This commit is contained in:
Youwen Wu 2024-03-01 18:53:22 -08:00
parent c5710d03b9
commit db82b1e8fb
Signed by: youwen5
GPG key ID: 865658ED1FE61EC3

View file

@ -1,6 +1,6 @@
import { get } from 'svelte/store' import { get } from "svelte/store";
import { telemetryStore } from '../stores/telemetryStore' import { telemetryStore } from "../stores/telemetryStore";
import { emit, listen } from '@tauri-apps/api/event' import { emit, listen } from "@tauri-apps/api/event";
/** /**
* Connects to sockets and subscribes to specified topics to receive telemetry data. * Connects to sockets and subscribes to specified topics to receive telemetry data.
@ -11,9 +11,9 @@ import { emit, listen } from '@tauri-apps/api/event'
*/ */
const onUpdate = (data: TelemetryData) => { const onUpdate = (data: TelemetryData) => {
telemetryStore.update(data) telemetryStore.update(data);
// console.log(data) // console.log(data)
} };
export const initializeTelemetry = async ( export const initializeTelemetry = async (
topics: TelemetryTopics, topics: TelemetryTopics,
@ -22,28 +22,28 @@ export const initializeTelemetry = async (
// Make sure refreshRate is valid // Make sure refreshRate is valid
if (!Number.isInteger(refreshRate) || refreshRate < 1) { if (!Number.isInteger(refreshRate) || refreshRate < 1) {
throw new Error( throw new Error(
'refreshRate must be an integer greater than or equal to 1.' "refreshRate must be an integer greater than or equal to 1."
) );
} }
const unlistenStatus = await listen('telemetry_status', event => { const unlistenStatus = await listen("telemetry_status", (event) => {
if (event.payload === 'connected') { if (event.payload === "connected") {
telemetryStore.set('connected', false) telemetryStore.set("connected", true);
} else if (event.payload === 'disconnected') { } else if (event.payload === "disconnected") {
telemetryStore.set('connected', false) telemetryStore.set("connected", false);
} }
}) });
const unlistenTelemetry = await listen('telemetry_data', event => { const unlistenTelemetry = await listen("telemetry_data", (event) => {
const data = JSON.parse(event.payload as string) const data = JSON.parse(event.payload as string);
// console.log(JSON.parse) // console.log(JSON.parse)
telemetryStore.set(data['topic_name'], data['data']) telemetryStore.set(data["topic_name"], data["data"]);
}) });
const unlistenAll = () => { const unlistenAll = () => {
unlistenStatus() unlistenStatus();
unlistenTelemetry() unlistenTelemetry();
} };
return unlistenAll return unlistenAll;
} };