From 73aa38951d0c35deac1356e10f02d55da5c74901 Mon Sep 17 00:00:00 2001 From: Niklas Jensen Date: Wed, 31 Dec 2025 00:52:14 +0100 Subject: [PATCH] Minor change to new message formats. LONG WAY TO GO --- app/src/lib/types/models.ts | 18 ------------- app/src/routes/+layout.svelte | 27 +++++++++---------- app/src/routes/peripherals/i2c/i2c.svelte | 9 ++++--- .../routes/peripherals/servo/servos.svelte | 8 +++--- app/src/routes/prototest/+page.svelte | 20 +++++++++++++- app/tests/unit/socket.spec.ts | 2 +- 6 files changed, 41 insertions(+), 43 deletions(-) diff --git a/app/src/lib/types/models.ts b/app/src/lib/types/models.ts index ceb4785..880bf60 100644 --- a/app/src/lib/types/models.ts +++ b/app/src/lib/types/models.ts @@ -1,21 +1,3 @@ -export enum MessageTopic { - imu = 'imu', - imuCalibrate = 'imuCalibrate', - mode = 'mode', - input = 'input', - analytics = 'analytics', - position = 'position', - angles = 'angles', - i2cScan = 'i2cScan', - peripheralSettings = 'peripheralSettings', - otastatus = 'otastatus', - gait = 'walk_gait', - servoState = 'servoState', - servoPWM = 'servoPWM', - WiFiSettings = 'WiFiSettings', - sonar = 'sonar', - rssi = 'rssi' -} export type vector = { x: number; y: number } diff --git a/app/src/routes/+layout.svelte b/app/src/routes/+layout.svelte index 1525959..f5b56b3 100644 --- a/app/src/routes/+layout.svelte +++ b/app/src/routes/+layout.svelte @@ -23,8 +23,14 @@ walkGait } from '$lib/stores' import { type Analytics, type DownloadOTA } from '$lib/types/models' - import { MessageTopic } from '$lib/types/models' import { Throttler } from '$lib/utilities' + import { + AnglesData, + GaitData, + InputData, + ModeData, + PositionData + } from '$lib/platform_shared/websocket_message' interface Props { children?: import('svelte').Snippet @@ -41,20 +47,11 @@ addEventListeners() - input.subscribe(data => - socket.sendEvent( - MessageTopic.input, - throttler.throttle(() => Object.values(data), 40) - ) - ) - mode.subscribe(data => socket.sendEvent(MessageTopic.mode, data)) - walkGait.subscribe(data => socket.sendEvent(MessageTopic.gait, data)) - servoAnglesOut.subscribe(data => - throttler.throttle(() => socket.sendEvent(MessageTopic.angles, data), 100) - ) - kinematicData.subscribe(data => - throttler.throttle(() => socket.sendEvent(MessageTopic.position, data), 100) - ) + input.subscribe(data => socket.sendEvent(InputData, InputData.create())) + mode.subscribe(data => socket.sendEvent(ModeData, data)) + walkGait.subscribe(data => socket.sendEvent(GaitData, data)) + servoAnglesOut.subscribe(data => socket.sendEvent(AnglesData, data)) + kinematicData.subscribe(data => socket.sendEvent(PositionData, data)) }) onDestroy(() => { diff --git a/app/src/routes/peripherals/i2c/i2c.svelte b/app/src/routes/peripherals/i2c/i2c.svelte index 16e8cf4..fb7edd1 100644 --- a/app/src/routes/peripherals/i2c/i2c.svelte +++ b/app/src/routes/peripherals/i2c/i2c.svelte @@ -2,9 +2,10 @@ import SettingsCard from '$lib/components/SettingsCard.svelte' import { onMount } from 'svelte' import { socket } from '$lib/stores' - import { MessageTopic, type I2CDevice } from '$lib/types/models' + import { type I2CDevice } from '$lib/types/models' import { Connection } from '$lib/components/icons' import I2CSetting from './i2cSetting.svelte' + import { I2CScanData } from '$lib/platform_shared/websocket_message' const i2cDevices = [ { address: 30, part_number: 'HMC5883', name: '3-Axis Digital Compass/Magnetometer IC' }, @@ -25,9 +26,9 @@ let isLoading = $state(false) onMount(() => { - socket.on(MessageTopic.i2cScan, handleScan) + socket.on(I2CScanData, handleScan) triggerScan() - return () => socket.off(MessageTopic.i2cScan, handleScan) + return () => socket.off(I2CScanData, handleScan) }) const handleScan = (data: { addresses: number[] }) => { @@ -44,7 +45,7 @@ const triggerScan = () => { isLoading = true - socket.sendEvent(MessageTopic.i2cScan, '') + socket.sendEvent(I2CScanData, '') } diff --git a/app/src/routes/peripherals/servo/servos.svelte b/app/src/routes/peripherals/servo/servos.svelte index 421747e..2d8c1c6 100644 --- a/app/src/routes/peripherals/servo/servos.svelte +++ b/app/src/routes/peripherals/servo/servos.svelte @@ -1,6 +1,6 @@ + +

Hexadecimal Output

Hex output: {hex}

diff --git a/app/tests/unit/socket.spec.ts b/app/tests/unit/socket.spec.ts index b9ceb6b..8041025 100644 --- a/app/tests/unit/socket.spec.ts +++ b/app/tests/unit/socket.spec.ts @@ -1,7 +1,7 @@ import { describe, it, expect, beforeEach, afterEach } from 'vitest' import { WebSocketServer } from 'ws' import { socket } from '../../src/lib/stores/socket' -import { IMUData, RSSIData, WebsocketMessage, WebsocketMessage } from '../../src/lib/platform_shared/websocket_message' +import { IMUData, RSSIData, WebsocketMessage } from '../../src/lib/platform_shared/websocket_message' // Helper function to create encoded WebSocket messages function createEncodedMessage(messageType: 'imu' | 'rssi' | 'mode', data: any): Uint8Array {