diff --git a/app/src/lib/components/statusbar/UpdateIndicator.svelte b/app/src/lib/components/statusbar/UpdateIndicator.svelte index ea223a4..7dc0ffd 100644 --- a/app/src/lib/components/statusbar/UpdateIndicator.svelte +++ b/app/src/lib/components/statusbar/UpdateIndicator.svelte @@ -1,48 +1,48 @@ diff --git a/app/src/lib/stores/model-store.ts b/app/src/lib/stores/model-store.ts index 6aa3d8e..75c0af3 100644 --- a/app/src/lib/stores/model-store.ts +++ b/app/src/lib/stores/model-store.ts @@ -1,45 +1,45 @@ -import type { ControllerInput } from '$lib/types/models'; -import { persistentStore } from '$lib/utilities/svelte-utilities'; -import { writable, type Writable } from 'svelte/store'; +import type { ControllerInput } from '$lib/types/models' +import { persistentStore } from '$lib/utilities/svelte-utilities' +import { writable, type Writable } from 'svelte/store' -export const emulateModel = writable(true); +export const emulateModel = writable(true) -export const jointNames = persistentStore('joint_names', []); +export const jointNames = persistentStore('joint_names', []) -export const model = writable(); +export const model = writable() export const modes = [ - 'deactivated', - 'idle', - 'calibration', - 'rest', - 'stand', - 'crawl', - 'walk' -] as const; + 'deactivated', + 'idle', + 'calibration', + 'rest', + 'stand', + 'crawl', + 'walk' +] as const -export type Modes = (typeof modes)[number]; +export type Modes = (typeof modes)[number] export enum ModesEnum { - Deactivated, - Idle, - Calibration, - Rest, - Stand, - Crawl, - Walk + Deactivated, + Idle, + Calibration, + Rest, + Stand, + Crawl, + Walk } -export const mode: Writable = writable(ModesEnum.Deactivated); +export const mode: Writable = writable(ModesEnum.Deactivated) -export const outControllerData = writable([0, 0, 0, 0, 0, 1, 0]); +export const outControllerData = writable([0, 0, 0, 0, 0, 1, 0]) -export const kinematicData = writable([0, 0, 0, 0, 1, 0]); +export const kinematicData = writable([0, 0, 0, 0, 1, 0]) export const input: Writable = writable({ - left: { x: 0, y: 0 }, - right: { x: 0, y: 0 }, - height: 50, - speed: 50, - s1: 50 -}); + left: { x: 0, y: 0 }, + right: { x: 0, y: 0 }, + height: 0.5, + speed: 0.5, + s1: 0.05 +}) diff --git a/app/src/lib/types/models.ts b/app/src/lib/types/models.ts index e0bdc0c..53f2387 100644 --- a/app/src/lib/types/models.ts +++ b/app/src/lib/types/models.ts @@ -1,4 +1,4 @@ -export enum Topics { +export enum MessageTopic { imu = 'imu', mode = 'mode', input = 'input', diff --git a/app/src/routes/+layout.svelte b/app/src/routes/+layout.svelte index 7a3c2a5..7a3b213 100644 --- a/app/src/routes/+layout.svelte +++ b/app/src/routes/+layout.svelte @@ -21,7 +21,9 @@ location, useFeatureFlags } from '$lib/stores' - import { Topics, type Analytics, type DownloadOTA } from '$lib/types/models' + import { type Analytics, type DownloadOTA } from '$lib/types/models' + import { MessageTopic } from '$lib/types/models' + interface Props { children?: import('svelte').Snippet } @@ -36,10 +38,14 @@ addEventListeners() - outControllerData.subscribe(data => socket.sendEvent(Topics.input, data)) - mode.subscribe(data => socket.sendEvent(Topics.mode, data)) - servoAnglesOut.subscribe(data => socket.sendEvent(Topics.angles, data)) - kinematicData.subscribe(data => socket.sendEvent(Topics.position, data)) + outControllerData.subscribe(data => { + console.log(data) + + socket.sendEvent(MessageTopic.input, data) + }) + mode.subscribe(data => socket.sendEvent(MessageTopic.mode, data)) + servoAnglesOut.subscribe(data => socket.sendEvent(MessageTopic.angles, data)) + kinematicData.subscribe(data => socket.sendEvent(MessageTopic.position, data)) }) onDestroy(() => { @@ -50,24 +56,24 @@ socket.on('open', handleOpen) socket.on('close', handleClose) socket.on('error', handleError) - socket.on(Topics.rssi, handleNetworkStatus) - socket.on(Topics.mode, (data: ModesEnum) => mode.set(data)) - socket.on(Topics.analytics, handleAnalytics) - socket.on(Topics.angles, (angles: number[]) => { + socket.on(MessageTopic.rssi, handleNetworkStatus) + socket.on(MessageTopic.mode, (data: ModesEnum) => mode.set(data)) + socket.on(MessageTopic.analytics, handleAnalytics) + socket.on(MessageTopic.angles, (angles: number[]) => { if (angles.length) servoAngles.set(angles) }) features.subscribe(data => { - if (data?.download_firmware) socket.on(Topics.otastatus, handleOAT) - if (data?.sonar) socket.on(Topics.sonar, data => console.log(data)) + if (data?.download_firmware) socket.on(MessageTopic.otastatus, handleOAT) + if (data?.sonar) socket.on(MessageTopic.sonar, data => console.log(data)) }) } const removeEventListeners = () => { - socket.off(Topics.analytics, handleAnalytics) + socket.off(MessageTopic.analytics, handleAnalytics) socket.off('open', handleOpen) socket.off('close', handleClose) - socket.off(Topics.rssi, handleNetworkStatus) - socket.off(Topics.otastatus, handleOAT) + socket.off(MessageTopic.rssi, handleNetworkStatus) + socket.off(MessageTopic.otastatus, handleOAT) } const handleOpen = () => { diff --git a/app/src/routes/controller/+page.svelte b/app/src/routes/controller/+page.svelte index c81a23d..0c4bca9 100644 --- a/app/src/routes/controller/+page.svelte +++ b/app/src/routes/controller/+page.svelte @@ -5,12 +5,12 @@ import { onMount } from 'svelte' import { mpu, socket } from '$lib/stores' import { imu } from '$lib/stores/imu' - import { Topics, type IMU } from '$lib/types/models' + import { MessageTopic, type IMU } from '$lib/types/models' let layout = $derived($views.find(v => v.name === $selectedView)!) onMount(() => { - socket.on(Topics.imu, (data: IMU) => { + socket.on(MessageTopic.imu, (data: IMU) => { imu.addData(data) if (data.heading) mpu.update(mpuData => { diff --git a/app/src/routes/peripherals/i2c/i2c.svelte b/app/src/routes/peripherals/i2c/i2c.svelte index 0410feb..084f08d 100644 --- a/app/src/routes/peripherals/i2c/i2c.svelte +++ b/app/src/routes/peripherals/i2c/i2c.svelte @@ -2,7 +2,7 @@ import SettingsCard from '$lib/components/SettingsCard.svelte' import { onMount } from 'svelte' import { socket } from '$lib/stores' - import { Topics, type I2CDevice } from '$lib/types/models' + import { MessageTopic, type I2CDevice } from '$lib/types/models' import { Connection } from '$lib/components/icons' import I2CSetting from './i2cSetting.svelte' @@ -24,9 +24,9 @@ let isLoading = $state(false) onMount(() => { - socket.on(Topics.i2cScan, handleScan) + socket.on(MessageTopic.i2cScan, handleScan) triggerScan() - return () => socket.off(Topics.i2cScan, handleScan) + return () => socket.off(MessageTopic.i2cScan, handleScan) }) const handleScan = (data: any) => { @@ -43,7 +43,7 @@ const triggerScan = () => { isLoading = true - socket.sendEvent(Topics.i2cScan, '') + socket.sendEvent(MessageTopic.i2cScan, '') } diff --git a/app/src/routes/peripherals/i2c/i2cSetting.svelte b/app/src/routes/peripherals/i2c/i2cSetting.svelte index 1500117..1e5f555 100644 --- a/app/src/routes/peripherals/i2c/i2cSetting.svelte +++ b/app/src/routes/peripherals/i2c/i2cSetting.svelte @@ -1,7 +1,7 @@ diff --git a/app/src/routes/peripherals/servo/servos.svelte b/app/src/routes/peripherals/servo/servos.svelte index 0afdf98..61b2fd1 100644 --- a/app/src/routes/peripherals/servo/servos.svelte +++ b/app/src/routes/peripherals/servo/servos.svelte @@ -1,6 +1,6 @@ {#if isOpen} @@ -89,7 +89,7 @@
{ - storeNetwork(network.ssid); + storeNetwork(network.ssid) }} role="button" tabindex="0"> diff --git a/app/src/routes/wifi/sta/Wifi.svelte b/app/src/routes/wifi/sta/Wifi.svelte index 5a35357..7292c0a 100644 --- a/app/src/routes/wifi/sta/Wifi.svelte +++ b/app/src/routes/wifi/sta/Wifi.svelte @@ -12,7 +12,7 @@ import Spinner from '$lib/components/Spinner.svelte' import InfoDialog from '$lib/components/InfoDialog.svelte' import { - Topics, + MessageTopic, type KnownNetworkItem, type WifiSettings, type WifiStatus @@ -97,10 +97,10 @@ return wifiSettings } - onDestroy(() => socket.off(Topics.WiFiSettings)) + onDestroy(() => socket.off(MessageTopic.WiFiSettings)) onMount(() => { - socket.on(Topics.WiFiSettings, data => { + socket.on(MessageTopic.WiFiSettings, data => { wifiSettings = data dndNetworkList = wifiSettings.wifi_networks })