diff --git a/app/package.json b/app/package.json index fc2f348..c39532f 100644 --- a/app/package.json +++ b/app/package.json @@ -15,7 +15,7 @@ "format": "prettier --write .", "test:integration": "playwright test", "test:unit": "vitest", - "proto": "protoc --plugin=protoc-gen-ts_proto=.\\node_modules\\.bin\\protoc-gen-ts_proto.cmd --ts_proto_out=./src/lib/platform_shared --ts_proto_opt=outputTypeAnnotations=true,useExactTypes=false,outputExtensions=true,outputTypeRegistry=true -I ../platform_shared ../platform_shared/websocket_message.proto ../platform_shared/rest_message.proto" + "proto": "protoc --plugin=protoc-gen-ts_proto=.\\node_modules\\.bin\\protoc-gen-ts_proto.cmd --ts_proto_out=./src/lib/platform_shared --ts_proto_opt=outputTypeAnnotations=true,useExactTypes=false,outputExtensions=true,outputTypeRegistry=true,outputSchema=true -I ../platform_shared ../platform_shared/websocket_message.proto ../platform_shared/rest_message.proto" }, "devDependencies": { "@eslint/js": "^9.39.2", diff --git a/app/src/lib/platform_shared/rest_message.ts b/app/src/lib/platform_shared/rest_message.ts index 65188a4..59a3a31 100644 --- a/app/src/lib/platform_shared/rest_message.ts +++ b/app/src/lib/platform_shared/rest_message.ts @@ -6,13 +6,12 @@ /* eslint-disable */ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import { messageTypeRegistry } from "./typeRegistry"; -import { KnownNetworkItem } from "./websocket_message"; +import type { FileDescriptorProto } from "ts-proto-descriptors"; +import { KnownNetworkItem, protoMetadata as protoMetadata1 } from "./websocket_message"; export const protobufPackage = "rest_message"; export interface WifiStatus { - $type: "rest_message.WifiStatus"; status: number; localIp: string; macAddress: string; @@ -27,7 +26,6 @@ export interface WifiStatus { } export interface WifiSettings { - $type: "rest_message.WifiSettings"; hostname: string; priorityRssi: boolean; wifiNetworks: KnownNetworkItem[]; @@ -35,7 +33,6 @@ export interface WifiSettings { function createBaseWifiStatus(): WifiStatus { return { - $type: "rest_message.WifiStatus", status: 0, localIp: "", macAddress: "", @@ -50,9 +47,7 @@ function createBaseWifiStatus(): WifiStatus { }; } -export const WifiStatus: MessageFns = { - $type: "rest_message.WifiStatus" as const, - +export const WifiStatus: MessageFns = { encode(message: WifiStatus, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.status !== 0) { writer.uint32(8).int32(message.status); @@ -196,7 +191,6 @@ export const WifiStatus: MessageFns = { fromJSON(object: any): WifiStatus { return { - $type: WifiStatus.$type, status: isSet(object.status) ? globalThis.Number(object.status) : 0, localIp: isSet(object.localIp) ? globalThis.String(object.localIp) : "", macAddress: isSet(object.macAddress) ? globalThis.String(object.macAddress) : "", @@ -249,10 +243,10 @@ export const WifiStatus: MessageFns = { return obj; }, - create(base?: DeepPartial): WifiStatus { - return WifiStatus.fromPartial(base ?? {}); + create, I>>(base?: I): WifiStatus { + return WifiStatus.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): WifiStatus { + fromPartial, I>>(object: I): WifiStatus { const message = createBaseWifiStatus(); message.status = object.status ?? 0; message.localIp = object.localIp ?? ""; @@ -269,15 +263,11 @@ export const WifiStatus: MessageFns = { }, }; -messageTypeRegistry.set(WifiStatus.$type, WifiStatus); - function createBaseWifiSettings(): WifiSettings { - return { $type: "rest_message.WifiSettings", hostname: "", priorityRssi: false, wifiNetworks: [] }; + return { hostname: "", priorityRssi: false, wifiNetworks: [] }; } -export const WifiSettings: MessageFns = { - $type: "rest_message.WifiSettings" as const, - +export const WifiSettings: MessageFns = { encode(message: WifiSettings, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.hostname !== "") { writer.uint32(10).string(message.hostname); @@ -333,7 +323,6 @@ export const WifiSettings: MessageFns fromJSON(object: any): WifiSettings { return { - $type: WifiSettings.$type, hostname: isSet(object.hostname) ? globalThis.String(object.hostname) : "", priorityRssi: isSet(object.priorityRssi) ? globalThis.Boolean(object.priorityRssi) : false, wifiNetworks: globalThis.Array.isArray(object?.wifiNetworks) @@ -356,10 +345,10 @@ export const WifiSettings: MessageFns return obj; }, - create(base?: DeepPartial): WifiSettings { - return WifiSettings.fromPartial(base ?? {}); + create, I>>(base?: I): WifiSettings { + return WifiSettings.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): WifiSettings { + fromPartial, I>>(object: I): WifiSettings { const message = createBaseWifiSettings(); message.hostname = object.hostname ?? ""; message.priorityRssi = object.priorityRssi ?? false; @@ -368,26 +357,270 @@ export const WifiSettings: MessageFns }, }; -messageTypeRegistry.set(WifiSettings.$type, WifiSettings); +type ProtoMetaMessageOptions = { + options?: { [key: string]: any }; + fields?: { [key: string]: { [key: string]: any } }; + oneof?: { [key: string]: { [key: string]: any } }; + nested?: { [key: string]: ProtoMetaMessageOptions }; +}; + +export interface ProtoMetadata { + fileDescriptor: FileDescriptorProto; + references: { [key: string]: any }; + dependencies?: ProtoMetadata[]; + options?: { + options?: { [key: string]: any }; + services?: { + [key: string]: { options?: { [key: string]: any }; methods?: { [key: string]: { [key: string]: any } } }; + }; + messages?: { [key: string]: ProtoMetaMessageOptions }; + enums?: { [key: string]: { options?: { [key: string]: any }; values?: { [key: string]: { [key: string]: any } } } }; + }; +} + +export const protoMetadata: ProtoMetadata = { + fileDescriptor: { + "name": "rest_message.proto", + "package": "rest_message", + "dependency": ["websocket_message.proto"], + "publicDependency": [], + "weakDependency": [], + "optionDependency": [], + "messageType": [{ + "name": "WifiStatus", + "field": [{ + "name": "status", + "number": 1, + "label": 1, + "type": 5, + "typeName": "", + "extendee": "", + "defaultValue": "", + "oneofIndex": 0, + "jsonName": "status", + "options": undefined, + "proto3Optional": false, + }, { + "name": "local_ip", + "number": 2, + "label": 1, + "type": 9, + "typeName": "", + "extendee": "", + "defaultValue": "", + "oneofIndex": 0, + "jsonName": "localIp", + "options": undefined, + "proto3Optional": false, + }, { + "name": "mac_address", + "number": 3, + "label": 1, + "type": 9, + "typeName": "", + "extendee": "", + "defaultValue": "", + "oneofIndex": 0, + "jsonName": "macAddress", + "options": undefined, + "proto3Optional": false, + }, { + "name": "rssi", + "number": 4, + "label": 1, + "type": 2, + "typeName": "", + "extendee": "", + "defaultValue": "", + "oneofIndex": 0, + "jsonName": "rssi", + "options": undefined, + "proto3Optional": false, + }, { + "name": "ssid", + "number": 5, + "label": 1, + "type": 9, + "typeName": "", + "extendee": "", + "defaultValue": "", + "oneofIndex": 0, + "jsonName": "ssid", + "options": undefined, + "proto3Optional": false, + }, { + "name": "bssid", + "number": 6, + "label": 1, + "type": 9, + "typeName": "", + "extendee": "", + "defaultValue": "", + "oneofIndex": 0, + "jsonName": "bssid", + "options": undefined, + "proto3Optional": false, + }, { + "name": "channel", + "number": 7, + "label": 1, + "type": 13, + "typeName": "", + "extendee": "", + "defaultValue": "", + "oneofIndex": 0, + "jsonName": "channel", + "options": undefined, + "proto3Optional": false, + }, { + "name": "subnet_mask", + "number": 8, + "label": 1, + "type": 9, + "typeName": "", + "extendee": "", + "defaultValue": "", + "oneofIndex": 0, + "jsonName": "subnetMask", + "options": undefined, + "proto3Optional": false, + }, { + "name": "gateway_ip", + "number": 9, + "label": 1, + "type": 9, + "typeName": "", + "extendee": "", + "defaultValue": "", + "oneofIndex": 0, + "jsonName": "gatewayIp", + "options": undefined, + "proto3Optional": false, + }, { + "name": "dns_ip_1", + "number": 10, + "label": 1, + "type": 9, + "typeName": "", + "extendee": "", + "defaultValue": "", + "oneofIndex": 0, + "jsonName": "dnsIp1", + "options": undefined, + "proto3Optional": false, + }, { + "name": "dns_ip_2", + "number": 11, + "label": 1, + "type": 9, + "typeName": "", + "extendee": "", + "defaultValue": "", + "oneofIndex": 0, + "jsonName": "dnsIp2", + "options": undefined, + "proto3Optional": true, + }], + "extension": [], + "nestedType": [], + "enumType": [], + "extensionRange": [], + "oneofDecl": [{ "name": "_dns_ip_2", "options": undefined }], + "options": undefined, + "reservedRange": [], + "reservedName": [], + "visibility": 0, + }, { + "name": "WifiSettings", + "field": [{ + "name": "hostname", + "number": 1, + "label": 1, + "type": 9, + "typeName": "", + "extendee": "", + "defaultValue": "", + "oneofIndex": 0, + "jsonName": "hostname", + "options": undefined, + "proto3Optional": false, + }, { + "name": "priority_rssi", + "number": 2, + "label": 1, + "type": 8, + "typeName": "", + "extendee": "", + "defaultValue": "", + "oneofIndex": 0, + "jsonName": "priorityRssi", + "options": undefined, + "proto3Optional": false, + }, { + "name": "wifi_networks", + "number": 3, + "label": 3, + "type": 11, + "typeName": ".socket_message.KnownNetworkItem", + "extendee": "", + "defaultValue": "", + "oneofIndex": 0, + "jsonName": "wifiNetworks", + "options": undefined, + "proto3Optional": false, + }], + "extension": [], + "nestedType": [], + "enumType": [], + "extensionRange": [], + "oneofDecl": [], + "options": undefined, + "reservedRange": [], + "reservedName": [], + "visibility": 0, + }], + "enumType": [], + "service": [], + "extension": [], + "options": undefined, + "sourceCodeInfo": { + "location": [{ + "path": [2], + "span": [5, 0, 21], + "leadingComments": + ' Note: This is most likely a "temporary" proto that will be redone, as these endpoints are static for the esp32, which means we are forced to use WiFi for communication\n', + "trailingComments": "", + "leadingDetachedComments": [], + }], + }, + "syntax": "proto3", + "edition": 0, + }, + references: { ".rest_message.WifiStatus": WifiStatus, ".rest_message.WifiSettings": WifiSettings }, + dependencies: [protoMetadata1], +}; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends globalThis.Array ? globalThis.Array> : T extends ReadonlyArray ? ReadonlyArray> - : T extends {} ? { [K in Exclude]?: DeepPartial } + : T extends {} ? { [K in keyof T]?: DeepPartial } : Partial; +type KeysOfUnion = T extends T ? keyof T : never; +export type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + function isSet(value: any): boolean { return value !== null && value !== undefined; } -export interface MessageFns { - readonly $type: V; +export interface MessageFns { encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; - create(base?: DeepPartial): T; - fromPartial(object: DeepPartial): T; + create, I>>(base?: I): T; + fromPartial, I>>(object: I): T; } diff --git a/app/src/lib/platform_shared/websocket_message.ts b/app/src/lib/platform_shared/websocket_message.ts index d1241cc..3a7581a 100644 --- a/app/src/lib/platform_shared/websocket_message.ts +++ b/app/src/lib/platform_shared/websocket_message.ts @@ -6,7 +6,7 @@ /* eslint-disable */ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import { messageTypeRegistry } from "./typeRegistry"; +import type { FileDescriptorProto } from "ts-proto-descriptors"; export const protobufPackage = "socket_message"; @@ -101,20 +101,17 @@ export function walkGaitsToJSON(object: WalkGaits): string { } export interface Vector { - $type: "socket_message.Vector"; x: number; y: number; } export interface I2CDevice { - $type: "socket_message.I2CDevice"; address: number; partNumber: string; name: string; } export interface PinConfig { - $type: "socket_message.PinConfig"; pin: number; mode: string; type: string; @@ -122,7 +119,6 @@ export interface PinConfig { } export interface KnownNetworkItem { - $type: "socket_message.KnownNetworkItem"; ssid: string; password: string; staticIp: boolean; @@ -135,7 +131,6 @@ export interface KnownNetworkItem { /** Individual message data types */ export interface IMUData { - $type: "socket_message.IMUData"; x: number; y: number; z: number; @@ -146,7 +141,6 @@ export interface IMUData { } export interface FeaturesDataResponse { - $type: "socket_message.FeaturesDataResponse"; variant: string; firmwareBuiltTarget: string; firmwareName: string; @@ -163,12 +157,10 @@ export interface FeaturesDataResponse { } export interface FeaturesDataRequest { - $type: "socket_message.FeaturesDataRequest"; sonarTest: boolean; } export interface CorrelationRequest { - $type: "socket_message.CorrelationRequest"; correlationId: number; featuresDataRequest?: FeaturesDataRequest | undefined; i2cScanDataRequest?: I2CScanDataRequest | undefined; @@ -176,7 +168,6 @@ export interface CorrelationRequest { } export interface CorrelationResponse { - $type: "socket_message.CorrelationResponse"; correlationId: number; statusCode: number; featuresDataResponse?: FeaturesDataResponse | undefined; @@ -185,7 +176,6 @@ export interface CorrelationResponse { } export interface StaticSystemInformation { - $type: "socket_message.StaticSystemInformation"; espPlatform: string; firmwareVersion: string; cpuFreqMhz: number; @@ -202,21 +192,17 @@ export interface StaticSystemInformation { } export interface IMUCalibrateData { - $type: "socket_message.IMUCalibrateData"; success: boolean; } export interface IMUCalibrateExecute { - $type: "socket_message.IMUCalibrateExecute"; } export interface ModeData { - $type: "socket_message.ModeData"; mode: ModesEnum; } export interface ControllerInputData { - $type: "socket_message.ControllerInputData"; left: Vector | undefined; right: Vector | undefined; height: number; @@ -225,7 +211,6 @@ export interface ControllerInputData { } export interface AnalyticsData { - $type: "socket_message.AnalyticsData"; maxAllocHeap: number; psramSize: number; freePsram: number; @@ -242,32 +227,26 @@ export interface AnalyticsData { } export interface ServoPWMData { - $type: "socket_message.ServoPWMData"; servoId: number; servoPwm: number; } export interface ServoStateData { - $type: "socket_message.ServoStateData"; active: boolean; } export interface AnglesData { - $type: "socket_message.AnglesData"; angles: number[]; } export interface I2CScanData { - $type: "socket_message.I2CScanData"; devices: I2CDevice[]; } export interface I2CScanDataRequest { - $type: "socket_message.I2CScanDataRequest"; } export interface PeripheralSettingsData { - $type: "socket_message.PeripheralSettingsData"; sda: number; scl: number; frequency: number; @@ -275,35 +254,29 @@ export interface PeripheralSettingsData { } export interface PeripheralSettingsDataRequest { - $type: "socket_message.PeripheralSettingsDataRequest"; } export interface WifiSettingsData { - $type: "socket_message.WifiSettingsData"; hostname: string; priorityRssi: boolean; wifiNetworks: KnownNetworkItem[]; } export interface RSSIData { - $type: "socket_message.RSSIData"; rssi: number; } export interface DownloadOTAData { - $type: "socket_message.DownloadOTAData"; status: string; progress: number; error: string; } export interface SonarData { - $type: "socket_message.SonarData"; dummyField: string; } export interface HumanInputData { - $type: "socket_message.HumanInputData"; left: Vector | undefined; right: Vector | undefined; height: number; @@ -312,18 +285,15 @@ export interface HumanInputData { } export interface SystemInformation { - $type: "socket_message.SystemInformation"; analyticsData: AnalyticsData | undefined; staticSystemInformation: StaticSystemInformation | undefined; } export interface WalkGaitData { - $type: "socket_message.WalkGaitData"; gait: WalkGaits; } export interface KinematicData { - $type: "socket_message.KinematicData"; omega: number; phi: number; psi: number; @@ -333,21 +303,17 @@ export interface KinematicData { } export interface SubscribeNotification { - $type: "socket_message.SubscribeNotification"; tag: number; } export interface UnsubscribeNotification { - $type: "socket_message.UnsubscribeNotification"; tag: number; } export interface PingMsg { - $type: "socket_message.PingMsg"; } export interface PongMsg { - $type: "socket_message.PongMsg"; } /** @@ -355,7 +321,6 @@ export interface PongMsg { * Only ONE field will be set at a time (oneof ensures this) */ export interface WebsocketMessage { - $type: "socket_message.WebsocketMessage"; correlationRequest?: CorrelationRequest | undefined; correlationResponse?: CorrelationResponse | undefined; subNotif?: SubscribeNotification | undefined; @@ -383,12 +348,10 @@ export interface WebsocketMessage { } function createBaseVector(): Vector { - return { $type: "socket_message.Vector", x: 0, y: 0 }; + return { x: 0, y: 0 }; } -export const Vector: MessageFns = { - $type: "socket_message.Vector" as const, - +export const Vector: MessageFns = { encode(message: Vector, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.x !== 0) { writer.uint32(13).float(message.x); @@ -433,7 +396,6 @@ export const Vector: MessageFns = { fromJSON(object: any): Vector { return { - $type: Vector.$type, x: isSet(object.x) ? globalThis.Number(object.x) : 0, y: isSet(object.y) ? globalThis.Number(object.y) : 0, }; @@ -450,10 +412,10 @@ export const Vector: MessageFns = { return obj; }, - create(base?: DeepPartial): Vector { - return Vector.fromPartial(base ?? {}); + create, I>>(base?: I): Vector { + return Vector.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): Vector { + fromPartial, I>>(object: I): Vector { const message = createBaseVector(); message.x = object.x ?? 0; message.y = object.y ?? 0; @@ -461,15 +423,11 @@ export const Vector: MessageFns = { }, }; -messageTypeRegistry.set(Vector.$type, Vector); - function createBaseI2CDevice(): I2CDevice { - return { $type: "socket_message.I2CDevice", address: 0, partNumber: "", name: "" }; + return { address: 0, partNumber: "", name: "" }; } -export const I2CDevice: MessageFns = { - $type: "socket_message.I2CDevice" as const, - +export const I2CDevice: MessageFns = { encode(message: I2CDevice, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.address !== 0) { writer.uint32(8).int32(message.address); @@ -525,7 +483,6 @@ export const I2CDevice: MessageFns = { fromJSON(object: any): I2CDevice { return { - $type: I2CDevice.$type, address: isSet(object.address) ? globalThis.Number(object.address) : 0, partNumber: isSet(object.partNumber) ? globalThis.String(object.partNumber) : "", name: isSet(object.name) ? globalThis.String(object.name) : "", @@ -546,10 +503,10 @@ export const I2CDevice: MessageFns = { return obj; }, - create(base?: DeepPartial): I2CDevice { - return I2CDevice.fromPartial(base ?? {}); + create, I>>(base?: I): I2CDevice { + return I2CDevice.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): I2CDevice { + fromPartial, I>>(object: I): I2CDevice { const message = createBaseI2CDevice(); message.address = object.address ?? 0; message.partNumber = object.partNumber ?? ""; @@ -558,15 +515,11 @@ export const I2CDevice: MessageFns = { }, }; -messageTypeRegistry.set(I2CDevice.$type, I2CDevice); - function createBasePinConfig(): PinConfig { - return { $type: "socket_message.PinConfig", pin: 0, mode: "", type: "", role: "" }; + return { pin: 0, mode: "", type: "", role: "" }; } -export const PinConfig: MessageFns = { - $type: "socket_message.PinConfig" as const, - +export const PinConfig: MessageFns = { encode(message: PinConfig, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.pin !== 0) { writer.uint32(8).int32(message.pin); @@ -633,7 +586,6 @@ export const PinConfig: MessageFns = { fromJSON(object: any): PinConfig { return { - $type: PinConfig.$type, pin: isSet(object.pin) ? globalThis.Number(object.pin) : 0, mode: isSet(object.mode) ? globalThis.String(object.mode) : "", type: isSet(object.type) ? globalThis.String(object.type) : "", @@ -658,10 +610,10 @@ export const PinConfig: MessageFns = { return obj; }, - create(base?: DeepPartial): PinConfig { - return PinConfig.fromPartial(base ?? {}); + create, I>>(base?: I): PinConfig { + return PinConfig.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): PinConfig { + fromPartial, I>>(object: I): PinConfig { const message = createBasePinConfig(); message.pin = object.pin ?? 0; message.mode = object.mode ?? ""; @@ -671,11 +623,8 @@ export const PinConfig: MessageFns = { }, }; -messageTypeRegistry.set(PinConfig.$type, PinConfig); - function createBaseKnownNetworkItem(): KnownNetworkItem { return { - $type: "socket_message.KnownNetworkItem", ssid: "", password: "", staticIp: false, @@ -687,9 +636,7 @@ function createBaseKnownNetworkItem(): KnownNetworkItem { }; } -export const KnownNetworkItem: MessageFns = { - $type: "socket_message.KnownNetworkItem" as const, - +export const KnownNetworkItem: MessageFns = { encode(message: KnownNetworkItem, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.ssid !== "") { writer.uint32(10).string(message.ssid); @@ -800,7 +747,6 @@ export const KnownNetworkItem: MessageFns): KnownNetworkItem { - return KnownNetworkItem.fromPartial(base ?? {}); + create, I>>(base?: I): KnownNetworkItem { + return KnownNetworkItem.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): KnownNetworkItem { + fromPartial, I>>(object: I): KnownNetworkItem { const message = createBaseKnownNetworkItem(); message.ssid = object.ssid ?? ""; message.password = object.password ?? ""; @@ -858,15 +804,11 @@ export const KnownNetworkItem: MessageFns = { - $type: "socket_message.IMUData" as const, - +export const IMUData: MessageFns = { encode(message: IMUData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.x !== 0) { writer.uint32(13).float(message.x); @@ -966,7 +908,6 @@ export const IMUData: MessageFns = { fromJSON(object: any): IMUData { return { - $type: IMUData.$type, x: isSet(object.x) ? globalThis.Number(object.x) : 0, y: isSet(object.y) ? globalThis.Number(object.y) : 0, z: isSet(object.z) ? globalThis.Number(object.z) : 0, @@ -1003,10 +944,10 @@ export const IMUData: MessageFns = { return obj; }, - create(base?: DeepPartial): IMUData { - return IMUData.fromPartial(base ?? {}); + create, I>>(base?: I): IMUData { + return IMUData.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): IMUData { + fromPartial, I>>(object: I): IMUData { const message = createBaseIMUData(); message.x = object.x ?? 0; message.y = object.y ?? 0; @@ -1019,11 +960,8 @@ export const IMUData: MessageFns = { }, }; -messageTypeRegistry.set(IMUData.$type, IMUData); - function createBaseFeaturesDataResponse(): FeaturesDataResponse { return { - $type: "socket_message.FeaturesDataResponse", variant: "", firmwareBuiltTarget: "", firmwareName: "", @@ -1040,9 +978,7 @@ function createBaseFeaturesDataResponse(): FeaturesDataResponse { }; } -export const FeaturesDataResponse: MessageFns = { - $type: "socket_message.FeaturesDataResponse" as const, - +export const FeaturesDataResponse: MessageFns = { encode(message: FeaturesDataResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.variant !== "") { writer.uint32(82).string(message.variant); @@ -1208,7 +1144,6 @@ export const FeaturesDataResponse: MessageFns): FeaturesDataResponse { - return FeaturesDataResponse.fromPartial(base ?? {}); + create, I>>(base?: I): FeaturesDataResponse { + return FeaturesDataResponse.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): FeaturesDataResponse { + fromPartial, I>>(object: I): FeaturesDataResponse { const message = createBaseFeaturesDataResponse(); message.variant = object.variant ?? ""; message.firmwareBuiltTarget = object.firmwareBuiltTarget ?? ""; @@ -1291,15 +1226,11 @@ export const FeaturesDataResponse: MessageFns = { - $type: "socket_message.FeaturesDataRequest" as const, - +export const FeaturesDataRequest: MessageFns = { encode(message: FeaturesDataRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.sonarTest !== false) { writer.uint32(8).bool(message.sonarTest); @@ -1332,10 +1263,7 @@ export const FeaturesDataRequest: MessageFns): FeaturesDataRequest { - return FeaturesDataRequest.fromPartial(base ?? {}); + create, I>>(base?: I): FeaturesDataRequest { + return FeaturesDataRequest.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): FeaturesDataRequest { + fromPartial, I>>(object: I): FeaturesDataRequest { const message = createBaseFeaturesDataRequest(); message.sonarTest = object.sonarTest ?? false; return message; }, }; -messageTypeRegistry.set(FeaturesDataRequest.$type, FeaturesDataRequest); - function createBaseCorrelationRequest(): CorrelationRequest { return { - $type: "socket_message.CorrelationRequest", correlationId: 0, featuresDataRequest: undefined, i2cScanDataRequest: undefined, @@ -1368,9 +1293,7 @@ function createBaseCorrelationRequest(): CorrelationRequest { }; } -export const CorrelationRequest: MessageFns = { - $type: "socket_message.CorrelationRequest" as const, - +export const CorrelationRequest: MessageFns = { encode(message: CorrelationRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.correlationId !== 0) { writer.uint32(8).uint32(message.correlationId); @@ -1437,7 +1360,6 @@ export const CorrelationRequest: MessageFns): CorrelationRequest { - return CorrelationRequest.fromPartial(base ?? {}); + create, I>>(base?: I): CorrelationRequest { + return CorrelationRequest.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): CorrelationRequest { + fromPartial, I>>(object: I): CorrelationRequest { const message = createBaseCorrelationRequest(); message.correlationId = object.correlationId ?? 0; message.featuresDataRequest = (object.featuresDataRequest !== undefined && object.featuresDataRequest !== null) @@ -1487,11 +1409,8 @@ export const CorrelationRequest: MessageFns = { - $type: "socket_message.CorrelationResponse" as const, - +export const CorrelationResponse: MessageFns = { encode(message: CorrelationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.correlationId !== 0) { writer.uint32(8).uint32(message.correlationId); @@ -1580,7 +1497,6 @@ export const CorrelationResponse: MessageFns): CorrelationResponse { - return CorrelationResponse.fromPartial(base ?? {}); + create, I>>(base?: I): CorrelationResponse { + return CorrelationResponse.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): CorrelationResponse { + fromPartial, I>>(object: I): CorrelationResponse { const message = createBaseCorrelationResponse(); message.correlationId = object.correlationId ?? 0; message.statusCode = object.statusCode ?? 0; @@ -1631,11 +1547,8 @@ export const CorrelationResponse: MessageFns = { - $type: "socket_message.StaticSystemInformation" as const, - +export const StaticSystemInformation: MessageFns = { encode(message: StaticSystemInformation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.espPlatform !== "") { writer.uint32(10).string(message.espPlatform); @@ -1820,7 +1731,6 @@ export const StaticSystemInformation: MessageFns): StaticSystemInformation { - return StaticSystemInformation.fromPartial(base ?? {}); + create, I>>(base?: I): StaticSystemInformation { + return StaticSystemInformation.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): StaticSystemInformation { + fromPartial, I>>(object: I): StaticSystemInformation { const message = createBaseStaticSystemInformation(); message.espPlatform = object.espPlatform ?? ""; message.firmwareVersion = object.firmwareVersion ?? ""; @@ -1903,15 +1813,11 @@ export const StaticSystemInformation: MessageFns = { - $type: "socket_message.IMUCalibrateData" as const, - +export const IMUCalibrateData: MessageFns = { encode(message: IMUCalibrateData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.success !== false) { writer.uint32(8).bool(message.success); @@ -1944,10 +1850,7 @@ export const IMUCalibrateData: MessageFns): IMUCalibrateData { - return IMUCalibrateData.fromPartial(base ?? {}); + create, I>>(base?: I): IMUCalibrateData { + return IMUCalibrateData.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): IMUCalibrateData { + fromPartial, I>>(object: I): IMUCalibrateData { const message = createBaseIMUCalibrateData(); message.success = object.success ?? false; return message; }, }; -messageTypeRegistry.set(IMUCalibrateData.$type, IMUCalibrateData); - function createBaseIMUCalibrateExecute(): IMUCalibrateExecute { - return { $type: "socket_message.IMUCalibrateExecute" }; + return {}; } -export const IMUCalibrateExecute: MessageFns = { - $type: "socket_message.IMUCalibrateExecute" as const, - +export const IMUCalibrateExecute: MessageFns = { encode(_: IMUCalibrateExecute, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { return writer; }, @@ -1998,7 +1897,7 @@ export const IMUCalibrateExecute: MessageFns): IMUCalibrateExecute { - return IMUCalibrateExecute.fromPartial(base ?? {}); + create, I>>(base?: I): IMUCalibrateExecute { + return IMUCalibrateExecute.fromPartial(base ?? ({} as any)); }, - fromPartial(_: DeepPartial): IMUCalibrateExecute { + fromPartial, I>>(_: I): IMUCalibrateExecute { const message = createBaseIMUCalibrateExecute(); return message; }, }; -messageTypeRegistry.set(IMUCalibrateExecute.$type, IMUCalibrateExecute); - function createBaseModeData(): ModeData { - return { $type: "socket_message.ModeData", mode: 0 }; + return { mode: 0 }; } -export const ModeData: MessageFns = { - $type: "socket_message.ModeData" as const, - +export const ModeData: MessageFns = { encode(message: ModeData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.mode !== 0) { writer.uint32(8).int32(message.mode); @@ -2056,7 +1951,7 @@ export const ModeData: MessageFns = { }, fromJSON(object: any): ModeData { - return { $type: ModeData.$type, mode: isSet(object.mode) ? modesEnumFromJSON(object.mode) : 0 }; + return { mode: isSet(object.mode) ? modesEnumFromJSON(object.mode) : 0 }; }, toJSON(message: ModeData): unknown { @@ -2067,25 +1962,21 @@ export const ModeData: MessageFns = { return obj; }, - create(base?: DeepPartial): ModeData { - return ModeData.fromPartial(base ?? {}); + create, I>>(base?: I): ModeData { + return ModeData.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): ModeData { + fromPartial, I>>(object: I): ModeData { const message = createBaseModeData(); message.mode = object.mode ?? 0; return message; }, }; -messageTypeRegistry.set(ModeData.$type, ModeData); - function createBaseControllerInputData(): ControllerInputData { - return { $type: "socket_message.ControllerInputData", left: undefined, right: undefined, height: 0, speed: 0, s1: 0 }; + return { left: undefined, right: undefined, height: 0, speed: 0, s1: 0 }; } -export const ControllerInputData: MessageFns = { - $type: "socket_message.ControllerInputData" as const, - +export const ControllerInputData: MessageFns = { encode(message: ControllerInputData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.left !== undefined) { Vector.encode(message.left, writer.uint32(10).fork()).join(); @@ -2163,7 +2054,6 @@ export const ControllerInputData: MessageFns): ControllerInputData { - return ControllerInputData.fromPartial(base ?? {}); + create, I>>(base?: I): ControllerInputData { + return ControllerInputData.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): ControllerInputData { + fromPartial, I>>(object: I): ControllerInputData { const message = createBaseControllerInputData(); message.left = (object.left !== undefined && object.left !== null) ? Vector.fromPartial(object.left) : undefined; message.right = (object.right !== undefined && object.right !== null) @@ -2208,11 +2098,8 @@ export const ControllerInputData: MessageFns = { - $type: "socket_message.AnalyticsData" as const, - +export const AnalyticsData: MessageFns = { encode(message: AnalyticsData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.maxAllocHeap !== 0) { writer.uint32(8).int32(message.maxAllocHeap); @@ -2397,7 +2282,6 @@ export const AnalyticsData: MessageFns): AnalyticsData { - return AnalyticsData.fromPartial(base ?? {}); + create, I>>(base?: I): AnalyticsData { + return AnalyticsData.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): AnalyticsData { + fromPartial, I>>(object: I): AnalyticsData { const message = createBaseAnalyticsData(); message.maxAllocHeap = object.maxAllocHeap ?? 0; message.psramSize = object.psramSize ?? 0; @@ -2480,15 +2364,11 @@ export const AnalyticsData: MessageFns = { - $type: "socket_message.ServoPWMData" as const, - +export const ServoPWMData: MessageFns = { encode(message: ServoPWMData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.servoId !== 0) { writer.uint32(8).int32(message.servoId); @@ -2533,7 +2413,6 @@ export const ServoPWMData: MessageFns): ServoPWMData { - return ServoPWMData.fromPartial(base ?? {}); + create, I>>(base?: I): ServoPWMData { + return ServoPWMData.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): ServoPWMData { + fromPartial, I>>(object: I): ServoPWMData { const message = createBaseServoPWMData(); message.servoId = object.servoId ?? 0; message.servoPwm = object.servoPwm ?? 0; @@ -2561,15 +2440,11 @@ export const ServoPWMData: MessageFns = { - $type: "socket_message.ServoStateData" as const, - +export const ServoStateData: MessageFns = { encode(message: ServoStateData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.active !== false) { writer.uint32(8).bool(message.active); @@ -2602,7 +2477,7 @@ export const ServoStateData: MessageFns): ServoStateData { - return ServoStateData.fromPartial(base ?? {}); + create, I>>(base?: I): ServoStateData { + return ServoStateData.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): ServoStateData { + fromPartial, I>>(object: I): ServoStateData { const message = createBaseServoStateData(); message.active = object.active ?? false; return message; }, }; -messageTypeRegistry.set(ServoStateData.$type, ServoStateData); - function createBaseAnglesData(): AnglesData { - return { $type: "socket_message.AnglesData", angles: [] }; + return { angles: [] }; } -export const AnglesData: MessageFns = { - $type: "socket_message.AnglesData" as const, - +export const AnglesData: MessageFns = { encode(message: AnglesData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { writer.uint32(10).fork(); for (const v of message.angles) { @@ -2677,7 +2548,6 @@ export const AnglesData: MessageFns = { fromJSON(object: any): AnglesData { return { - $type: AnglesData.$type, angles: globalThis.Array.isArray(object?.angles) ? object.angles.map((e: any) => globalThis.Number(e)) : [], }; }, @@ -2690,25 +2560,21 @@ export const AnglesData: MessageFns = { return obj; }, - create(base?: DeepPartial): AnglesData { - return AnglesData.fromPartial(base ?? {}); + create, I>>(base?: I): AnglesData { + return AnglesData.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): AnglesData { + fromPartial, I>>(object: I): AnglesData { const message = createBaseAnglesData(); message.angles = object.angles?.map((e) => e) || []; return message; }, }; -messageTypeRegistry.set(AnglesData.$type, AnglesData); - function createBaseI2CScanData(): I2CScanData { - return { $type: "socket_message.I2CScanData", devices: [] }; + return { devices: [] }; } -export const I2CScanData: MessageFns = { - $type: "socket_message.I2CScanData" as const, - +export const I2CScanData: MessageFns = { encode(message: I2CScanData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { for (const v of message.devices) { I2CDevice.encode(v!, writer.uint32(10).fork()).join(); @@ -2742,7 +2608,6 @@ export const I2CScanData: MessageFns fromJSON(object: any): I2CScanData { return { - $type: I2CScanData.$type, devices: globalThis.Array.isArray(object?.devices) ? object.devices.map((e: any) => I2CDevice.fromJSON(e)) : [], }; }, @@ -2755,25 +2620,21 @@ export const I2CScanData: MessageFns return obj; }, - create(base?: DeepPartial): I2CScanData { - return I2CScanData.fromPartial(base ?? {}); + create, I>>(base?: I): I2CScanData { + return I2CScanData.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): I2CScanData { + fromPartial, I>>(object: I): I2CScanData { const message = createBaseI2CScanData(); message.devices = object.devices?.map((e) => I2CDevice.fromPartial(e)) || []; return message; }, }; -messageTypeRegistry.set(I2CScanData.$type, I2CScanData); - function createBaseI2CScanDataRequest(): I2CScanDataRequest { - return { $type: "socket_message.I2CScanDataRequest" }; + return {}; } -export const I2CScanDataRequest: MessageFns = { - $type: "socket_message.I2CScanDataRequest" as const, - +export const I2CScanDataRequest: MessageFns = { encode(_: I2CScanDataRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { return writer; }, @@ -2795,7 +2656,7 @@ export const I2CScanDataRequest: MessageFns): I2CScanDataRequest { - return I2CScanDataRequest.fromPartial(base ?? {}); + create, I>>(base?: I): I2CScanDataRequest { + return I2CScanDataRequest.fromPartial(base ?? ({} as any)); }, - fromPartial(_: DeepPartial): I2CScanDataRequest { + fromPartial, I>>(_: I): I2CScanDataRequest { const message = createBaseI2CScanDataRequest(); return message; }, }; -messageTypeRegistry.set(I2CScanDataRequest.$type, I2CScanDataRequest); - function createBasePeripheralSettingsData(): PeripheralSettingsData { - return { $type: "socket_message.PeripheralSettingsData", sda: 0, scl: 0, frequency: 0, pins: [] }; + return { sda: 0, scl: 0, frequency: 0, pins: [] }; } -export const PeripheralSettingsData: MessageFns = { - $type: "socket_message.PeripheralSettingsData" as const, - +export const PeripheralSettingsData: MessageFns = { encode(message: PeripheralSettingsData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.sda !== 0) { writer.uint32(8).int32(message.sda); @@ -2887,7 +2744,6 @@ export const PeripheralSettingsData: MessageFns): PeripheralSettingsData { - return PeripheralSettingsData.fromPartial(base ?? {}); + create, I>>(base?: I): PeripheralSettingsData { + return PeripheralSettingsData.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): PeripheralSettingsData { + fromPartial, I>>(object: I): PeripheralSettingsData { const message = createBasePeripheralSettingsData(); message.sda = object.sda ?? 0; message.scl = object.scl ?? 0; @@ -2925,18 +2781,11 @@ export const PeripheralSettingsData: MessageFns = { - $type: "socket_message.PeripheralSettingsDataRequest" as const, - +export const PeripheralSettingsDataRequest: MessageFns = { encode(_: PeripheralSettingsDataRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { return writer; }, @@ -2958,7 +2807,7 @@ export const PeripheralSettingsDataRequest: MessageFns< }, fromJSON(_: any): PeripheralSettingsDataRequest { - return { $type: PeripheralSettingsDataRequest.$type }; + return {}; }, toJSON(_: PeripheralSettingsDataRequest): unknown { @@ -2966,24 +2815,20 @@ export const PeripheralSettingsDataRequest: MessageFns< return obj; }, - create(base?: DeepPartial): PeripheralSettingsDataRequest { - return PeripheralSettingsDataRequest.fromPartial(base ?? {}); + create, I>>(base?: I): PeripheralSettingsDataRequest { + return PeripheralSettingsDataRequest.fromPartial(base ?? ({} as any)); }, - fromPartial(_: DeepPartial): PeripheralSettingsDataRequest { + fromPartial, I>>(_: I): PeripheralSettingsDataRequest { const message = createBasePeripheralSettingsDataRequest(); return message; }, }; -messageTypeRegistry.set(PeripheralSettingsDataRequest.$type, PeripheralSettingsDataRequest); - function createBaseWifiSettingsData(): WifiSettingsData { - return { $type: "socket_message.WifiSettingsData", hostname: "", priorityRssi: false, wifiNetworks: [] }; + return { hostname: "", priorityRssi: false, wifiNetworks: [] }; } -export const WifiSettingsData: MessageFns = { - $type: "socket_message.WifiSettingsData" as const, - +export const WifiSettingsData: MessageFns = { encode(message: WifiSettingsData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.hostname !== "") { writer.uint32(10).string(message.hostname); @@ -3039,7 +2884,6 @@ export const WifiSettingsData: MessageFns): WifiSettingsData { - return WifiSettingsData.fromPartial(base ?? {}); + create, I>>(base?: I): WifiSettingsData { + return WifiSettingsData.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): WifiSettingsData { + fromPartial, I>>(object: I): WifiSettingsData { const message = createBaseWifiSettingsData(); message.hostname = object.hostname ?? ""; message.priorityRssi = object.priorityRssi ?? false; @@ -3074,15 +2918,11 @@ export const WifiSettingsData: MessageFns = { - $type: "socket_message.RSSIData" as const, - +export const RSSIData: MessageFns = { encode(message: RSSIData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.rssi !== 0) { writer.uint32(8).int32(message.rssi); @@ -3115,7 +2955,7 @@ export const RSSIData: MessageFns = { }, fromJSON(object: any): RSSIData { - return { $type: RSSIData.$type, rssi: isSet(object.rssi) ? globalThis.Number(object.rssi) : 0 }; + return { rssi: isSet(object.rssi) ? globalThis.Number(object.rssi) : 0 }; }, toJSON(message: RSSIData): unknown { @@ -3126,25 +2966,21 @@ export const RSSIData: MessageFns = { return obj; }, - create(base?: DeepPartial): RSSIData { - return RSSIData.fromPartial(base ?? {}); + create, I>>(base?: I): RSSIData { + return RSSIData.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): RSSIData { + fromPartial, I>>(object: I): RSSIData { const message = createBaseRSSIData(); message.rssi = object.rssi ?? 0; return message; }, }; -messageTypeRegistry.set(RSSIData.$type, RSSIData); - function createBaseDownloadOTAData(): DownloadOTAData { - return { $type: "socket_message.DownloadOTAData", status: "", progress: 0, error: "" }; + return { status: "", progress: 0, error: "" }; } -export const DownloadOTAData: MessageFns = { - $type: "socket_message.DownloadOTAData" as const, - +export const DownloadOTAData: MessageFns = { encode(message: DownloadOTAData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.status !== "") { writer.uint32(10).string(message.status); @@ -3200,7 +3036,6 @@ export const DownloadOTAData: MessageFns): DownloadOTAData { - return DownloadOTAData.fromPartial(base ?? {}); + create, I>>(base?: I): DownloadOTAData { + return DownloadOTAData.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): DownloadOTAData { + fromPartial, I>>(object: I): DownloadOTAData { const message = createBaseDownloadOTAData(); message.status = object.status ?? ""; message.progress = object.progress ?? 0; @@ -3233,15 +3068,11 @@ export const DownloadOTAData: MessageFns = { - $type: "socket_message.SonarData" as const, - +export const SonarData: MessageFns = { encode(message: SonarData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.dummyField !== "") { writer.uint32(10).string(message.dummyField); @@ -3274,7 +3105,7 @@ export const SonarData: MessageFns = { }, fromJSON(object: any): SonarData { - return { $type: SonarData.$type, dummyField: isSet(object.dummyField) ? globalThis.String(object.dummyField) : "" }; + return { dummyField: isSet(object.dummyField) ? globalThis.String(object.dummyField) : "" }; }, toJSON(message: SonarData): unknown { @@ -3285,25 +3116,21 @@ export const SonarData: MessageFns = { return obj; }, - create(base?: DeepPartial): SonarData { - return SonarData.fromPartial(base ?? {}); + create, I>>(base?: I): SonarData { + return SonarData.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): SonarData { + fromPartial, I>>(object: I): SonarData { const message = createBaseSonarData(); message.dummyField = object.dummyField ?? ""; return message; }, }; -messageTypeRegistry.set(SonarData.$type, SonarData); - function createBaseHumanInputData(): HumanInputData { - return { $type: "socket_message.HumanInputData", left: undefined, right: undefined, height: 0, speed: 0, s1: 0 }; + return { left: undefined, right: undefined, height: 0, speed: 0, s1: 0 }; } -export const HumanInputData: MessageFns = { - $type: "socket_message.HumanInputData" as const, - +export const HumanInputData: MessageFns = { encode(message: HumanInputData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.left !== undefined) { Vector.encode(message.left, writer.uint32(82).fork()).join(); @@ -3381,7 +3208,6 @@ export const HumanInputData: MessageFns): HumanInputData { - return HumanInputData.fromPartial(base ?? {}); + create, I>>(base?: I): HumanInputData { + return HumanInputData.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): HumanInputData { + fromPartial, I>>(object: I): HumanInputData { const message = createBaseHumanInputData(); message.left = (object.left !== undefined && object.left !== null) ? Vector.fromPartial(object.left) : undefined; message.right = (object.right !== undefined && object.right !== null) @@ -3426,15 +3252,11 @@ export const HumanInputData: MessageFns = { - $type: "socket_message.SystemInformation" as const, - +export const SystemInformation: MessageFns = { encode(message: SystemInformation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.analyticsData !== undefined) { AnalyticsData.encode(message.analyticsData, writer.uint32(10).fork()).join(); @@ -3479,7 +3301,6 @@ export const SystemInformation: MessageFns): SystemInformation { - return SystemInformation.fromPartial(base ?? {}); + create, I>>(base?: I): SystemInformation { + return SystemInformation.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): SystemInformation { + fromPartial, I>>(object: I): SystemInformation { const message = createBaseSystemInformation(); message.analyticsData = (object.analyticsData !== undefined && object.analyticsData !== null) ? AnalyticsData.fromPartial(object.analyticsData) @@ -3514,15 +3335,11 @@ export const SystemInformation: MessageFns = { - $type: "socket_message.WalkGaitData" as const, - +export const WalkGaitData: MessageFns = { encode(message: WalkGaitData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.gait !== 0) { writer.uint32(8).int32(message.gait); @@ -3555,7 +3372,7 @@ export const WalkGaitData: MessageFns): WalkGaitData { - return WalkGaitData.fromPartial(base ?? {}); + create, I>>(base?: I): WalkGaitData { + return WalkGaitData.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): WalkGaitData { + fromPartial, I>>(object: I): WalkGaitData { const message = createBaseWalkGaitData(); message.gait = object.gait ?? 0; return message; }, }; -messageTypeRegistry.set(WalkGaitData.$type, WalkGaitData); - function createBaseKinematicData(): KinematicData { - return { $type: "socket_message.KinematicData", omega: 0, phi: 0, psi: 0, xm: 0, ym: 0, zm: 0 }; + return { omega: 0, phi: 0, psi: 0, xm: 0, ym: 0, zm: 0 }; } -export const KinematicData: MessageFns = { - $type: "socket_message.KinematicData" as const, - +export const KinematicData: MessageFns = { encode(message: KinematicData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.omega !== 0) { writer.uint32(13).float(message.omega); @@ -3673,7 +3486,6 @@ export const KinematicData: MessageFns): KinematicData { - return KinematicData.fromPartial(base ?? {}); + create, I>>(base?: I): KinematicData { + return KinematicData.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): KinematicData { + fromPartial, I>>(object: I): KinematicData { const message = createBaseKinematicData(); message.omega = object.omega ?? 0; message.phi = object.phi ?? 0; @@ -3721,15 +3533,11 @@ export const KinematicData: MessageFns = { - $type: "socket_message.SubscribeNotification" as const, - +export const SubscribeNotification: MessageFns = { encode(message: SubscribeNotification, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.tag !== 0) { writer.uint32(8).int32(message.tag); @@ -3762,7 +3570,7 @@ export const SubscribeNotification: MessageFns): SubscribeNotification { - return SubscribeNotification.fromPartial(base ?? {}); + create, I>>(base?: I): SubscribeNotification { + return SubscribeNotification.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): SubscribeNotification { + fromPartial, I>>(object: I): SubscribeNotification { const message = createBaseSubscribeNotification(); message.tag = object.tag ?? 0; return message; }, }; -messageTypeRegistry.set(SubscribeNotification.$type, SubscribeNotification); - function createBaseUnsubscribeNotification(): UnsubscribeNotification { - return { $type: "socket_message.UnsubscribeNotification", tag: 0 }; + return { tag: 0 }; } -export const UnsubscribeNotification: MessageFns = { - $type: "socket_message.UnsubscribeNotification" as const, - +export const UnsubscribeNotification: MessageFns = { encode(message: UnsubscribeNotification, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.tag !== 0) { writer.uint32(8).int32(message.tag); @@ -3824,7 +3628,7 @@ export const UnsubscribeNotification: MessageFns): UnsubscribeNotification { - return UnsubscribeNotification.fromPartial(base ?? {}); + create, I>>(base?: I): UnsubscribeNotification { + return UnsubscribeNotification.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): UnsubscribeNotification { + fromPartial, I>>(object: I): UnsubscribeNotification { const message = createBaseUnsubscribeNotification(); message.tag = object.tag ?? 0; return message; }, }; -messageTypeRegistry.set(UnsubscribeNotification.$type, UnsubscribeNotification); - function createBasePingMsg(): PingMsg { - return { $type: "socket_message.PingMsg" }; + return {}; } -export const PingMsg: MessageFns = { - $type: "socket_message.PingMsg" as const, - +export const PingMsg: MessageFns = { encode(_: PingMsg, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { return writer; }, @@ -3875,7 +3675,7 @@ export const PingMsg: MessageFns = { }, fromJSON(_: any): PingMsg { - return { $type: PingMsg.$type }; + return {}; }, toJSON(_: PingMsg): unknown { @@ -3883,24 +3683,20 @@ export const PingMsg: MessageFns = { return obj; }, - create(base?: DeepPartial): PingMsg { - return PingMsg.fromPartial(base ?? {}); + create, I>>(base?: I): PingMsg { + return PingMsg.fromPartial(base ?? ({} as any)); }, - fromPartial(_: DeepPartial): PingMsg { + fromPartial, I>>(_: I): PingMsg { const message = createBasePingMsg(); return message; }, }; -messageTypeRegistry.set(PingMsg.$type, PingMsg); - function createBasePongMsg(): PongMsg { - return { $type: "socket_message.PongMsg" }; + return {}; } -export const PongMsg: MessageFns = { - $type: "socket_message.PongMsg" as const, - +export const PongMsg: MessageFns = { encode(_: PongMsg, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { return writer; }, @@ -3922,7 +3718,7 @@ export const PongMsg: MessageFns = { }, fromJSON(_: any): PongMsg { - return { $type: PongMsg.$type }; + return {}; }, toJSON(_: PongMsg): unknown { @@ -3930,20 +3726,17 @@ export const PongMsg: MessageFns = { return obj; }, - create(base?: DeepPartial): PongMsg { - return PongMsg.fromPartial(base ?? {}); + create, I>>(base?: I): PongMsg { + return PongMsg.fromPartial(base ?? ({} as any)); }, - fromPartial(_: DeepPartial): PongMsg { + fromPartial, I>>(_: I): PongMsg { const message = createBasePongMsg(); return message; }, }; -messageTypeRegistry.set(PongMsg.$type, PongMsg); - function createBaseWebsocketMessage(): WebsocketMessage { return { - $type: "socket_message.WebsocketMessage", correlationRequest: undefined, correlationResponse: undefined, subNotif: undefined, @@ -3971,9 +3764,7 @@ function createBaseWebsocketMessage(): WebsocketMessage { }; } -export const WebsocketMessage: MessageFns = { - $type: "socket_message.WebsocketMessage" as const, - +export const WebsocketMessage: MessageFns = { encode(message: WebsocketMessage, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.correlationRequest !== undefined) { CorrelationRequest.encode(message.correlationRequest, writer.uint32(82).fork()).join(); @@ -4260,7 +4051,6 @@ export const WebsocketMessage: MessageFns): WebsocketMessage { - return WebsocketMessage.fromPartial(base ?? {}); + create, I>>(base?: I): WebsocketMessage { + return WebsocketMessage.fromPartial(base ?? ({} as any)); }, - fromPartial(object: DeepPartial): WebsocketMessage { + fromPartial, I>>(object: I): WebsocketMessage { const message = createBaseWebsocketMessage(); message.correlationRequest = (object.correlationRequest !== undefined && object.correlationRequest !== null) ? CorrelationRequest.fromPartial(object.correlationRequest) @@ -4453,16 +4243,2207 @@ export const WebsocketMessage: MessageFns = T extends Builtin ? T : T extends globalThis.Array ? globalThis.Array> : T extends ReadonlyArray ? ReadonlyArray> - : T extends {} ? { [K in Exclude]?: DeepPartial } + : T extends {} ? { [K in keyof T]?: DeepPartial } : Partial; +type KeysOfUnion = T extends T ? keyof T : never; +export type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + function longToNumber(int64: { toString(): string }): number { const num = globalThis.Number(int64.toString()); if (num > globalThis.Number.MAX_SAFE_INTEGER) { @@ -4478,12 +6459,11 @@ function isSet(value: any): boolean { return value !== null && value !== undefined; } -export interface MessageFns { - readonly $type: V; +export interface MessageFns { encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; - create(base?: DeepPartial): T; - fromPartial(object: DeepPartial): T; + create, I>>(base?: I): T; + fromPartial, I>>(object: I): T; } diff --git a/app/src/lib/stores/socket.ts b/app/src/lib/stores/socket.ts index dbd32bc..59a346e 100644 --- a/app/src/lib/stores/socket.ts +++ b/app/src/lib/stores/socket.ts @@ -1,8 +1,10 @@ import { writable } from 'svelte/store' import { WebsocketMessage, - type MessageFns, - protoMetadata as websocket_md + CorrelationRequest, + CorrelationResponse, + protoMetadata as websocket_md, + type MessageFns } from '$lib/platform_shared/websocket_message' import * as WebsocketMessages from '$lib/platform_shared/websocket_message' @@ -11,6 +13,13 @@ export const MESSAGE_TYPE_TO_TAG = new Map, number>() export const MESSAGE_KEY_TO_TAG = new Map() export const MESSAGE_TAG_TO_KEY = new Map() +type CorrelationRequestData = Omit +type PendingRequest = { + resolve: (response: CorrelationResponse) => void + reject: (error: Error) => void + timeoutId: ReturnType +} + const websocketMessageType = websocket_md.fileDescriptor.messageType?.find( (msg: { name: string }) => msg.name === 'WebsocketMessage' ) @@ -75,8 +84,11 @@ export const encodeMessage = (data: WebsocketMessage): Uint8Array = function createWebSocket() { const message_listeners = new Map void>>() const event_listeners = new Map void>>() + const pending_requests = new Map() const { subscribe, set } = writable(false) const reconnectTimeoutTime = 500000 + const requestTimeoutTime = 10000 + let correlationIdCounter = 0 let unresponsiveTimeoutId: ReturnType let reconnectTimeoutId: ReturnType let ws: WebSocket @@ -109,9 +121,20 @@ function createWebSocket() { ws.onmessage = frame => { resetUnresponsiveCheck() const { tag, msg } = decodeMessage(frame.data) + if (msg.correlationResponse) { + const pending = pending_requests.get(msg.correlationResponse.correlationId) + if (pending) { + clearTimeout(pending.timeoutId) + pending_requests.delete(msg.correlationResponse.correlationId) + pending.resolve(msg.correlationResponse) + } + return + } if (tag) { const key = MESSAGE_TAG_TO_KEY.get(tag)! - message_listeners.get(tag)?.forEach(listener => listener(msg[key as keyof typeof msg])) + message_listeners + .get(tag) + ?.forEach(listener => listener(msg[key as keyof typeof msg])) } } ws.onerror = ev => disconnect('error', ev) @@ -211,6 +234,25 @@ function createWebSocket() { return () => { unsubscribe_event(event_type, listener) } + }, + request: (data: CorrelationRequestData): Promise => { + return new Promise((resolve, reject) => { + if (!ws || ws.readyState !== WebSocket.OPEN) { + reject(new Error('WebSocket not connected')) + return + } + + const correlationId = ++correlationIdCounter + const timeoutId = setTimeout(() => { + pending_requests.delete(correlationId) + reject(new Error(`Request timeout (id: ${correlationId})`)) + }, requestTimeoutTime) + + pending_requests.set(correlationId, { resolve, reject, timeoutId }) + + const request = CorrelationRequest.create({ correlationId, ...data }) + send(WebsocketMessage.create({ correlationRequest: request })) + }) } } } diff --git a/app/src/routes/peripherals/i2c/i2c.svelte b/app/src/routes/peripherals/i2c/i2c.svelte index 42b00cc..c761b53 100644 --- a/app/src/routes/peripherals/i2c/i2c.svelte +++ b/app/src/routes/peripherals/i2c/i2c.svelte @@ -4,45 +4,23 @@ import { socket } from '$lib/stores' import { Connection } from '$lib/components/icons' import I2CSetting from './i2cSetting.svelte' - import { - I2CDevice, - I2CScanData, - I2CScanDataRequest - } from '$lib/platform_shared/websocket_message' - - // TODO: Delete this completely, this should be done on esp side, as it decides what addresses are actually valid, as for example ICM20948 and MPU6050 can have same address - // const i2cDevices = [ - // { address: 30, part_number: 'HMC5883', name: '3-Axis Digital Compass/Magnetometer IC' }, - // { address: 41, part_number: 'BNO055', name: '9-Axis Absolute Orientation Sensor' }, - // { address: 64, part_number: 'PCA9685', name: '16-channel PWM driver default address' }, - // { address: 72, part_number: 'ADS1115', name: '4-channel 16-bit ADC' }, - // { - // address: 104, - // part_number: 'MPU6050', - // name: 'Six-Axis (Gyro + Accelerometer) MEMS MotionTrackingâ„¢ Devices' - // }, - // { address: 115, part_number: 'PAJ7620U2', name: 'Gesture sensor' }, - // { address: 119, part_number: 'BMP085', name: 'Temp/Barometric' } - // ] + import type { I2CDevice } from '$lib/platform_shared/websocket_message' let active_devices: I2CDevice[] = $state([]) - let isLoading = $state(false) onMount(() => { - const unsub = socket.on(I2CScanData, handleScan) triggerScan() - return () => unsub }) - const handleScan = (data: I2CScanData) => { - active_devices = data.devices - isLoading = false - } - - const triggerScan = () => { + const triggerScan = async () => { isLoading = true - socket.sendEvent(I2CScanDataRequest, {}) + try { + const response = await socket.request({ i2cScanDataRequest: {} }) + active_devices = response.i2cScanData?.devices ?? [] + } finally { + isLoading = false + } } diff --git a/esp32/src/main.cpp b/esp32/src/main.cpp index 984cf9d..ddba66a 100644 --- a/esp32/src/main.cpp +++ b/esp32/src/main.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include @@ -150,18 +151,6 @@ void setupEventSocket() { socket.on( [&](const socket_message_AnglesData &data, int clientId) { motionService.handleAngles(data); }); - socket.on([&](const socket_message_I2CScanDataRequest &data, int clientId) { - peripherals.scanI2C(); - socket_message_I2CScanData result = socket_message_I2CScanData_init_zero; - peripherals.getI2CScanProto(result); - socket.emit(result, clientId); - }); - - socket.on([&](const socket_message_IMUCalibrateExecute &data, int clientId) { - socket_message_IMUCalibrateData result = {.success = peripherals.calibrateIMU()}; - socket.emit(result, clientId); - }); - socket.on([&](const socket_message_ServoPWMData &data, int clientId) { servoController.setServoPWM(data.servo_id, data.servo_pwm); }); @@ -170,29 +159,38 @@ void setupEventSocket() { data.active ? servoController.activate() : servoController.deactivate(); }); + using CorrelationHandler = + std::function; + static std::map correlationHandlers = { + {socket_message_CorrelationRequest_features_data_request_tag, + [](const auto &req, auto &res) { + res.which_response = socket_message_CorrelationResponse_features_data_response_tag; + feature_service::features_request(req.request.features_data_request, res.response.features_data_response); + }}, + {socket_message_CorrelationRequest_i2c_scan_data_request_tag, + [](const auto &req, auto &res) { + res.which_response = socket_message_CorrelationResponse_i2c_scan_data_tag; + peripherals.scanI2C(); + peripherals.getI2CScanProto(res.response.i2c_scan_data); + }}, + {socket_message_CorrelationRequest_imu_calibrate_execute_tag, + [](const auto &req, auto &res) { + res.which_response = socket_message_CorrelationResponse_imu_calibrate_data_tag; + res.response.imu_calibrate_data.success = peripherals.calibrateIMU(); + }}, + }; + socket.on([&](const socket_message_CorrelationRequest &data, int clientId) { - printf("Received correlation request: %d\n", data.correlation_id); - // Temporarily hardcoded - switch (data.which_request) { - case socket_message_CorrelationRequest_features_data_request_tag: { - socket_message_CorrelationResponse res = socket_message_CorrelationResponse_init_default; - res.correlation_id = data.correlation_id; - res.stauts_code = 200; - res.which_response = socket_message_CorrelationResponse_features_data_response_tag; + socket_message_CorrelationResponse res = socket_message_CorrelationResponse_init_default; + res.correlation_id = data.correlation_id; + res.status_code = 200; - feature_service::features_request( - data.request.features_data_request, - res.response.features_data_response - ); - - socket.emit(res, clientId); - - break; - } - default: { - printf("WARNING: no tag found for correlation request: %d", data.which_request); - break; - } + auto it = correlationHandlers.find(data.which_request); + if (it != correlationHandlers.end()) { + it->second(data, res); + socket.emit(res, clientId); + } else { + printf("WARNING: no handler for correlation request: %d\n", data.which_request); } }); } diff --git a/esp32/src/platform_shared/websocket_message.pb.c b/esp32/src/platform_shared/websocket_message.pb.c index 685d253..75d0b7a 100644 --- a/esp32/src/platform_shared/websocket_message.pb.c +++ b/esp32/src/platform_shared/websocket_message.pb.c @@ -8,111 +8,70 @@ PB_BIND(socket_message_Vector, socket_message_Vector, AUTO) - PB_BIND(socket_message_I2CDevice, socket_message_I2CDevice, AUTO) - PB_BIND(socket_message_PinConfig, socket_message_PinConfig, AUTO) - PB_BIND(socket_message_KnownNetworkItem, socket_message_KnownNetworkItem, AUTO) - PB_BIND(socket_message_IMUData, socket_message_IMUData, AUTO) - PB_BIND(socket_message_FeaturesDataResponse, socket_message_FeaturesDataResponse, 2) - PB_BIND(socket_message_FeaturesDataRequest, socket_message_FeaturesDataRequest, AUTO) - PB_BIND(socket_message_CorrelationRequest, socket_message_CorrelationRequest, AUTO) - -PB_BIND(socket_message_CorrelationResponse, socket_message_CorrelationResponse, AUTO) - +PB_BIND(socket_message_CorrelationResponse, socket_message_CorrelationResponse, 2) PB_BIND(socket_message_StaticSystemInformation, socket_message_StaticSystemInformation, AUTO) - PB_BIND(socket_message_IMUCalibrateData, socket_message_IMUCalibrateData, AUTO) - PB_BIND(socket_message_IMUCalibrateExecute, socket_message_IMUCalibrateExecute, AUTO) - PB_BIND(socket_message_ModeData, socket_message_ModeData, AUTO) - PB_BIND(socket_message_ControllerInputData, socket_message_ControllerInputData, AUTO) - PB_BIND(socket_message_AnalyticsData, socket_message_AnalyticsData, AUTO) - PB_BIND(socket_message_ServoPWMData, socket_message_ServoPWMData, AUTO) - PB_BIND(socket_message_ServoStateData, socket_message_ServoStateData, AUTO) - PB_BIND(socket_message_AnglesData, socket_message_AnglesData, AUTO) - PB_BIND(socket_message_I2CScanData, socket_message_I2CScanData, 2) - PB_BIND(socket_message_I2CScanDataRequest, socket_message_I2CScanDataRequest, AUTO) - PB_BIND(socket_message_PeripheralSettingsData, socket_message_PeripheralSettingsData, 2) - PB_BIND(socket_message_PeripheralSettingsDataRequest, socket_message_PeripheralSettingsDataRequest, AUTO) - PB_BIND(socket_message_WifiSettingsData, socket_message_WifiSettingsData, 2) - PB_BIND(socket_message_RSSIData, socket_message_RSSIData, AUTO) - PB_BIND(socket_message_DownloadOTAData, socket_message_DownloadOTAData, AUTO) - PB_BIND(socket_message_SonarData, socket_message_SonarData, AUTO) - PB_BIND(socket_message_HumanInputData, socket_message_HumanInputData, AUTO) - PB_BIND(socket_message_SystemInformation, socket_message_SystemInformation, 2) - PB_BIND(socket_message_WalkGaitData, socket_message_WalkGaitData, AUTO) - PB_BIND(socket_message_KinematicData, socket_message_KinematicData, AUTO) - PB_BIND(socket_message_SubscribeNotification, socket_message_SubscribeNotification, AUTO) - PB_BIND(socket_message_UnsubscribeNotification, socket_message_UnsubscribeNotification, AUTO) - PB_BIND(socket_message_PingMsg, socket_message_PingMsg, AUTO) - PB_BIND(socket_message_PongMsg, socket_message_PongMsg, AUTO) - PB_BIND(socket_message_WebsocketMessage, socket_message_WebsocketMessage, 2) - - - - - - - diff --git a/esp32/src/platform_shared/websocket_message.pb.h b/esp32/src/platform_shared/websocket_message.pb.h index 2d92b70..21d265d 100644 --- a/esp32/src/platform_shared/websocket_message.pb.h +++ b/esp32/src/platform_shared/websocket_message.pb.h @@ -90,25 +90,6 @@ typedef struct _socket_message_FeaturesDataRequest { bool sonar_test; } socket_message_FeaturesDataRequest; -typedef struct _socket_message_CorrelationRequest { - uint32_t correlation_id; /* Used for request-response correlation */ - pb_size_t which_request; - union _socket_message_CorrelationRequest_request { - /* NOTE: requests must have same tag id as correlating to the response type (currently not enforced in C, but will be, and tests will fail) */ - socket_message_FeaturesDataRequest features_data_request; - } request; -} socket_message_CorrelationRequest; - -typedef struct _socket_message_CorrelationResponse { - uint32_t correlation_id; /* Used for request-response correlation' */ - uint32_t stauts_code; - pb_size_t which_response; - union _socket_message_CorrelationResponse_response { - /* NOTE: responses must have same tag id as correlating to the request type (currently not enforced in C, but will be, and tests will fail) */ - socket_message_FeaturesDataResponse features_data_response; - } response; -} socket_message_CorrelationResponse; - typedef struct _socket_message_StaticSystemInformation { char esp_platform[32]; char firmware_version[16]; @@ -182,10 +163,31 @@ typedef struct _socket_message_I2CScanData { socket_message_I2CDevice devices[16]; } socket_message_I2CScanData; +typedef struct _socket_message_CorrelationResponse { + uint32_t correlation_id; + uint32_t status_code; + pb_size_t which_response; + union _socket_message_CorrelationResponse_response { + socket_message_FeaturesDataResponse features_data_response; + socket_message_I2CScanData i2c_scan_data; + socket_message_IMUCalibrateData imu_calibrate_data; + } response; +} socket_message_CorrelationResponse; + typedef struct _socket_message_I2CScanDataRequest { char dummy_field; } socket_message_I2CScanDataRequest; +typedef struct _socket_message_CorrelationRequest { + uint32_t correlation_id; + pb_size_t which_request; + union _socket_message_CorrelationRequest_request { + socket_message_FeaturesDataRequest features_data_request; + socket_message_I2CScanDataRequest i2c_scan_data_request; + socket_message_IMUCalibrateExecute imu_calibrate_execute; + } request; +} socket_message_CorrelationRequest; + typedef struct _socket_message_PeripheralSettingsData { int32_t sda; int32_t scl; @@ -297,7 +299,6 @@ typedef struct _socket_message_WebsocketMessage { } message; } socket_message_WebsocketMessage; - #ifdef __cplusplus extern "C" { #endif @@ -305,132 +306,258 @@ extern "C" { /* Helper constants for enums */ #define _socket_message_ModesEnum_MIN socket_message_ModesEnum_DEACTIVATED #define _socket_message_ModesEnum_MAX socket_message_ModesEnum_WALK -#define _socket_message_ModesEnum_ARRAYSIZE ((socket_message_ModesEnum)(socket_message_ModesEnum_WALK+1)) +#define _socket_message_ModesEnum_ARRAYSIZE ((socket_message_ModesEnum)(socket_message_ModesEnum_WALK + 1)) #define _socket_message_WalkGaits_MIN socket_message_WalkGaits_TROT #define _socket_message_WalkGaits_MAX socket_message_WalkGaits_CRAWL -#define _socket_message_WalkGaits_ARRAYSIZE ((socket_message_WalkGaits)(socket_message_WalkGaits_CRAWL+1)) - - - - - - - - - - - - +#define _socket_message_WalkGaits_ARRAYSIZE ((socket_message_WalkGaits)(socket_message_WalkGaits_CRAWL + 1)) #define socket_message_ModeData_mode_ENUMTYPE socket_message_ModesEnum - - - - - - - - - - - - - - - #define socket_message_WalkGaitData_gait_ENUMTYPE socket_message_WalkGaits - - - - - - - /* Initializer values for message structs */ -#define socket_message_Vector_init_default {0, 0} -#define socket_message_I2CDevice_init_default {0, "", ""} -#define socket_message_PinConfig_init_default {0, "", "", ""} -#define socket_message_KnownNetworkItem_init_default {"", "", 0, false, "", false, "", false, "", false, "", false, ""} -#define socket_message_IMUData_init_default {0, 0, 0, 0, 0, 0, 0} -#define socket_message_FeaturesDataResponse_init_default {NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0} -#define socket_message_FeaturesDataRequest_init_default {0} -#define socket_message_CorrelationRequest_init_default {0, 0, {socket_message_FeaturesDataRequest_init_default}} -#define socket_message_CorrelationResponse_init_default {0, 0, 0, {socket_message_FeaturesDataResponse_init_default}} -#define socket_message_StaticSystemInformation_init_default {"", "", 0, "", 0, 0, 0, 0, "", "", 0, 0, ""} -#define socket_message_IMUCalibrateData_init_default {0} -#define socket_message_IMUCalibrateExecute_init_default {0} -#define socket_message_ModeData_init_default {_socket_message_ModesEnum_MIN} -#define socket_message_ControllerInputData_init_default {false, socket_message_Vector_init_default, false, socket_message_Vector_init_default, 0, 0, 0} -#define socket_message_AnalyticsData_init_default {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} -#define socket_message_ServoPWMData_init_default {0, 0} -#define socket_message_ServoStateData_init_default {0} -#define socket_message_AnglesData_init_default {0, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}} -#define socket_message_I2CScanData_init_default {0, {socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default}} -#define socket_message_I2CScanDataRequest_init_default {0} -#define socket_message_PeripheralSettingsData_init_default {0, 0, 0, 0, {socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, socket_message_PinConfig_init_default}} -#define socket_message_PeripheralSettingsDataRequest_init_default {0} -#define socket_message_WifiSettingsData_init_default {"", 0, 0, {socket_message_KnownNetworkItem_init_default, socket_message_KnownNetworkItem_init_default, socket_message_KnownNetworkItem_init_default, socket_message_KnownNetworkItem_init_default, socket_message_KnownNetworkItem_init_default, socket_message_KnownNetworkItem_init_default, socket_message_KnownNetworkItem_init_default, socket_message_KnownNetworkItem_init_default}} -#define socket_message_RSSIData_init_default {0} -#define socket_message_DownloadOTAData_init_default {"", 0, ""} -#define socket_message_SonarData_init_default {""} -#define socket_message_HumanInputData_init_default {false, socket_message_Vector_init_default, false, socket_message_Vector_init_default, 0, 0, 0} -#define socket_message_SystemInformation_init_default {false, socket_message_AnalyticsData_init_default, false, socket_message_StaticSystemInformation_init_default} -#define socket_message_WalkGaitData_init_default {_socket_message_WalkGaits_MIN} -#define socket_message_KinematicData_init_default {0, 0, 0, 0, 0, 0} -#define socket_message_SubscribeNotification_init_default {0} -#define socket_message_UnsubscribeNotification_init_default {0} -#define socket_message_PingMsg_init_default {0} -#define socket_message_PongMsg_init_default {0} -#define socket_message_WebsocketMessage_init_default {0, {socket_message_CorrelationRequest_init_default}} -#define socket_message_Vector_init_zero {0, 0} -#define socket_message_I2CDevice_init_zero {0, "", ""} -#define socket_message_PinConfig_init_zero {0, "", "", ""} -#define socket_message_KnownNetworkItem_init_zero {"", "", 0, false, "", false, "", false, "", false, "", false, ""} -#define socket_message_IMUData_init_zero {0, 0, 0, 0, 0, 0, 0} -#define socket_message_FeaturesDataResponse_init_zero {NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0} -#define socket_message_FeaturesDataRequest_init_zero {0} -#define socket_message_CorrelationRequest_init_zero {0, 0, {socket_message_FeaturesDataRequest_init_zero}} -#define socket_message_CorrelationResponse_init_zero {0, 0, 0, {socket_message_FeaturesDataResponse_init_zero}} -#define socket_message_StaticSystemInformation_init_zero {"", "", 0, "", 0, 0, 0, 0, "", "", 0, 0, ""} -#define socket_message_IMUCalibrateData_init_zero {0} -#define socket_message_IMUCalibrateExecute_init_zero {0} -#define socket_message_ModeData_init_zero {_socket_message_ModesEnum_MIN} -#define socket_message_ControllerInputData_init_zero {false, socket_message_Vector_init_zero, false, socket_message_Vector_init_zero, 0, 0, 0} -#define socket_message_AnalyticsData_init_zero {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} -#define socket_message_ServoPWMData_init_zero {0, 0} -#define socket_message_ServoStateData_init_zero {0} -#define socket_message_AnglesData_init_zero {0, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}} -#define socket_message_I2CScanData_init_zero {0, {socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero}} -#define socket_message_I2CScanDataRequest_init_zero {0} -#define socket_message_PeripheralSettingsData_init_zero {0, 0, 0, 0, {socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero}} -#define socket_message_PeripheralSettingsDataRequest_init_zero {0} -#define socket_message_WifiSettingsData_init_zero {"", 0, 0, {socket_message_KnownNetworkItem_init_zero, socket_message_KnownNetworkItem_init_zero, socket_message_KnownNetworkItem_init_zero, socket_message_KnownNetworkItem_init_zero, socket_message_KnownNetworkItem_init_zero, socket_message_KnownNetworkItem_init_zero, socket_message_KnownNetworkItem_init_zero, socket_message_KnownNetworkItem_init_zero}} -#define socket_message_RSSIData_init_zero {0} -#define socket_message_DownloadOTAData_init_zero {"", 0, ""} -#define socket_message_SonarData_init_zero {""} -#define socket_message_HumanInputData_init_zero {false, socket_message_Vector_init_zero, false, socket_message_Vector_init_zero, 0, 0, 0} -#define socket_message_SystemInformation_init_zero {false, socket_message_AnalyticsData_init_zero, false, socket_message_StaticSystemInformation_init_zero} -#define socket_message_WalkGaitData_init_zero {_socket_message_WalkGaits_MIN} -#define socket_message_KinematicData_init_zero {0, 0, 0, 0, 0, 0} -#define socket_message_SubscribeNotification_init_zero {0} -#define socket_message_UnsubscribeNotification_init_zero {0} -#define socket_message_PingMsg_init_zero {0} -#define socket_message_PongMsg_init_zero {0} -#define socket_message_WebsocketMessage_init_zero {0, {socket_message_CorrelationRequest_init_zero}} +#define socket_message_Vector_init_default \ + { 0, 0 } +#define socket_message_I2CDevice_init_default \ + { 0, "", "" } +#define socket_message_PinConfig_init_default \ + { 0, "", "", "" } +#define socket_message_KnownNetworkItem_init_default \ + { "", "", 0, false, "", false, "", false, "", false, "", false, "" } +#define socket_message_IMUData_init_default \ + { 0, 0, 0, 0, 0, 0, 0 } +#define socket_message_FeaturesDataResponse_init_default \ + { NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +#define socket_message_FeaturesDataRequest_init_default \ + { 0 } +#define socket_message_CorrelationRequest_init_default \ + { \ + 0, 0, { socket_message_FeaturesDataRequest_init_default } \ + } +#define socket_message_CorrelationResponse_init_default \ + { \ + 0, 0, 0, { socket_message_FeaturesDataResponse_init_default } \ + } +#define socket_message_StaticSystemInformation_init_default \ + { "", "", 0, "", 0, 0, 0, 0, "", "", 0, 0, "" } +#define socket_message_IMUCalibrateData_init_default \ + { 0 } +#define socket_message_IMUCalibrateExecute_init_default \ + { 0 } +#define socket_message_ModeData_init_default \ + { _socket_message_ModesEnum_MIN } +#define socket_message_ControllerInputData_init_default \ + { false, socket_message_Vector_init_default, false, socket_message_Vector_init_default, 0, 0, 0 } +#define socket_message_AnalyticsData_init_default \ + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +#define socket_message_ServoPWMData_init_default \ + { 0, 0 } +#define socket_message_ServoStateData_init_default \ + { 0 } +#define socket_message_AnglesData_init_default \ + { \ + 0, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } \ + } +#define socket_message_I2CScanData_init_default \ + { \ + 0, { \ + socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, \ + socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, \ + socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, \ + socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, \ + socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, \ + socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, \ + socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default, \ + socket_message_I2CDevice_init_default, socket_message_I2CDevice_init_default \ + } \ + } +#define socket_message_I2CScanDataRequest_init_default \ + { 0 } +#define socket_message_PeripheralSettingsData_init_default \ + { \ + 0, 0, 0, 0, { \ + socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, \ + socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, \ + socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, \ + socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, \ + socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, \ + socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, \ + socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, \ + socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, \ + socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, \ + socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, \ + socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, \ + socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, \ + socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, \ + socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, \ + socket_message_PinConfig_init_default, socket_message_PinConfig_init_default, \ + socket_message_PinConfig_init_default, socket_message_PinConfig_init_default \ + } \ + } +#define socket_message_PeripheralSettingsDataRequest_init_default \ + { 0 } +#define socket_message_WifiSettingsData_init_default \ + { \ + "", 0, 0, { \ + socket_message_KnownNetworkItem_init_default, socket_message_KnownNetworkItem_init_default, \ + socket_message_KnownNetworkItem_init_default, socket_message_KnownNetworkItem_init_default, \ + socket_message_KnownNetworkItem_init_default, socket_message_KnownNetworkItem_init_default, \ + socket_message_KnownNetworkItem_init_default, socket_message_KnownNetworkItem_init_default \ + } \ + } +#define socket_message_RSSIData_init_default \ + { 0 } +#define socket_message_DownloadOTAData_init_default \ + { "", 0, "" } +#define socket_message_SonarData_init_default \ + { "" } +#define socket_message_HumanInputData_init_default \ + { false, socket_message_Vector_init_default, false, socket_message_Vector_init_default, 0, 0, 0 } +#define socket_message_SystemInformation_init_default \ + { false, socket_message_AnalyticsData_init_default, false, socket_message_StaticSystemInformation_init_default } +#define socket_message_WalkGaitData_init_default \ + { _socket_message_WalkGaits_MIN } +#define socket_message_KinematicData_init_default \ + { 0, 0, 0, 0, 0, 0 } +#define socket_message_SubscribeNotification_init_default \ + { 0 } +#define socket_message_UnsubscribeNotification_init_default \ + { 0 } +#define socket_message_PingMsg_init_default \ + { 0 } +#define socket_message_PongMsg_init_default \ + { 0 } +#define socket_message_WebsocketMessage_init_default \ + { \ + 0, { socket_message_CorrelationRequest_init_default } \ + } +#define socket_message_Vector_init_zero \ + { 0, 0 } +#define socket_message_I2CDevice_init_zero \ + { 0, "", "" } +#define socket_message_PinConfig_init_zero \ + { 0, "", "", "" } +#define socket_message_KnownNetworkItem_init_zero \ + { "", "", 0, false, "", false, "", false, "", false, "", false, "" } +#define socket_message_IMUData_init_zero \ + { 0, 0, 0, 0, 0, 0, 0 } +#define socket_message_FeaturesDataResponse_init_zero \ + { NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +#define socket_message_FeaturesDataRequest_init_zero \ + { 0 } +#define socket_message_CorrelationRequest_init_zero \ + { \ + 0, 0, { socket_message_FeaturesDataRequest_init_zero } \ + } +#define socket_message_CorrelationResponse_init_zero \ + { \ + 0, 0, 0, { socket_message_FeaturesDataResponse_init_zero } \ + } +#define socket_message_StaticSystemInformation_init_zero \ + { "", "", 0, "", 0, 0, 0, 0, "", "", 0, 0, "" } +#define socket_message_IMUCalibrateData_init_zero \ + { 0 } +#define socket_message_IMUCalibrateExecute_init_zero \ + { 0 } +#define socket_message_ModeData_init_zero \ + { _socket_message_ModesEnum_MIN } +#define socket_message_ControllerInputData_init_zero \ + { false, socket_message_Vector_init_zero, false, socket_message_Vector_init_zero, 0, 0, 0 } +#define socket_message_AnalyticsData_init_zero \ + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +#define socket_message_ServoPWMData_init_zero \ + { 0, 0 } +#define socket_message_ServoStateData_init_zero \ + { 0 } +#define socket_message_AnglesData_init_zero \ + { \ + 0, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } \ + } +#define socket_message_I2CScanData_init_zero \ + { \ + 0, { \ + socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, \ + socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, \ + socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, \ + socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, \ + socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, \ + socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, \ + socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero, \ + socket_message_I2CDevice_init_zero, socket_message_I2CDevice_init_zero \ + } \ + } +#define socket_message_I2CScanDataRequest_init_zero \ + { 0 } +#define socket_message_PeripheralSettingsData_init_zero \ + { \ + 0, 0, 0, 0, { \ + socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, \ + socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, \ + socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, \ + socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, \ + socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, \ + socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, \ + socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, \ + socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, \ + socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, \ + socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, \ + socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, \ + socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, \ + socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, \ + socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, \ + socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero, \ + socket_message_PinConfig_init_zero, socket_message_PinConfig_init_zero \ + } \ + } +#define socket_message_PeripheralSettingsDataRequest_init_zero \ + { 0 } +#define socket_message_WifiSettingsData_init_zero \ + { \ + "", 0, 0, { \ + socket_message_KnownNetworkItem_init_zero, socket_message_KnownNetworkItem_init_zero, \ + socket_message_KnownNetworkItem_init_zero, socket_message_KnownNetworkItem_init_zero, \ + socket_message_KnownNetworkItem_init_zero, socket_message_KnownNetworkItem_init_zero, \ + socket_message_KnownNetworkItem_init_zero, socket_message_KnownNetworkItem_init_zero \ + } \ + } +#define socket_message_RSSIData_init_zero \ + { 0 } +#define socket_message_DownloadOTAData_init_zero \ + { "", 0, "" } +#define socket_message_SonarData_init_zero \ + { "" } +#define socket_message_HumanInputData_init_zero \ + { false, socket_message_Vector_init_zero, false, socket_message_Vector_init_zero, 0, 0, 0 } +#define socket_message_SystemInformation_init_zero \ + { false, socket_message_AnalyticsData_init_zero, false, socket_message_StaticSystemInformation_init_zero } +#define socket_message_WalkGaitData_init_zero \ + { _socket_message_WalkGaits_MIN } +#define socket_message_KinematicData_init_zero \ + { 0, 0, 0, 0, 0, 0 } +#define socket_message_SubscribeNotification_init_zero \ + { 0 } +#define socket_message_UnsubscribeNotification_init_zero \ + { 0 } +#define socket_message_PingMsg_init_zero \ + { 0 } +#define socket_message_PongMsg_init_zero \ + { 0 } +#define socket_message_WebsocketMessage_init_zero \ + { \ + 0, { socket_message_CorrelationRequest_init_zero } \ + } /* Field tags (for use in manual encoding/decoding) */ -#define socket_message_Vector_x_tag 1 -#define socket_message_Vector_y_tag 2 -#define socket_message_I2CDevice_address_tag 1 +#define socket_message_Vector_x_tag 1 +#define socket_message_Vector_y_tag 2 +#define socket_message_I2CDevice_address_tag 1 #define socket_message_I2CDevice_part_number_tag 2 -#define socket_message_I2CDevice_name_tag 3 -#define socket_message_PinConfig_pin_tag 1 -#define socket_message_PinConfig_mode_tag 2 -#define socket_message_PinConfig_type_tag 3 -#define socket_message_PinConfig_role_tag 4 +#define socket_message_I2CDevice_name_tag 3 +#define socket_message_PinConfig_pin_tag 1 +#define socket_message_PinConfig_mode_tag 2 +#define socket_message_PinConfig_type_tag 3 +#define socket_message_PinConfig_role_tag 4 #define socket_message_KnownNetworkItem_ssid_tag 1 #define socket_message_KnownNetworkItem_password_tag 2 #define socket_message_KnownNetworkItem_static_ip_tag 3 @@ -439,13 +566,13 @@ extern "C" { #define socket_message_KnownNetworkItem_gateway_ip_tag 6 #define socket_message_KnownNetworkItem_dns_ip_1_tag 7 #define socket_message_KnownNetworkItem_dns_ip_2_tag 8 -#define socket_message_IMUData_x_tag 1 -#define socket_message_IMUData_y_tag 2 -#define socket_message_IMUData_z_tag 3 -#define socket_message_IMUData_heading_tag 4 -#define socket_message_IMUData_altitude_tag 5 -#define socket_message_IMUData_bmp_temp_tag 6 -#define socket_message_IMUData_pressure_tag 7 +#define socket_message_IMUData_x_tag 1 +#define socket_message_IMUData_y_tag 2 +#define socket_message_IMUData_z_tag 3 +#define socket_message_IMUData_heading_tag 4 +#define socket_message_IMUData_altitude_tag 5 +#define socket_message_IMUData_bmp_temp_tag 6 +#define socket_message_IMUData_pressure_tag 7 #define socket_message_FeaturesDataResponse_variant_tag 10 #define socket_message_FeaturesDataResponse_firmware_built_target_tag 20 #define socket_message_FeaturesDataResponse_firmware_name_tag 30 @@ -460,11 +587,6 @@ extern "C" { #define socket_message_FeaturesDataResponse_mdns_tag 120 #define socket_message_FeaturesDataResponse_embed_www_tag 130 #define socket_message_FeaturesDataRequest_sonar_test_tag 1 -#define socket_message_CorrelationRequest_correlation_id_tag 1 -#define socket_message_CorrelationRequest_features_data_request_tag 10 -#define socket_message_CorrelationResponse_correlation_id_tag 1 -#define socket_message_CorrelationResponse_stauts_code_tag 2 -#define socket_message_CorrelationResponse_features_data_response_tag 10 #define socket_message_StaticSystemInformation_esp_platform_tag 1 #define socket_message_StaticSystemInformation_firmware_version_tag 2 #define socket_message_StaticSystemInformation_cpu_freq_mhz_tag 3 @@ -479,7 +601,7 @@ extern "C" { #define socket_message_StaticSystemInformation_flash_chip_speed_tag 12 #define socket_message_StaticSystemInformation_cpu_reset_reason_tag 13 #define socket_message_IMUCalibrateData_success_tag 1 -#define socket_message_ModeData_mode_tag 1 +#define socket_message_ModeData_mode_tag 1 #define socket_message_ControllerInputData_left_tag 1 #define socket_message_ControllerInputData_right_tag 2 #define socket_message_ControllerInputData_height_tag 3 @@ -494,15 +616,24 @@ extern "C" { #define socket_message_AnalyticsData_core_temp_tag 7 #define socket_message_AnalyticsData_fs_total_tag 8 #define socket_message_AnalyticsData_fs_used_tag 9 -#define socket_message_AnalyticsData_uptime_tag 10 +#define socket_message_AnalyticsData_uptime_tag 10 #define socket_message_AnalyticsData_cpu0_usage_tag 11 #define socket_message_AnalyticsData_cpu1_usage_tag 12 #define socket_message_AnalyticsData_cpu_usage_tag 13 #define socket_message_ServoPWMData_servo_id_tag 1 #define socket_message_ServoPWMData_servo_pwm_tag 2 #define socket_message_ServoStateData_active_tag 1 -#define socket_message_AnglesData_angles_tag 1 -#define socket_message_I2CScanData_devices_tag 1 +#define socket_message_AnglesData_angles_tag 1 +#define socket_message_I2CScanData_devices_tag 1 +#define socket_message_CorrelationResponse_correlation_id_tag 1 +#define socket_message_CorrelationResponse_status_code_tag 2 +#define socket_message_CorrelationResponse_features_data_response_tag 10 +#define socket_message_CorrelationResponse_i2c_scan_data_tag 20 +#define socket_message_CorrelationResponse_imu_calibrate_data_tag 30 +#define socket_message_CorrelationRequest_correlation_id_tag 1 +#define socket_message_CorrelationRequest_features_data_request_tag 10 +#define socket_message_CorrelationRequest_i2c_scan_data_request_tag 20 +#define socket_message_CorrelationRequest_imu_calibrate_execute_tag 30 #define socket_message_PeripheralSettingsData_sda_tag 1 #define socket_message_PeripheralSettingsData_scl_tag 2 #define socket_message_PeripheralSettingsData_frequency_tag 3 @@ -510,25 +641,25 @@ extern "C" { #define socket_message_WifiSettingsData_hostname_tag 1 #define socket_message_WifiSettingsData_priority_rssi_tag 2 #define socket_message_WifiSettingsData_wifi_networks_tag 3 -#define socket_message_RSSIData_rssi_tag 1 +#define socket_message_RSSIData_rssi_tag 1 #define socket_message_DownloadOTAData_status_tag 1 #define socket_message_DownloadOTAData_progress_tag 2 #define socket_message_DownloadOTAData_error_tag 3 #define socket_message_SonarData_dummy_field_tag 1 -#define socket_message_HumanInputData_left_tag 10 -#define socket_message_HumanInputData_right_tag 11 +#define socket_message_HumanInputData_left_tag 10 +#define socket_message_HumanInputData_right_tag 11 #define socket_message_HumanInputData_height_tag 20 -#define socket_message_HumanInputData_speed_tag 21 -#define socket_message_HumanInputData_s1_tag 22 +#define socket_message_HumanInputData_speed_tag 21 +#define socket_message_HumanInputData_s1_tag 22 #define socket_message_SystemInformation_analytics_data_tag 1 #define socket_message_SystemInformation_static_system_information_tag 2 -#define socket_message_WalkGaitData_gait_tag 1 -#define socket_message_KinematicData_omega_tag 1 -#define socket_message_KinematicData_phi_tag 2 -#define socket_message_KinematicData_psi_tag 3 -#define socket_message_KinematicData_xm_tag 4 -#define socket_message_KinematicData_ym_tag 5 -#define socket_message_KinematicData_zm_tag 6 +#define socket_message_WalkGaitData_gait_tag 1 +#define socket_message_KinematicData_omega_tag 1 +#define socket_message_KinematicData_phi_tag 2 +#define socket_message_KinematicData_psi_tag 3 +#define socket_message_KinematicData_xm_tag 4 +#define socket_message_KinematicData_ym_tag 5 +#define socket_message_KinematicData_zm_tag 6 #define socket_message_SubscribeNotification_tag_tag 1 #define socket_message_UnsubscribeNotification_tag_tag 1 #define socket_message_WebsocketMessage_correlation_request_tag 10 @@ -537,7 +668,7 @@ extern "C" { #define socket_message_WebsocketMessage_unsub_notif_tag 21 #define socket_message_WebsocketMessage_pingmsg_tag 30 #define socket_message_WebsocketMessage_pongmsg_tag 31 -#define socket_message_WebsocketMessage_imu_tag 110 +#define socket_message_WebsocketMessage_imu_tag 110 #define socket_message_WebsocketMessage_imu_calibrate_tag 120 #define socket_message_WebsocketMessage_imu_calibrate_execute_tag 121 #define socket_message_WebsocketMessage_mode_tag 130 @@ -558,291 +689,289 @@ extern "C" { /* Struct field encoding specification for nanopb */ #define socket_message_Vector_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, FLOAT, x, 1) \ -X(a, STATIC, SINGULAR, FLOAT, y, 2) + X(a, STATIC, SINGULAR, FLOAT, x, 1) \ + X(a, STATIC, SINGULAR, FLOAT, y, 2) #define socket_message_Vector_CALLBACK NULL #define socket_message_Vector_DEFAULT NULL -#define socket_message_I2CDevice_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, INT32, address, 1) \ -X(a, STATIC, SINGULAR, STRING, part_number, 2) \ -X(a, STATIC, SINGULAR, STRING, name, 3) +#define socket_message_I2CDevice_FIELDLIST(X, a) \ + X(a, STATIC, SINGULAR, INT32, address, 1) \ + X(a, STATIC, SINGULAR, STRING, part_number, 2) \ + X(a, STATIC, SINGULAR, STRING, name, 3) #define socket_message_I2CDevice_CALLBACK NULL #define socket_message_I2CDevice_DEFAULT NULL #define socket_message_PinConfig_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, INT32, pin, 1) \ -X(a, STATIC, SINGULAR, STRING, mode, 2) \ -X(a, STATIC, SINGULAR, STRING, type, 3) \ -X(a, STATIC, SINGULAR, STRING, role, 4) + X(a, STATIC, SINGULAR, INT32, pin, 1) \ + X(a, STATIC, SINGULAR, STRING, mode, 2) \ + X(a, STATIC, SINGULAR, STRING, type, 3) \ + X(a, STATIC, SINGULAR, STRING, role, 4) #define socket_message_PinConfig_CALLBACK NULL #define socket_message_PinConfig_DEFAULT NULL #define socket_message_KnownNetworkItem_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, STRING, ssid, 1) \ -X(a, STATIC, SINGULAR, STRING, password, 2) \ -X(a, STATIC, SINGULAR, BOOL, static_ip, 3) \ -X(a, STATIC, OPTIONAL, STRING, local_ip, 4) \ -X(a, STATIC, OPTIONAL, STRING, subnet_mask, 5) \ -X(a, STATIC, OPTIONAL, STRING, gateway_ip, 6) \ -X(a, STATIC, OPTIONAL, STRING, dns_ip_1, 7) \ -X(a, STATIC, OPTIONAL, STRING, dns_ip_2, 8) + X(a, STATIC, SINGULAR, STRING, ssid, 1) \ + X(a, STATIC, SINGULAR, STRING, password, 2) \ + X(a, STATIC, SINGULAR, BOOL, static_ip, 3) \ + X(a, STATIC, OPTIONAL, STRING, local_ip, 4) \ + X(a, STATIC, OPTIONAL, STRING, subnet_mask, 5) \ + X(a, STATIC, OPTIONAL, STRING, gateway_ip, 6) \ + X(a, STATIC, OPTIONAL, STRING, dns_ip_1, 7) \ + X(a, STATIC, OPTIONAL, STRING, dns_ip_2, 8) #define socket_message_KnownNetworkItem_CALLBACK NULL #define socket_message_KnownNetworkItem_DEFAULT NULL #define socket_message_IMUData_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, FLOAT, x, 1) \ -X(a, STATIC, SINGULAR, FLOAT, y, 2) \ -X(a, STATIC, SINGULAR, FLOAT, z, 3) \ -X(a, STATIC, SINGULAR, FLOAT, heading, 4) \ -X(a, STATIC, SINGULAR, FLOAT, altitude, 5) \ -X(a, STATIC, SINGULAR, FLOAT, bmp_temp, 6) \ -X(a, STATIC, SINGULAR, FLOAT, pressure, 7) + X(a, STATIC, SINGULAR, FLOAT, x, 1) \ + X(a, STATIC, SINGULAR, FLOAT, y, 2) \ + X(a, STATIC, SINGULAR, FLOAT, z, 3) \ + X(a, STATIC, SINGULAR, FLOAT, heading, 4) \ + X(a, STATIC, SINGULAR, FLOAT, altitude, 5) \ + X(a, STATIC, SINGULAR, FLOAT, bmp_temp, 6) \ + X(a, STATIC, SINGULAR, FLOAT, pressure, 7) #define socket_message_IMUData_CALLBACK NULL #define socket_message_IMUData_DEFAULT NULL -#define socket_message_FeaturesDataResponse_FIELDLIST(X, a) \ -X(a, POINTER, SINGULAR, STRING, variant, 10) \ -X(a, POINTER, SINGULAR, STRING, firmware_built_target, 20) \ -X(a, POINTER, SINGULAR, STRING, firmware_name, 30) \ -X(a, POINTER, SINGULAR, STRING, firmware_version, 40) \ -X(a, STATIC, SINGULAR, BOOL, camera, 50) \ -X(a, STATIC, SINGULAR, BOOL, imu, 60) \ -X(a, STATIC, SINGULAR, BOOL, mag, 70) \ -X(a, STATIC, SINGULAR, BOOL, bmp, 80) \ -X(a, STATIC, SINGULAR, BOOL, sonar, 90) \ -X(a, STATIC, SINGULAR, BOOL, servo, 100) \ -X(a, STATIC, SINGULAR, BOOL, ws2812, 110) \ -X(a, STATIC, SINGULAR, BOOL, mdns, 120) \ -X(a, STATIC, SINGULAR, BOOL, embed_www, 130) +#define socket_message_FeaturesDataResponse_FIELDLIST(X, a) \ + X(a, POINTER, SINGULAR, STRING, variant, 10) \ + X(a, POINTER, SINGULAR, STRING, firmware_built_target, 20) \ + X(a, POINTER, SINGULAR, STRING, firmware_name, 30) \ + X(a, POINTER, SINGULAR, STRING, firmware_version, 40) \ + X(a, STATIC, SINGULAR, BOOL, camera, 50) \ + X(a, STATIC, SINGULAR, BOOL, imu, 60) \ + X(a, STATIC, SINGULAR, BOOL, mag, 70) \ + X(a, STATIC, SINGULAR, BOOL, bmp, 80) \ + X(a, STATIC, SINGULAR, BOOL, sonar, 90) \ + X(a, STATIC, SINGULAR, BOOL, servo, 100) \ + X(a, STATIC, SINGULAR, BOOL, ws2812, 110) \ + X(a, STATIC, SINGULAR, BOOL, mdns, 120) \ + X(a, STATIC, SINGULAR, BOOL, embed_www, 130) #define socket_message_FeaturesDataResponse_CALLBACK NULL #define socket_message_FeaturesDataResponse_DEFAULT NULL -#define socket_message_FeaturesDataRequest_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, BOOL, sonar_test, 1) +#define socket_message_FeaturesDataRequest_FIELDLIST(X, a) X(a, STATIC, SINGULAR, BOOL, sonar_test, 1) #define socket_message_FeaturesDataRequest_CALLBACK NULL #define socket_message_FeaturesDataRequest_DEFAULT NULL -#define socket_message_CorrelationRequest_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, UINT32, correlation_id, 1) \ -X(a, STATIC, ONEOF, MESSAGE, (request,features_data_request,request.features_data_request), 10) +#define socket_message_CorrelationRequest_FIELDLIST(X, a) \ + X(a, STATIC, SINGULAR, UINT32, correlation_id, 1) \ + X(a, STATIC, ONEOF, MESSAGE, (request, features_data_request, request.features_data_request), 10) \ + X(a, STATIC, ONEOF, MESSAGE, (request, i2c_scan_data_request, request.i2c_scan_data_request), 20) \ + X(a, STATIC, ONEOF, MESSAGE, (request, imu_calibrate_execute, request.imu_calibrate_execute), 30) #define socket_message_CorrelationRequest_CALLBACK NULL #define socket_message_CorrelationRequest_DEFAULT NULL #define socket_message_CorrelationRequest_request_features_data_request_MSGTYPE socket_message_FeaturesDataRequest +#define socket_message_CorrelationRequest_request_i2c_scan_data_request_MSGTYPE socket_message_I2CScanDataRequest +#define socket_message_CorrelationRequest_request_imu_calibrate_execute_MSGTYPE socket_message_IMUCalibrateExecute -#define socket_message_CorrelationResponse_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, UINT32, correlation_id, 1) \ -X(a, STATIC, SINGULAR, UINT32, stauts_code, 2) \ -X(a, STATIC, ONEOF, MESSAGE, (response,features_data_response,response.features_data_response), 10) +#define socket_message_CorrelationResponse_FIELDLIST(X, a) \ + X(a, STATIC, SINGULAR, UINT32, correlation_id, 1) \ + X(a, STATIC, SINGULAR, UINT32, status_code, 2) \ + X(a, STATIC, ONEOF, MESSAGE, (response, features_data_response, response.features_data_response), 10) \ + X(a, STATIC, ONEOF, MESSAGE, (response, i2c_scan_data, response.i2c_scan_data), 20) \ + X(a, STATIC, ONEOF, MESSAGE, (response, imu_calibrate_data, response.imu_calibrate_data), 30) #define socket_message_CorrelationResponse_CALLBACK NULL #define socket_message_CorrelationResponse_DEFAULT NULL #define socket_message_CorrelationResponse_response_features_data_response_MSGTYPE socket_message_FeaturesDataResponse +#define socket_message_CorrelationResponse_response_i2c_scan_data_MSGTYPE socket_message_I2CScanData +#define socket_message_CorrelationResponse_response_imu_calibrate_data_MSGTYPE socket_message_IMUCalibrateData #define socket_message_StaticSystemInformation_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, STRING, esp_platform, 1) \ -X(a, STATIC, SINGULAR, STRING, firmware_version, 2) \ -X(a, STATIC, SINGULAR, UINT32, cpu_freq_mhz, 3) \ -X(a, STATIC, SINGULAR, STRING, cpu_type, 4) \ -X(a, STATIC, SINGULAR, INT32, cpu_rev, 5) \ -X(a, STATIC, SINGULAR, UINT32, cpu_cores, 6) \ -X(a, STATIC, SINGULAR, UINT32, sketch_size, 7) \ -X(a, STATIC, SINGULAR, UINT32, free_sketch_space, 8) \ -X(a, STATIC, SINGULAR, STRING, sdk_version, 9) \ -X(a, STATIC, SINGULAR, STRING, arduino_version, 10) \ -X(a, STATIC, SINGULAR, UINT32, flash_chip_size, 11) \ -X(a, STATIC, SINGULAR, UINT32, flash_chip_speed, 12) \ -X(a, STATIC, SINGULAR, STRING, cpu_reset_reason, 13) + X(a, STATIC, SINGULAR, STRING, esp_platform, 1) \ + X(a, STATIC, SINGULAR, STRING, firmware_version, 2) \ + X(a, STATIC, SINGULAR, UINT32, cpu_freq_mhz, 3) \ + X(a, STATIC, SINGULAR, STRING, cpu_type, 4) \ + X(a, STATIC, SINGULAR, INT32, cpu_rev, 5) \ + X(a, STATIC, SINGULAR, UINT32, cpu_cores, 6) \ + X(a, STATIC, SINGULAR, UINT32, sketch_size, 7) \ + X(a, STATIC, SINGULAR, UINT32, free_sketch_space, 8) \ + X(a, STATIC, SINGULAR, STRING, sdk_version, 9) \ + X(a, STATIC, SINGULAR, STRING, arduino_version, 10) \ + X(a, STATIC, SINGULAR, UINT32, flash_chip_size, 11) \ + X(a, STATIC, SINGULAR, UINT32, flash_chip_speed, 12) \ + X(a, STATIC, SINGULAR, STRING, cpu_reset_reason, 13) #define socket_message_StaticSystemInformation_CALLBACK NULL #define socket_message_StaticSystemInformation_DEFAULT NULL -#define socket_message_IMUCalibrateData_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, BOOL, success, 1) +#define socket_message_IMUCalibrateData_FIELDLIST(X, a) X(a, STATIC, SINGULAR, BOOL, success, 1) #define socket_message_IMUCalibrateData_CALLBACK NULL #define socket_message_IMUCalibrateData_DEFAULT NULL -#define socket_message_IMUCalibrateExecute_FIELDLIST(X, a) \ +#define socket_message_IMUCalibrateExecute_FIELDLIST(X, a) #define socket_message_IMUCalibrateExecute_CALLBACK NULL #define socket_message_IMUCalibrateExecute_DEFAULT NULL -#define socket_message_ModeData_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, UENUM, mode, 1) +#define socket_message_ModeData_FIELDLIST(X, a) X(a, STATIC, SINGULAR, UENUM, mode, 1) #define socket_message_ModeData_CALLBACK NULL #define socket_message_ModeData_DEFAULT NULL #define socket_message_ControllerInputData_FIELDLIST(X, a) \ -X(a, STATIC, OPTIONAL, MESSAGE, left, 1) \ -X(a, STATIC, OPTIONAL, MESSAGE, right, 2) \ -X(a, STATIC, SINGULAR, FLOAT, height, 3) \ -X(a, STATIC, SINGULAR, FLOAT, speed, 4) \ -X(a, STATIC, SINGULAR, FLOAT, s1, 5) + X(a, STATIC, OPTIONAL, MESSAGE, left, 1) \ + X(a, STATIC, OPTIONAL, MESSAGE, right, 2) \ + X(a, STATIC, SINGULAR, FLOAT, height, 3) \ + X(a, STATIC, SINGULAR, FLOAT, speed, 4) \ + X(a, STATIC, SINGULAR, FLOAT, s1, 5) #define socket_message_ControllerInputData_CALLBACK NULL #define socket_message_ControllerInputData_DEFAULT NULL #define socket_message_ControllerInputData_left_MSGTYPE socket_message_Vector #define socket_message_ControllerInputData_right_MSGTYPE socket_message_Vector #define socket_message_AnalyticsData_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, INT32, max_alloc_heap, 1) \ -X(a, STATIC, SINGULAR, INT32, psram_size, 2) \ -X(a, STATIC, SINGULAR, INT32, free_psram, 3) \ -X(a, STATIC, SINGULAR, INT32, free_heap, 4) \ -X(a, STATIC, SINGULAR, INT32, total_heap, 5) \ -X(a, STATIC, SINGULAR, INT32, min_free_heap, 6) \ -X(a, STATIC, SINGULAR, FLOAT, core_temp, 7) \ -X(a, STATIC, SINGULAR, INT32, fs_total, 8) \ -X(a, STATIC, SINGULAR, INT32, fs_used, 9) \ -X(a, STATIC, SINGULAR, INT64, uptime, 10) \ -X(a, STATIC, SINGULAR, INT32, cpu0_usage, 11) \ -X(a, STATIC, SINGULAR, INT32, cpu1_usage, 12) \ -X(a, STATIC, SINGULAR, INT32, cpu_usage, 13) + X(a, STATIC, SINGULAR, INT32, max_alloc_heap, 1) \ + X(a, STATIC, SINGULAR, INT32, psram_size, 2) \ + X(a, STATIC, SINGULAR, INT32, free_psram, 3) \ + X(a, STATIC, SINGULAR, INT32, free_heap, 4) \ + X(a, STATIC, SINGULAR, INT32, total_heap, 5) \ + X(a, STATIC, SINGULAR, INT32, min_free_heap, 6) \ + X(a, STATIC, SINGULAR, FLOAT, core_temp, 7) \ + X(a, STATIC, SINGULAR, INT32, fs_total, 8) \ + X(a, STATIC, SINGULAR, INT32, fs_used, 9) \ + X(a, STATIC, SINGULAR, INT64, uptime, 10) \ + X(a, STATIC, SINGULAR, INT32, cpu0_usage, 11) \ + X(a, STATIC, SINGULAR, INT32, cpu1_usage, 12) \ + X(a, STATIC, SINGULAR, INT32, cpu_usage, 13) #define socket_message_AnalyticsData_CALLBACK NULL #define socket_message_AnalyticsData_DEFAULT NULL #define socket_message_ServoPWMData_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, INT32, servo_id, 1) \ -X(a, STATIC, SINGULAR, UINT32, servo_pwm, 2) + X(a, STATIC, SINGULAR, INT32, servo_id, 1) \ + X(a, STATIC, SINGULAR, UINT32, servo_pwm, 2) #define socket_message_ServoPWMData_CALLBACK NULL #define socket_message_ServoPWMData_DEFAULT NULL -#define socket_message_ServoStateData_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, BOOL, active, 1) +#define socket_message_ServoStateData_FIELDLIST(X, a) X(a, STATIC, SINGULAR, BOOL, active, 1) #define socket_message_ServoStateData_CALLBACK NULL #define socket_message_ServoStateData_DEFAULT NULL -#define socket_message_AnglesData_FIELDLIST(X, a) \ -X(a, STATIC, REPEATED, INT32, angles, 1) +#define socket_message_AnglesData_FIELDLIST(X, a) X(a, STATIC, REPEATED, INT32, angles, 1) #define socket_message_AnglesData_CALLBACK NULL #define socket_message_AnglesData_DEFAULT NULL -#define socket_message_I2CScanData_FIELDLIST(X, a) \ -X(a, STATIC, REPEATED, MESSAGE, devices, 1) +#define socket_message_I2CScanData_FIELDLIST(X, a) X(a, STATIC, REPEATED, MESSAGE, devices, 1) #define socket_message_I2CScanData_CALLBACK NULL #define socket_message_I2CScanData_DEFAULT NULL #define socket_message_I2CScanData_devices_MSGTYPE socket_message_I2CDevice -#define socket_message_I2CScanDataRequest_FIELDLIST(X, a) \ +#define socket_message_I2CScanDataRequest_FIELDLIST(X, a) #define socket_message_I2CScanDataRequest_CALLBACK NULL #define socket_message_I2CScanDataRequest_DEFAULT NULL #define socket_message_PeripheralSettingsData_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, INT32, sda, 1) \ -X(a, STATIC, SINGULAR, INT32, scl, 2) \ -X(a, STATIC, SINGULAR, INT32, frequency, 3) \ -X(a, STATIC, REPEATED, MESSAGE, pins, 4) + X(a, STATIC, SINGULAR, INT32, sda, 1) \ + X(a, STATIC, SINGULAR, INT32, scl, 2) \ + X(a, STATIC, SINGULAR, INT32, frequency, 3) \ + X(a, STATIC, REPEATED, MESSAGE, pins, 4) #define socket_message_PeripheralSettingsData_CALLBACK NULL #define socket_message_PeripheralSettingsData_DEFAULT NULL #define socket_message_PeripheralSettingsData_pins_MSGTYPE socket_message_PinConfig -#define socket_message_PeripheralSettingsDataRequest_FIELDLIST(X, a) \ +#define socket_message_PeripheralSettingsDataRequest_FIELDLIST(X, a) #define socket_message_PeripheralSettingsDataRequest_CALLBACK NULL #define socket_message_PeripheralSettingsDataRequest_DEFAULT NULL #define socket_message_WifiSettingsData_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, STRING, hostname, 1) \ -X(a, STATIC, SINGULAR, BOOL, priority_rssi, 2) \ -X(a, STATIC, REPEATED, MESSAGE, wifi_networks, 3) + X(a, STATIC, SINGULAR, STRING, hostname, 1) \ + X(a, STATIC, SINGULAR, BOOL, priority_rssi, 2) \ + X(a, STATIC, REPEATED, MESSAGE, wifi_networks, 3) #define socket_message_WifiSettingsData_CALLBACK NULL #define socket_message_WifiSettingsData_DEFAULT NULL #define socket_message_WifiSettingsData_wifi_networks_MSGTYPE socket_message_KnownNetworkItem -#define socket_message_RSSIData_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, INT32, rssi, 1) +#define socket_message_RSSIData_FIELDLIST(X, a) X(a, STATIC, SINGULAR, INT32, rssi, 1) #define socket_message_RSSIData_CALLBACK NULL #define socket_message_RSSIData_DEFAULT NULL #define socket_message_DownloadOTAData_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, STRING, status, 1) \ -X(a, STATIC, SINGULAR, INT32, progress, 2) \ -X(a, STATIC, SINGULAR, STRING, error, 3) + X(a, STATIC, SINGULAR, STRING, status, 1) \ + X(a, STATIC, SINGULAR, INT32, progress, 2) \ + X(a, STATIC, SINGULAR, STRING, error, 3) #define socket_message_DownloadOTAData_CALLBACK NULL #define socket_message_DownloadOTAData_DEFAULT NULL -#define socket_message_SonarData_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, STRING, dummy_field, 1) +#define socket_message_SonarData_FIELDLIST(X, a) X(a, STATIC, SINGULAR, STRING, dummy_field, 1) #define socket_message_SonarData_CALLBACK NULL #define socket_message_SonarData_DEFAULT NULL #define socket_message_HumanInputData_FIELDLIST(X, a) \ -X(a, STATIC, OPTIONAL, MESSAGE, left, 10) \ -X(a, STATIC, OPTIONAL, MESSAGE, right, 11) \ -X(a, STATIC, SINGULAR, FLOAT, height, 20) \ -X(a, STATIC, SINGULAR, FLOAT, speed, 21) \ -X(a, STATIC, SINGULAR, FLOAT, s1, 22) + X(a, STATIC, OPTIONAL, MESSAGE, left, 10) \ + X(a, STATIC, OPTIONAL, MESSAGE, right, 11) \ + X(a, STATIC, SINGULAR, FLOAT, height, 20) \ + X(a, STATIC, SINGULAR, FLOAT, speed, 21) \ + X(a, STATIC, SINGULAR, FLOAT, s1, 22) #define socket_message_HumanInputData_CALLBACK NULL #define socket_message_HumanInputData_DEFAULT NULL #define socket_message_HumanInputData_left_MSGTYPE socket_message_Vector #define socket_message_HumanInputData_right_MSGTYPE socket_message_Vector #define socket_message_SystemInformation_FIELDLIST(X, a) \ -X(a, STATIC, OPTIONAL, MESSAGE, analytics_data, 1) \ -X(a, STATIC, OPTIONAL, MESSAGE, static_system_information, 2) + X(a, STATIC, OPTIONAL, MESSAGE, analytics_data, 1) \ + X(a, STATIC, OPTIONAL, MESSAGE, static_system_information, 2) #define socket_message_SystemInformation_CALLBACK NULL #define socket_message_SystemInformation_DEFAULT NULL #define socket_message_SystemInformation_analytics_data_MSGTYPE socket_message_AnalyticsData #define socket_message_SystemInformation_static_system_information_MSGTYPE socket_message_StaticSystemInformation -#define socket_message_WalkGaitData_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, UENUM, gait, 1) +#define socket_message_WalkGaitData_FIELDLIST(X, a) X(a, STATIC, SINGULAR, UENUM, gait, 1) #define socket_message_WalkGaitData_CALLBACK NULL #define socket_message_WalkGaitData_DEFAULT NULL #define socket_message_KinematicData_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, FLOAT, omega, 1) \ -X(a, STATIC, SINGULAR, FLOAT, phi, 2) \ -X(a, STATIC, SINGULAR, FLOAT, psi, 3) \ -X(a, STATIC, SINGULAR, FLOAT, xm, 4) \ -X(a, STATIC, SINGULAR, FLOAT, ym, 5) \ -X(a, STATIC, SINGULAR, FLOAT, zm, 6) + X(a, STATIC, SINGULAR, FLOAT, omega, 1) \ + X(a, STATIC, SINGULAR, FLOAT, phi, 2) \ + X(a, STATIC, SINGULAR, FLOAT, psi, 3) \ + X(a, STATIC, SINGULAR, FLOAT, xm, 4) \ + X(a, STATIC, SINGULAR, FLOAT, ym, 5) \ + X(a, STATIC, SINGULAR, FLOAT, zm, 6) #define socket_message_KinematicData_CALLBACK NULL #define socket_message_KinematicData_DEFAULT NULL -#define socket_message_SubscribeNotification_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, INT32, tag, 1) +#define socket_message_SubscribeNotification_FIELDLIST(X, a) X(a, STATIC, SINGULAR, INT32, tag, 1) #define socket_message_SubscribeNotification_CALLBACK NULL #define socket_message_SubscribeNotification_DEFAULT NULL -#define socket_message_UnsubscribeNotification_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, INT32, tag, 1) +#define socket_message_UnsubscribeNotification_FIELDLIST(X, a) X(a, STATIC, SINGULAR, INT32, tag, 1) #define socket_message_UnsubscribeNotification_CALLBACK NULL #define socket_message_UnsubscribeNotification_DEFAULT NULL -#define socket_message_PingMsg_FIELDLIST(X, a) \ +#define socket_message_PingMsg_FIELDLIST(X, a) #define socket_message_PingMsg_CALLBACK NULL #define socket_message_PingMsg_DEFAULT NULL -#define socket_message_PongMsg_FIELDLIST(X, a) \ +#define socket_message_PongMsg_FIELDLIST(X, a) #define socket_message_PongMsg_CALLBACK NULL #define socket_message_PongMsg_DEFAULT NULL -#define socket_message_WebsocketMessage_FIELDLIST(X, a) \ -X(a, STATIC, ONEOF, MESSAGE, (message,correlation_request,message.correlation_request), 10) \ -X(a, STATIC, ONEOF, MESSAGE, (message,correlation_response,message.correlation_response), 11) \ -X(a, STATIC, ONEOF, MESSAGE, (message,sub_notif,message.sub_notif), 20) \ -X(a, STATIC, ONEOF, MESSAGE, (message,unsub_notif,message.unsub_notif), 21) \ -X(a, STATIC, ONEOF, MESSAGE, (message,pingmsg,message.pingmsg), 30) \ -X(a, STATIC, ONEOF, MESSAGE, (message,pongmsg,message.pongmsg), 31) \ -X(a, STATIC, ONEOF, MESSAGE, (message,imu,message.imu), 110) \ -X(a, STATIC, ONEOF, MESSAGE, (message,imu_calibrate,message.imu_calibrate), 120) \ -X(a, STATIC, ONEOF, MESSAGE, (message,imu_calibrate_execute,message.imu_calibrate_execute), 121) \ -X(a, STATIC, ONEOF, MESSAGE, (message,mode,message.mode), 130) \ -X(a, STATIC, ONEOF, MESSAGE, (message,input,message.input), 140) \ -X(a, STATIC, ONEOF, MESSAGE, (message,analytics,message.analytics), 150) \ -X(a, STATIC, ONEOF, MESSAGE, (message,walk_gait,message.walk_gait), 160) \ -X(a, STATIC, ONEOF, MESSAGE, (message,angles,message.angles), 170) \ -X(a, STATIC, ONEOF, MESSAGE, (message,i2c_scan,message.i2c_scan), 180) \ -X(a, STATIC, ONEOF, MESSAGE, (message,i2c_scan_data_request,message.i2c_scan_data_request), 181) \ -X(a, STATIC, ONEOF, MESSAGE, (message,peripheral_settings,message.peripheral_settings), 190) \ -X(a, STATIC, ONEOF, MESSAGE, (message,peripheral_settings_data_request,message.peripheral_settings_data_request), 191) \ -X(a, STATIC, ONEOF, MESSAGE, (message,kinematic_data,message.kinematic_data), 200) \ -X(a, STATIC, ONEOF, MESSAGE, (message,servo_pwm,message.servo_pwm), 210) \ -X(a, STATIC, ONEOF, MESSAGE, (message,servo_state,message.servo_state), 211) \ -X(a, STATIC, ONEOF, MESSAGE, (message,wifi_settings,message.wifi_settings), 240) \ -X(a, STATIC, ONEOF, MESSAGE, (message,human_input_data,message.human_input_data), 250) \ -X(a, STATIC, ONEOF, MESSAGE, (message,rssi,message.rssi), 260) +#define socket_message_WebsocketMessage_FIELDLIST(X, a) \ + X(a, STATIC, ONEOF, MESSAGE, (message, correlation_request, message.correlation_request), 10) \ + X(a, STATIC, ONEOF, MESSAGE, (message, correlation_response, message.correlation_response), 11) \ + X(a, STATIC, ONEOF, MESSAGE, (message, sub_notif, message.sub_notif), 20) \ + X(a, STATIC, ONEOF, MESSAGE, (message, unsub_notif, message.unsub_notif), 21) \ + X(a, STATIC, ONEOF, MESSAGE, (message, pingmsg, message.pingmsg), 30) \ + X(a, STATIC, ONEOF, MESSAGE, (message, pongmsg, message.pongmsg), 31) \ + X(a, STATIC, ONEOF, MESSAGE, (message, imu, message.imu), 110) \ + X(a, STATIC, ONEOF, MESSAGE, (message, imu_calibrate, message.imu_calibrate), 120) \ + X(a, STATIC, ONEOF, MESSAGE, (message, imu_calibrate_execute, message.imu_calibrate_execute), 121) \ + X(a, STATIC, ONEOF, MESSAGE, (message, mode, message.mode), 130) \ + X(a, STATIC, ONEOF, MESSAGE, (message, input, message.input), 140) \ + X(a, STATIC, ONEOF, MESSAGE, (message, analytics, message.analytics), 150) \ + X(a, STATIC, ONEOF, MESSAGE, (message, walk_gait, message.walk_gait), 160) \ + X(a, STATIC, ONEOF, MESSAGE, (message, angles, message.angles), 170) \ + X(a, STATIC, ONEOF, MESSAGE, (message, i2c_scan, message.i2c_scan), 180) \ + X(a, STATIC, ONEOF, MESSAGE, (message, i2c_scan_data_request, message.i2c_scan_data_request), 181) \ + X(a, STATIC, ONEOF, MESSAGE, (message, peripheral_settings, message.peripheral_settings), 190) \ + X(a, STATIC, ONEOF, MESSAGE, \ + (message, peripheral_settings_data_request, message.peripheral_settings_data_request), 191) \ + X(a, STATIC, ONEOF, MESSAGE, (message, kinematic_data, message.kinematic_data), 200) \ + X(a, STATIC, ONEOF, MESSAGE, (message, servo_pwm, message.servo_pwm), 210) \ + X(a, STATIC, ONEOF, MESSAGE, (message, servo_state, message.servo_state), 211) \ + X(a, STATIC, ONEOF, MESSAGE, (message, wifi_settings, message.wifi_settings), 240) \ + X(a, STATIC, ONEOF, MESSAGE, (message, human_input_data, message.human_input_data), 250) \ + X(a, STATIC, ONEOF, MESSAGE, (message, rssi, message.rssi), 260) #define socket_message_WebsocketMessage_CALLBACK NULL #define socket_message_WebsocketMessage_DEFAULT NULL #define socket_message_WebsocketMessage_message_correlation_request_MSGTYPE socket_message_CorrelationRequest @@ -862,7 +991,8 @@ X(a, STATIC, ONEOF, MESSAGE, (message,rssi,message.rssi), 260) #define socket_message_WebsocketMessage_message_i2c_scan_MSGTYPE socket_message_I2CScanData #define socket_message_WebsocketMessage_message_i2c_scan_data_request_MSGTYPE socket_message_I2CScanDataRequest #define socket_message_WebsocketMessage_message_peripheral_settings_MSGTYPE socket_message_PeripheralSettingsData -#define socket_message_WebsocketMessage_message_peripheral_settings_data_request_MSGTYPE socket_message_PeripheralSettingsDataRequest +#define socket_message_WebsocketMessage_message_peripheral_settings_data_request_MSGTYPE \ + socket_message_PeripheralSettingsDataRequest #define socket_message_WebsocketMessage_message_kinematic_data_MSGTYPE socket_message_KinematicData #define socket_message_WebsocketMessage_message_servo_pwm_MSGTYPE socket_message_ServoPWMData #define socket_message_WebsocketMessage_message_servo_state_MSGTYPE socket_message_ServoStateData @@ -948,38 +1078,38 @@ extern const pb_msgdesc_t socket_message_WebsocketMessage_msg; /* socket_message_CorrelationResponse_size depends on runtime parameters */ /* socket_message_WebsocketMessage_size depends on runtime parameters */ #define SOCKET_MESSAGE_WEBSOCKET_MESSAGE_PB_H_MAX_SIZE socket_message_PeripheralSettingsData_size -#define socket_message_AnalyticsData_size 137 -#define socket_message_AnglesData_size 132 -#define socket_message_ControllerInputData_size 39 -#define socket_message_CorrelationRequest_size 10 -#define socket_message_DownloadOTAData_size 109 -#define socket_message_FeaturesDataRequest_size 2 -#define socket_message_HumanInputData_size 42 -#define socket_message_I2CDevice_size 77 -#define socket_message_I2CScanDataRequest_size 0 -#define socket_message_I2CScanData_size 1264 -#define socket_message_IMUCalibrateData_size 2 -#define socket_message_IMUCalibrateExecute_size 0 -#define socket_message_IMUData_size 35 -#define socket_message_KinematicData_size 30 -#define socket_message_KnownNetworkItem_size 186 -#define socket_message_ModeData_size 2 +#define socket_message_AnalyticsData_size 137 +#define socket_message_AnglesData_size 132 +#define socket_message_ControllerInputData_size 39 +#define socket_message_CorrelationRequest_size 10 +#define socket_message_DownloadOTAData_size 109 +#define socket_message_FeaturesDataRequest_size 2 +#define socket_message_HumanInputData_size 42 +#define socket_message_I2CDevice_size 77 +#define socket_message_I2CScanDataRequest_size 0 +#define socket_message_I2CScanData_size 1264 +#define socket_message_IMUCalibrateData_size 2 +#define socket_message_IMUCalibrateExecute_size 0 +#define socket_message_IMUData_size 35 +#define socket_message_KinematicData_size 30 +#define socket_message_KnownNetworkItem_size 186 +#define socket_message_ModeData_size 2 #define socket_message_PeripheralSettingsDataRequest_size 0 #define socket_message_PeripheralSettingsData_size 2081 -#define socket_message_PinConfig_size 62 -#define socket_message_PingMsg_size 0 -#define socket_message_PongMsg_size 0 -#define socket_message_RSSIData_size 11 -#define socket_message_ServoPWMData_size 17 -#define socket_message_ServoStateData_size 2 -#define socket_message_SonarData_size 17 +#define socket_message_PinConfig_size 62 +#define socket_message_PingMsg_size 0 +#define socket_message_PongMsg_size 0 +#define socket_message_RSSIData_size 11 +#define socket_message_ServoPWMData_size 17 +#define socket_message_ServoStateData_size 2 +#define socket_message_SonarData_size 17 #define socket_message_StaticSystemInformation_size 213 #define socket_message_SubscribeNotification_size 11 -#define socket_message_SystemInformation_size 356 +#define socket_message_SystemInformation_size 356 #define socket_message_UnsubscribeNotification_size 11 -#define socket_message_Vector_size 10 -#define socket_message_WalkGaitData_size 2 -#define socket_message_WifiSettingsData_size 1547 +#define socket_message_Vector_size 10 +#define socket_message_WalkGaitData_size 2 +#define socket_message_WifiSettingsData_size 1547 #ifdef __cplusplus } /* extern "C" */ diff --git a/platform_shared/websocket_message.proto b/platform_shared/websocket_message.proto index 193e191..b700956 100644 --- a/platform_shared/websocket_message.proto +++ b/platform_shared/websocket_message.proto @@ -42,19 +42,20 @@ message FeaturesDataRequest { bool sonar_test = 1; } message CorrelationRequest { - uint32 correlation_id = 1; // Used for request-response correlation + uint32 correlation_id = 1; oneof request { - // NOTE: requests must have same tag id as correlating to the response type (currently not enforced in C, but will be, and tests will fail) FeaturesDataRequest features_data_request = 10; + I2CScanDataRequest i2c_scan_data_request = 20; + IMUCalibrateExecute imu_calibrate_execute = 30; } - } message CorrelationResponse { - uint32 correlation_id = 1; // Used for request-response correlation' - uint32 stauts_code = 2; + uint32 correlation_id = 1; + uint32 status_code = 2; oneof response { - // NOTE: responses must have same tag id as correlating to the request type (currently not enforced in C, but will be, and tests will fail) FeaturesDataResponse features_data_response = 10; + I2CScanData i2c_scan_data = 20; + IMUCalibrateData imu_calibrate_data = 30; } }