🚚 Rename websocket_message to messages
This commit is contained in:
@@ -37,7 +37,7 @@
|
||||
import { radToDeg } from 'three/src/math/MathUtils.js'
|
||||
import type { URDFRobot } from 'urdf-loader'
|
||||
import { get } from 'svelte/store'
|
||||
import { AnglesData, KinematicData, ModesEnum } from '$lib/platform_shared/websocket_message'
|
||||
import { AnglesData, KinematicData, ModesEnum } from '$lib/platform_shared/message'
|
||||
|
||||
interface Props {
|
||||
defaultColor?: string | null
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script lang="ts">
|
||||
import { ModeData, ModesEnum } from '$lib/platform_shared/websocket_message'
|
||||
import { ModeData, ModesEnum } from '$lib/platform_shared/message'
|
||||
import { mode } from '$lib/stores'
|
||||
|
||||
const deactivate = async () => {
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
import { get } from 'svelte/store'
|
||||
import type { body_state_t } from './kinematic'
|
||||
import { currentKinematic } from './stores/featureFlags'
|
||||
import { HumanInputData, WalkGaits } from './platform_shared/websocket_message'
|
||||
import { HumanInputData, WalkGaits } from './platform_shared/message'
|
||||
|
||||
export interface gait_state_t {
|
||||
step_height: number
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { AnalyticsData } from '$lib/platform_shared/websocket_message'
|
||||
import { AnalyticsData } from '$lib/platform_shared/message'
|
||||
import { writable } from 'svelte/store'
|
||||
|
||||
const analytics_data: AnalyticsData[] = []
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { writable } from 'svelte/store'
|
||||
import { IMUData } from '$lib/platform_shared/websocket_message'
|
||||
import { IMUData } from '$lib/platform_shared/message'
|
||||
|
||||
const imu_data: IMUData[] = []
|
||||
const maxIMUData = 100
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
ModesEnum,
|
||||
WalkGaitData,
|
||||
WalkGaits
|
||||
} from '$lib/platform_shared/websocket_message'
|
||||
} from '$lib/platform_shared/message'
|
||||
import { persistentStore } from '$lib/utilities/svelte-utilities'
|
||||
import { writable, type Writable } from 'svelte/store'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { AnglesData } from '$lib/platform_shared/websocket_message'
|
||||
import { AnglesData } from '$lib/platform_shared/message'
|
||||
import { writable, type Writable } from 'svelte/store'
|
||||
|
||||
export const servoAnglesOut: Writable<AnglesData> = writable(
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import { writable } from 'svelte/store'
|
||||
import {
|
||||
WebsocketMessage,
|
||||
Message,
|
||||
CorrelationRequest,
|
||||
CorrelationResponse,
|
||||
protoMetadata as websocket_md,
|
||||
protoMetadata,
|
||||
type MessageFns
|
||||
} from '$lib/platform_shared/websocket_message'
|
||||
import * as WebsocketMessages from '$lib/platform_shared/websocket_message'
|
||||
} from '$lib/platform_shared/message'
|
||||
import * as Messages from '$lib/platform_shared/message'
|
||||
|
||||
export const MESSAGE_TYPE_TO_KEY = new Map<MessageFns<unknown>, string>()
|
||||
export const MESSAGE_TYPE_TO_TAG = new Map<MessageFns<unknown>, number>()
|
||||
@@ -20,14 +20,14 @@ type PendingRequest = {
|
||||
timeoutId: ReturnType<typeof setTimeout>
|
||||
}
|
||||
|
||||
const websocketMessageType = websocket_md.fileDescriptor.messageType?.find(
|
||||
(msg: { name: string }) => msg.name === 'WebsocketMessage'
|
||||
const MessageType = protoMetadata.fileDescriptor.messageType?.find(
|
||||
(msg: { name: string }) => msg.name === 'Message'
|
||||
)
|
||||
|
||||
if (websocketMessageType?.field) {
|
||||
for (const field of websocketMessageType.field) {
|
||||
if (MessageType?.field) {
|
||||
for (const field of MessageType.field) {
|
||||
if (field.typeName) {
|
||||
const messageFns = websocket_md.references[field.typeName]
|
||||
const messageFns = protoMetadata.references[field.typeName]
|
||||
if (messageFns && field.jsonName && field.number) {
|
||||
MESSAGE_TYPE_TO_KEY.set(messageFns, field.jsonName)
|
||||
MESSAGE_TYPE_TO_TAG.set(messageFns, field.number)
|
||||
@@ -38,21 +38,21 @@ if (websocketMessageType?.field) {
|
||||
}
|
||||
}
|
||||
|
||||
function get_name_from_messagetype<T>(event_type: MessageFns<T>): string {
|
||||
function getNameFromMessageType<T>(event_type: MessageFns<T>): string {
|
||||
const event = MESSAGE_TYPE_TO_KEY.get(event_type as MessageFns<unknown>)
|
||||
if (!event) {
|
||||
throw new Error(
|
||||
"Event type not found in 'WebsocketMessage'. The MessageFns you passed doesn't correspond to any WebsocketMessage field."
|
||||
"Event type not found in 'Message'. The MessageFns you passed doesn't correspond to any Message field."
|
||||
)
|
||||
}
|
||||
return event
|
||||
}
|
||||
|
||||
function get_tag_from_messagetype<T>(event_type: MessageFns<T>): number {
|
||||
function getTagFromMessageType<T>(event_type: MessageFns<T>): number {
|
||||
const fieldNumber = MESSAGE_TYPE_TO_TAG.get(event_type as MessageFns<unknown>)
|
||||
if (fieldNumber === undefined) {
|
||||
throw new Error(
|
||||
"Tag not found in 'WebsocketMessage'. The MessageFns you passed doesn't correspond to any WebsocketMessage field."
|
||||
"Tag not found in 'Message'. The MessageFns you passed doesn't correspond to any Message field."
|
||||
)
|
||||
}
|
||||
return fieldNumber
|
||||
@@ -60,10 +60,10 @@ function get_tag_from_messagetype<T>(event_type: MessageFns<T>): number {
|
||||
|
||||
type SocketEvent = 'open' | 'close' | 'error' | 'message' | 'unresponsive'
|
||||
|
||||
type TaggedSocketMessage = { tag: number; msg: WebsocketMessage }
|
||||
type TaggedMessage = { tag: number; msg: Message }
|
||||
|
||||
export const decodeMessage = (data: ArrayBuffer): TaggedSocketMessage => {
|
||||
const decoded = WebsocketMessage.decode(new Uint8Array(data))
|
||||
export const decodeMessage = (data: ArrayBuffer): TaggedMessage => {
|
||||
const decoded = Message.decode(new Uint8Array(data))
|
||||
const values = Object.entries(decoded).filter(([, value]) => value !== undefined)
|
||||
if (values.length != 1) {
|
||||
throw new Error('Message included either 0 or more than 1 data point')
|
||||
@@ -76,8 +76,8 @@ export const decodeMessage = (data: ArrayBuffer): TaggedSocketMessage => {
|
||||
return { tag: tag, msg: decoded }
|
||||
}
|
||||
|
||||
export const encodeMessage = (data: WebsocketMessage): Uint8Array<ArrayBuffer> => {
|
||||
const encoded = WebsocketMessage.encode(data).finish()
|
||||
export const encodeMessage = (data: Message): Uint8Array<ArrayBuffer> => {
|
||||
const encoded = Message.encode(data).finish()
|
||||
return encoded
|
||||
}
|
||||
|
||||
@@ -158,7 +158,7 @@ function createWebSocket() {
|
||||
}
|
||||
|
||||
function unsubscribe<MT>(event_type: MessageFns<MT>, listener: (data: MT) => void) {
|
||||
const tag = get_tag_from_messagetype(event_type)
|
||||
const tag = getTagFromMessageType(event_type)
|
||||
const message_listeners_totag = message_listeners.get(tag)
|
||||
if (!message_listeners_totag) return
|
||||
|
||||
@@ -182,43 +182,43 @@ function createWebSocket() {
|
||||
|
||||
function sendEvent<T>(event: MessageFns<T>, data: T) {
|
||||
if (!ws || ws.readyState !== WebSocket.OPEN) return
|
||||
const type = get_name_from_messagetype(event)
|
||||
const wsm = WebsocketMessage.create() as Record<string, unknown>
|
||||
const type = getNameFromMessageType(event)
|
||||
const wsm = Message.create() as Record<string, unknown>
|
||||
wsm[type] = data
|
||||
send(wsm as WebsocketMessage)
|
||||
send(wsm as Message)
|
||||
}
|
||||
|
||||
function unsubscribeToMessageFromServer<T>(event_type: MessageFns<T>) {
|
||||
if (!ws || ws.readyState !== WebSocket.OPEN) return
|
||||
const unsub_msg = WebsocketMessages.UnsubscribeNotification.create({
|
||||
tag: get_tag_from_messagetype(event_type)
|
||||
const unsub_msg = Messages.UnsubscribeNotification.create({
|
||||
tag: getTagFromMessageType(event_type)
|
||||
})
|
||||
send(WebsocketMessage.create({ unsubNotif: unsub_msg }))
|
||||
send(Message.create({ unsubNotif: unsub_msg }))
|
||||
}
|
||||
|
||||
function subscribeToEvent<T>(event_type: MessageFns<T>) {
|
||||
if (!ws || ws.readyState !== WebSocket.OPEN) return
|
||||
const sub_msg = WebsocketMessages.SubscribeNotification.create({
|
||||
tag: get_tag_from_messagetype(event_type)
|
||||
const sub_msg = Messages.SubscribeNotification.create({
|
||||
tag: getTagFromMessageType(event_type)
|
||||
})
|
||||
send(WebsocketMessage.create({ subNotif: sub_msg }))
|
||||
send(Message.create({ subNotif: sub_msg }))
|
||||
}
|
||||
|
||||
function resubscribeAll() {
|
||||
for (const tag of message_listeners.keys()) {
|
||||
const sub_msg = WebsocketMessages.SubscribeNotification.create({ tag })
|
||||
send(WebsocketMessage.create({ subNotif: sub_msg }))
|
||||
const sub_msg = Messages.SubscribeNotification.create({ tag })
|
||||
send(Message.create({ subNotif: sub_msg }))
|
||||
}
|
||||
}
|
||||
|
||||
function send(data: WebsocketMessage) {
|
||||
function send(data: Message) {
|
||||
if (!ws || ws.readyState !== WebSocket.OPEN) return
|
||||
const encoded = encodeMessage(data)
|
||||
ws.send(encoded)
|
||||
}
|
||||
|
||||
function ping() {
|
||||
send(WebsocketMessage.create({ pingmsg: {} }))
|
||||
send(Message.create({ pingmsg: {} }))
|
||||
}
|
||||
|
||||
function sendRequest(
|
||||
@@ -235,7 +235,7 @@ function createWebSocket() {
|
||||
pending_requests.set(correlationId, { resolve, reject, timeoutId })
|
||||
|
||||
const request = CorrelationRequest.create({ correlationId, ...data })
|
||||
send(WebsocketMessage.create({ correlationRequest: request }))
|
||||
send(Message.create({ correlationRequest: request }))
|
||||
}
|
||||
|
||||
function flushQueuedRequests() {
|
||||
@@ -250,7 +250,7 @@ function createWebSocket() {
|
||||
sendEvent,
|
||||
init,
|
||||
on: <MT>(event_type: MessageFns<MT>, listener: (data: MT) => void): (() => void) => {
|
||||
const tag = get_tag_from_messagetype(event_type)
|
||||
const tag = getTagFromMessageType(event_type)
|
||||
|
||||
let message_listeners_totag = message_listeners.get(tag)
|
||||
if (!message_listeners_totag) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { DownloadOTAData, RSSIData } from '$lib/platform_shared/websocket_message'
|
||||
import { DownloadOTAData, RSSIData } from '$lib/platform_shared/message'
|
||||
import { writable } from 'svelte/store'
|
||||
|
||||
type telemetry_data_type = {
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
RSSIData,
|
||||
SonarData,
|
||||
WalkGaitData
|
||||
} from '$lib/platform_shared/websocket_message'
|
||||
} from '$lib/platform_shared/message'
|
||||
import { Throttler } from '$lib/utilities'
|
||||
|
||||
interface Props {
|
||||
@@ -82,7 +82,7 @@
|
||||
servoAngles.set(data)
|
||||
}),
|
||||
socket.on(PingMsg, data => {
|
||||
console.log("Ping received!")
|
||||
console.log('Ping received!')
|
||||
})
|
||||
]
|
||||
)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import { onMount } from 'svelte'
|
||||
import { mpu, socket } from '$lib/stores'
|
||||
import { imu } from '$lib/stores/imu'
|
||||
import { IMUData } from '$lib/platform_shared/websocket_message'
|
||||
import { IMUData } from '$lib/platform_shared/message'
|
||||
|
||||
let layout = $derived($views.find(v => v.name === $selectedView)!)
|
||||
|
||||
|
||||
@@ -14,12 +14,7 @@
|
||||
import { VerticalSlider } from '$lib/components/input'
|
||||
import { gamepadAxes, gamepadButtonsEdges, hasGamepad } from '$lib/stores/gamepad'
|
||||
import { notifications } from '$lib/components/toasts/notifications'
|
||||
import {
|
||||
ModeData,
|
||||
ModesEnum,
|
||||
WalkGaitData,
|
||||
WalkGaits
|
||||
} from '$lib/platform_shared/websocket_message'
|
||||
import { ModeData, ModesEnum, WalkGaitData, WalkGaits } from '$lib/platform_shared/message'
|
||||
|
||||
let left: nipplejs.JoystickManager
|
||||
let right: nipplejs.JoystickManager
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
import { socket } from '$lib/stores'
|
||||
import { Connection } from '$lib/components/icons'
|
||||
import I2CSetting from './i2cSetting.svelte'
|
||||
import type { I2CDevice } from '$lib/platform_shared/websocket_message'
|
||||
import type { I2CDevice } from '$lib/platform_shared/message'
|
||||
|
||||
let active_devices: I2CDevice[] = $state([])
|
||||
let isLoading = $state(false)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
import {
|
||||
PeripheralSettingsData,
|
||||
PeripheralSettingsDataRequest
|
||||
} from '$lib/platform_shared/websocket_message'
|
||||
} from '$lib/platform_shared/message'
|
||||
|
||||
let settings: PeripheralSettingsData | null = $state(null)
|
||||
let isEditing = $state(false)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
import { useFeatureFlags } from '$lib/stores/featureFlags'
|
||||
import { Rotate3d } from '$lib/components/icons'
|
||||
|
||||
import { type IMUCalibrateData, IMUData } from '$lib/platform_shared/websocket_message'
|
||||
import { type IMUCalibrateData, IMUData } from '$lib/platform_shared/message'
|
||||
|
||||
Chart.register(...registerables)
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script lang="ts">
|
||||
import { ServoPWMData, ServoStateData } from '$lib/platform_shared/websocket_message'
|
||||
import { ServoPWMData, ServoStateData } from '$lib/platform_shared/message'
|
||||
import { socket } from '$lib/stores'
|
||||
import { Throttler } from '$lib/utilities'
|
||||
|
||||
|
||||
@@ -3,7 +3,13 @@
|
||||
import { socket } from '$lib/stores'
|
||||
|
||||
//import { IMUReport, IMUType } from '$lib/platform_shared/example';
|
||||
import { AnglesData, WebsocketMessage, IMUData, CorrelationRequest, CorrelationResponse } from '$lib/platform_shared/websocket_message'
|
||||
import {
|
||||
AnglesData,
|
||||
Message,
|
||||
IMUData,
|
||||
CorrelationRequest,
|
||||
CorrelationResponse
|
||||
} from '$lib/platform_shared/message'
|
||||
|
||||
// const imu_report: IMUReport = {type: IMUType.IMU_ACCEL, xVal: 4}
|
||||
// const writer = IMUReport.encode(imu_report);
|
||||
@@ -13,20 +19,20 @@
|
||||
// .map((b) => b.toString(16).padStart(2, '0'))
|
||||
// .join(' ');
|
||||
|
||||
// const wmd: WebsocketMessage = { imu: {temp: 0, x: 0, y: 0, z: 1}, angles: {angles: [2]}}
|
||||
// const wmd: WebsocketMessage = { imu: {temp: 0, x: 0, y: 0, z: 0} }
|
||||
// const wmd: WebsocketMessage = { rssi: { rssi: 16 } }
|
||||
// const wmd: WebsocketMessage = { imu: {temp: 1, x: 2, y: 4, z: 5} }
|
||||
// const wmd: WebsocketMessage = { angles: {angles: [1,2,3,4]} }
|
||||
const wmd: WebsocketMessage = { pongmsg: {} }
|
||||
const writer = WebsocketMessage.encode(wmd)
|
||||
// const wmd: Message = { imu: {temp: 0, x: 0, y: 0, z: 1}, angles: {angles: [2]}}
|
||||
// const wmd: Message = { imu: {temp: 0, x: 0, y: 0, z: 0} }
|
||||
// const wmd: Message = { rssi: { rssi: 16 } }
|
||||
// const wmd: Message = { imu: {temp: 1, x: 2, y: 4, z: 5} }
|
||||
// const wmd: Message = { angles: {angles: [1,2,3,4]} }
|
||||
const wmd: Message = { pongmsg: {} }
|
||||
const writer = Message.encode(wmd)
|
||||
const bytes = writer.finish()
|
||||
// Convert bytes to hex
|
||||
const hex = Array.from(bytes)
|
||||
.map(b => b.toString(16).padStart(2, '0'))
|
||||
.join(' ')
|
||||
|
||||
// const decodedmsg: WebsocketMessage = WebsocketMessage.decode(bytes);
|
||||
// const decodedmsg: Message = Message.decode(bytes);
|
||||
// const objects = Object.entries(decodedmsg)
|
||||
|
||||
// console.log(Object.keys(AnglesData.create())[0] )
|
||||
@@ -48,11 +54,17 @@
|
||||
// console.log(data)
|
||||
}
|
||||
onMount(() => {
|
||||
socket.on(CorrelationResponse, (data) => {
|
||||
socket.on(CorrelationResponse, data => {
|
||||
console.log(data)
|
||||
})
|
||||
socket.onEvent('open', () => {
|
||||
socket.sendEvent(CorrelationRequest, CorrelationRequest.create({correlationId: 69, featuresDataRequest: { sonarTest: true }}))
|
||||
socket.sendEvent(
|
||||
CorrelationRequest,
|
||||
CorrelationRequest.create({
|
||||
correlationId: 69,
|
||||
featuresDataRequest: { sonarTest: true }
|
||||
})
|
||||
)
|
||||
})
|
||||
|
||||
return socket.on(IMUData, handleData)
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
} from '$lib/components/icons'
|
||||
import StatusItem from '$lib/components/StatusItem.svelte'
|
||||
import ActionButton from './ActionButton.svelte'
|
||||
import { AnalyticsData, type SystemInformation } from '$lib/platform_shared/websocket_message'
|
||||
import { AnalyticsData, type SystemInformation } from '$lib/platform_shared/message'
|
||||
|
||||
const features = useFeatureFlags()
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
Edit
|
||||
} from '$lib/components/icons'
|
||||
import StatusItem from '$lib/components/StatusItem.svelte'
|
||||
import { KnownNetworkItem } from '$lib/platform_shared/websocket_message'
|
||||
import { KnownNetworkItem } from '$lib/platform_shared/message'
|
||||
import { WifiSettings, type WifiStatus } from '$lib/platform_shared/rest_message'
|
||||
|
||||
let networkEditable: KnownNetworkItem = $state(KnownNetworkItem.create())
|
||||
|
||||
Reference in New Issue
Block a user