Files
SpotMicroESP32-Leika/app/src/lib/stores/telemetry.ts
T
2024-11-14 15:20:23 +01:00

36 lines
854 B
TypeScript

import type { DownloadOTA } from '$lib/types/models';
import { writable } from 'svelte/store';
let telemetry_data = {
rssi: {
rssi: 0
},
download_ota: {
status: 'none',
progress: 0,
error: ''
}
};
function createTelemetry() {
const { subscribe, set, update } = writable(telemetry_data);
return {
subscribe,
setRSSI: (data: number) => {
update(telemetry_data => ({
...telemetry_data,
rssi: { rssi: data }
}));
},
setDownloadOTA: (data: DownloadOTA) => {
update(telemetry_data => ({
...telemetry_data,
download_ota: { status: data.status, progress: data.progress, error: data.error }
}));
}
};
}
export const telemetry = createTelemetry();