diff --git a/app/src/lib/components/RSSIIndicator.svelte b/app/src/lib/components/RSSIIndicator.svelte
index 6810bb4..cde1af7 100644
--- a/app/src/lib/components/RSSIIndicator.svelte
+++ b/app/src/lib/components/RSSIIndicator.svelte
@@ -3,33 +3,43 @@
import WiFi0 from '~icons/tabler/wifi-0';
import WiFi1 from '~icons/tabler/wifi-1';
import WiFi2 from '~icons/tabler/wifi-2';
+ import WifiOff from '~icons/tabler/wifi-off';
- export let showDBm = false;
+ export let showDBm = true;
export let rssi_dbm = 0;
+ export let ssid = '';
+
+ $: if (ssid === '') {
+ ssid = 'Unknown';
+ }
- {#if showDBm}
-
- {rssi_dbm} dBm
-
- {/if}
- {#if rssi_dbm >= -55}
-
- {:else if rssi_dbm >= -75}
-
-
-
-
- {:else if rssi_dbm >= -85}
-
-
-
-
- {:else}
-
-
-
-
- {/if}
-
+
+
\ No newline at end of file
diff --git a/app/src/lib/stores/telemetry.ts b/app/src/lib/stores/telemetry.ts
index c6eead6..1cffd95 100644
--- a/app/src/lib/stores/telemetry.ts
+++ b/app/src/lib/stores/telemetry.ts
@@ -1,9 +1,9 @@
+import type { Battery, DownloadOTA } from '$lib/types/models';
import { writable } from 'svelte/store';
let telemetry_data = {
rssi: {
- rssi: 0,
- disconnected: true
+ rssi: 0
},
battery: {
soc: 100,
@@ -21,28 +21,22 @@ function createTelemetry() {
return {
subscribe,
- setRSSI: (data: string) => {
- if (!isNaN(Number(data))) {
- update((telemetry_data) => ({
- ...telemetry_data,
- rssi: { rssi: Number(data), disconnected: false }
- }));
- } else {
- update((telemetry_data) => ({ ...telemetry_data, rssi: { rssi: 0, disconnected: true } }));
- }
- },
- setBattery: (data: string) => {
- const content = JSON.parse(data);
+ setRSSI: (data: number) => {
update((telemetry_data) => ({
...telemetry_data,
- battery: { soc: content.soc, charging: content.charging }
+ rssi: { rssi: data }
}));
},
- setDownloadOTA: (data: string) => {
- const content = JSON.parse(data);
+ setBattery: (data: Battery) => {
update((telemetry_data) => ({
...telemetry_data,
- download_ota: { status: content.status, progress: content.progress, error: content.error }
+ battery: { soc: data.soc, charging: data.charging }
+ }));
+ },
+ setDownloadOTA: (data: DownloadOTA) => {
+ update((telemetry_data) => ({
+ ...telemetry_data,
+ download_ota: { status: data.status, progress: data.progress, error: data.error }
}));
}
};
diff --git a/app/src/lib/types/models.ts b/app/src/lib/types/models.ts
index 11ac54a..7f95206 100644
--- a/app/src/lib/types/models.ts
+++ b/app/src/lib/types/models.ts
@@ -74,6 +74,22 @@ export type NTPStatus = {
uptime: number;
};
+export type RSSI = {
+ rssi: number;
+ ssid: string;
+};
+
+export type Battery = {
+ soc: number;
+ charging: boolean;
+};
+
+export type DownloadOTA = {
+ status: string;
+ progress: number;
+ error: string;
+};
+
export type NTPSettings = {
enabled: boolean;
server: string;
@@ -94,6 +110,11 @@ export type Analytics = {
uptime: number;
};
+export type Rssi = {
+ rssi: number;
+ ssid: string;
+};
+
export type StaticSystemInformation = {
esp_platform: string;
firmware_version: string;
diff --git a/app/src/routes/+layout.svelte b/app/src/routes/+layout.svelte
index abf845b..3c35f24 100644
--- a/app/src/routes/+layout.svelte
+++ b/app/src/routes/+layout.svelte
@@ -15,7 +15,7 @@
import Statusbar from './statusbar.svelte';
import Login from './login.svelte';
import { mode, outControllerData, servoAnglesOut, socket } from '$lib/stores';
- import type { Analytics } from '$lib/types/models';
+ import type { Analytics, Battery, DownloadOTA, Rssi } from '$lib/types/models';
export let data: LayoutData;
@@ -87,7 +87,7 @@
const handleClose = () => {
notifications.error('Connection to device lost', 5000);
- telemetry.setRSSI('lost');
+ telemetry.setRSSI(0);
};
const handleError = (data: any) => console.error(data);
@@ -99,11 +99,11 @@
const handleAnalytics = (data: Analytics) => analytics.addData(data);
- const handleNetworkStatus = (data: string) => telemetry.setRSSI(data);
+ const handleNetworkStatus = (data: number) => telemetry.setRSSI(data);
- const handleBattery = (data: string) => telemetry.setBattery(data);
+ const handleBattery = (data: Battery) => telemetry.setBattery(data);
- const handleOAT = (data: string) => telemetry.setDownloadOTA(data);
+ const handleOAT = (data: DownloadOTA) => telemetry.setDownloadOTA(data);
let menuOpen = false;