Redoing input data and modes,
This commit is contained in:
@@ -10,6 +10,63 @@ import type { FileDescriptorProto } from "ts-proto-descriptors";
|
|||||||
|
|
||||||
export const protobufPackage = "";
|
export const protobufPackage = "";
|
||||||
|
|
||||||
|
export enum ModesEnum {
|
||||||
|
DEACTIVATED = 0,
|
||||||
|
IDLE = 1,
|
||||||
|
CALIBRATION = 2,
|
||||||
|
REST = 3,
|
||||||
|
STAND = 4,
|
||||||
|
WALK = 5,
|
||||||
|
UNRECOGNIZED = -1,
|
||||||
|
}
|
||||||
|
|
||||||
|
export function modesEnumFromJSON(object: any): ModesEnum {
|
||||||
|
switch (object) {
|
||||||
|
case 0:
|
||||||
|
case "DEACTIVATED":
|
||||||
|
return ModesEnum.DEACTIVATED;
|
||||||
|
case 1:
|
||||||
|
case "IDLE":
|
||||||
|
return ModesEnum.IDLE;
|
||||||
|
case 2:
|
||||||
|
case "CALIBRATION":
|
||||||
|
return ModesEnum.CALIBRATION;
|
||||||
|
case 3:
|
||||||
|
case "REST":
|
||||||
|
return ModesEnum.REST;
|
||||||
|
case 4:
|
||||||
|
case "STAND":
|
||||||
|
return ModesEnum.STAND;
|
||||||
|
case 5:
|
||||||
|
case "WALK":
|
||||||
|
return ModesEnum.WALK;
|
||||||
|
case -1:
|
||||||
|
case "UNRECOGNIZED":
|
||||||
|
default:
|
||||||
|
return ModesEnum.UNRECOGNIZED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export function modesEnumToJSON(object: ModesEnum): string {
|
||||||
|
switch (object) {
|
||||||
|
case ModesEnum.DEACTIVATED:
|
||||||
|
return "DEACTIVATED";
|
||||||
|
case ModesEnum.IDLE:
|
||||||
|
return "IDLE";
|
||||||
|
case ModesEnum.CALIBRATION:
|
||||||
|
return "CALIBRATION";
|
||||||
|
case ModesEnum.REST:
|
||||||
|
return "REST";
|
||||||
|
case ModesEnum.STAND:
|
||||||
|
return "STAND";
|
||||||
|
case ModesEnum.WALK:
|
||||||
|
return "WALK";
|
||||||
|
case ModesEnum.UNRECOGNIZED:
|
||||||
|
default:
|
||||||
|
return "UNRECOGNIZED";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export interface Vector {
|
export interface Vector {
|
||||||
x: number;
|
x: number;
|
||||||
y: number;
|
y: number;
|
||||||
@@ -52,7 +109,7 @@ export interface IMUCalibrateData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface ModeData {
|
export interface ModeData {
|
||||||
mode: number;
|
mode: ModesEnum;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ControllerInputData {
|
export interface ControllerInputData {
|
||||||
@@ -114,6 +171,14 @@ export interface SonarData {
|
|||||||
dummyField: string;
|
dummyField: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface HumanInputData {
|
||||||
|
left: Vector | undefined;
|
||||||
|
right: Vector | undefined;
|
||||||
|
height: number;
|
||||||
|
speed: number;
|
||||||
|
s1: number;
|
||||||
|
}
|
||||||
|
|
||||||
export interface SubscribeNotification {
|
export interface SubscribeNotification {
|
||||||
tag: number;
|
tag: number;
|
||||||
}
|
}
|
||||||
@@ -146,6 +211,7 @@ export interface WebsocketMessage {
|
|||||||
i2cScan?: I2CScanData | undefined;
|
i2cScan?: I2CScanData | undefined;
|
||||||
peripheralSettings?: PeripheralSettingsData | undefined;
|
peripheralSettings?: PeripheralSettingsData | undefined;
|
||||||
wifiSettings?: WifiSettingsData | undefined;
|
wifiSettings?: WifiSettingsData | undefined;
|
||||||
|
humanInputData?: HumanInputData | undefined;
|
||||||
rssi?: RSSIData | undefined;
|
rssi?: RSSIData | undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -796,7 +862,7 @@ export const ModeData: MessageFns<ModeData> = {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
message.mode = reader.int32();
|
message.mode = reader.int32() as any;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -809,13 +875,13 @@ export const ModeData: MessageFns<ModeData> = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
fromJSON(object: any): ModeData {
|
fromJSON(object: any): ModeData {
|
||||||
return { mode: isSet(object.mode) ? globalThis.Number(object.mode) : 0 };
|
return { mode: isSet(object.mode) ? modesEnumFromJSON(object.mode) : 0 };
|
||||||
},
|
},
|
||||||
|
|
||||||
toJSON(message: ModeData): unknown {
|
toJSON(message: ModeData): unknown {
|
||||||
const obj: any = {};
|
const obj: any = {};
|
||||||
if (message.mode !== 0) {
|
if (message.mode !== 0) {
|
||||||
obj.mode = Math.round(message.mode);
|
obj.mode = modesEnumToJSON(message.mode);
|
||||||
}
|
}
|
||||||
return obj;
|
return obj;
|
||||||
},
|
},
|
||||||
@@ -1764,6 +1830,132 @@ export const SonarData: MessageFns<SonarData> = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function createBaseHumanInputData(): HumanInputData {
|
||||||
|
return { left: undefined, right: undefined, height: 0, speed: 0, s1: 0 };
|
||||||
|
}
|
||||||
|
|
||||||
|
export const HumanInputData: MessageFns<HumanInputData> = {
|
||||||
|
encode(message: HumanInputData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
||||||
|
if (message.left !== undefined) {
|
||||||
|
Vector.encode(message.left, writer.uint32(82).fork()).join();
|
||||||
|
}
|
||||||
|
if (message.right !== undefined) {
|
||||||
|
Vector.encode(message.right, writer.uint32(90).fork()).join();
|
||||||
|
}
|
||||||
|
if (message.height !== 0) {
|
||||||
|
writer.uint32(165).float(message.height);
|
||||||
|
}
|
||||||
|
if (message.speed !== 0) {
|
||||||
|
writer.uint32(173).float(message.speed);
|
||||||
|
}
|
||||||
|
if (message.s1 !== 0) {
|
||||||
|
writer.uint32(181).float(message.s1);
|
||||||
|
}
|
||||||
|
return writer;
|
||||||
|
},
|
||||||
|
|
||||||
|
decode(input: BinaryReader | Uint8Array, length?: number): HumanInputData {
|
||||||
|
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
||||||
|
const end = length === undefined ? reader.len : reader.pos + length;
|
||||||
|
const message = createBaseHumanInputData();
|
||||||
|
while (reader.pos < end) {
|
||||||
|
const tag = reader.uint32();
|
||||||
|
switch (tag >>> 3) {
|
||||||
|
case 10: {
|
||||||
|
if (tag !== 82) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
message.left = Vector.decode(reader, reader.uint32());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
case 11: {
|
||||||
|
if (tag !== 90) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
message.right = Vector.decode(reader, reader.uint32());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
case 20: {
|
||||||
|
if (tag !== 165) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
message.height = reader.float();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
case 21: {
|
||||||
|
if (tag !== 173) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
message.speed = reader.float();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
case 22: {
|
||||||
|
if (tag !== 181) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
message.s1 = reader.float();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((tag & 7) === 4 || tag === 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
reader.skip(tag & 7);
|
||||||
|
}
|
||||||
|
return message;
|
||||||
|
},
|
||||||
|
|
||||||
|
fromJSON(object: any): HumanInputData {
|
||||||
|
return {
|
||||||
|
left: isSet(object.left) ? Vector.fromJSON(object.left) : undefined,
|
||||||
|
right: isSet(object.right) ? Vector.fromJSON(object.right) : undefined,
|
||||||
|
height: isSet(object.height) ? globalThis.Number(object.height) : 0,
|
||||||
|
speed: isSet(object.speed) ? globalThis.Number(object.speed) : 0,
|
||||||
|
s1: isSet(object.s1) ? globalThis.Number(object.s1) : 0,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
toJSON(message: HumanInputData): unknown {
|
||||||
|
const obj: any = {};
|
||||||
|
if (message.left !== undefined) {
|
||||||
|
obj.left = Vector.toJSON(message.left);
|
||||||
|
}
|
||||||
|
if (message.right !== undefined) {
|
||||||
|
obj.right = Vector.toJSON(message.right);
|
||||||
|
}
|
||||||
|
if (message.height !== 0) {
|
||||||
|
obj.height = message.height;
|
||||||
|
}
|
||||||
|
if (message.speed !== 0) {
|
||||||
|
obj.speed = message.speed;
|
||||||
|
}
|
||||||
|
if (message.s1 !== 0) {
|
||||||
|
obj.s1 = message.s1;
|
||||||
|
}
|
||||||
|
return obj;
|
||||||
|
},
|
||||||
|
|
||||||
|
create<I extends Exact<DeepPartial<HumanInputData>, I>>(base?: I): HumanInputData {
|
||||||
|
return HumanInputData.fromPartial(base ?? ({} as any));
|
||||||
|
},
|
||||||
|
fromPartial<I extends Exact<DeepPartial<HumanInputData>, 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)
|
||||||
|
? Vector.fromPartial(object.right)
|
||||||
|
: undefined;
|
||||||
|
message.height = object.height ?? 0;
|
||||||
|
message.speed = object.speed ?? 0;
|
||||||
|
message.s1 = object.s1 ?? 0;
|
||||||
|
return message;
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
function createBaseSubscribeNotification(): SubscribeNotification {
|
function createBaseSubscribeNotification(): SubscribeNotification {
|
||||||
return { tag: 0 };
|
return { tag: 0 };
|
||||||
}
|
}
|
||||||
@@ -1981,6 +2173,7 @@ function createBaseWebsocketMessage(): WebsocketMessage {
|
|||||||
i2cScan: undefined,
|
i2cScan: undefined,
|
||||||
peripheralSettings: undefined,
|
peripheralSettings: undefined,
|
||||||
wifiSettings: undefined,
|
wifiSettings: undefined,
|
||||||
|
humanInputData: undefined,
|
||||||
rssi: undefined,
|
rssi: undefined,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -2026,6 +2219,9 @@ export const WebsocketMessage: MessageFns<WebsocketMessage> = {
|
|||||||
if (message.wifiSettings !== undefined) {
|
if (message.wifiSettings !== undefined) {
|
||||||
WifiSettingsData.encode(message.wifiSettings, writer.uint32(1922).fork()).join();
|
WifiSettingsData.encode(message.wifiSettings, writer.uint32(1922).fork()).join();
|
||||||
}
|
}
|
||||||
|
if (message.humanInputData !== undefined) {
|
||||||
|
HumanInputData.encode(message.humanInputData, writer.uint32(2002).fork()).join();
|
||||||
|
}
|
||||||
if (message.rssi !== undefined) {
|
if (message.rssi !== undefined) {
|
||||||
RSSIData.encode(message.rssi, writer.uint32(2082).fork()).join();
|
RSSIData.encode(message.rssi, writer.uint32(2082).fork()).join();
|
||||||
}
|
}
|
||||||
@@ -2143,6 +2339,14 @@ export const WebsocketMessage: MessageFns<WebsocketMessage> = {
|
|||||||
message.wifiSettings = WifiSettingsData.decode(reader, reader.uint32());
|
message.wifiSettings = WifiSettingsData.decode(reader, reader.uint32());
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
case 250: {
|
||||||
|
if (tag !== 2002) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
message.humanInputData = HumanInputData.decode(reader, reader.uint32());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
case 260: {
|
case 260: {
|
||||||
if (tag !== 2082) {
|
if (tag !== 2082) {
|
||||||
break;
|
break;
|
||||||
@@ -2177,6 +2381,7 @@ export const WebsocketMessage: MessageFns<WebsocketMessage> = {
|
|||||||
? PeripheralSettingsData.fromJSON(object.peripheralSettings)
|
? PeripheralSettingsData.fromJSON(object.peripheralSettings)
|
||||||
: undefined,
|
: undefined,
|
||||||
wifiSettings: isSet(object.wifiSettings) ? WifiSettingsData.fromJSON(object.wifiSettings) : undefined,
|
wifiSettings: isSet(object.wifiSettings) ? WifiSettingsData.fromJSON(object.wifiSettings) : undefined,
|
||||||
|
humanInputData: isSet(object.humanInputData) ? HumanInputData.fromJSON(object.humanInputData) : undefined,
|
||||||
rssi: isSet(object.rssi) ? RSSIData.fromJSON(object.rssi) : undefined,
|
rssi: isSet(object.rssi) ? RSSIData.fromJSON(object.rssi) : undefined,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@@ -2222,6 +2427,9 @@ export const WebsocketMessage: MessageFns<WebsocketMessage> = {
|
|||||||
if (message.wifiSettings !== undefined) {
|
if (message.wifiSettings !== undefined) {
|
||||||
obj.wifiSettings = WifiSettingsData.toJSON(message.wifiSettings);
|
obj.wifiSettings = WifiSettingsData.toJSON(message.wifiSettings);
|
||||||
}
|
}
|
||||||
|
if (message.humanInputData !== undefined) {
|
||||||
|
obj.humanInputData = HumanInputData.toJSON(message.humanInputData);
|
||||||
|
}
|
||||||
if (message.rssi !== undefined) {
|
if (message.rssi !== undefined) {
|
||||||
obj.rssi = RSSIData.toJSON(message.rssi);
|
obj.rssi = RSSIData.toJSON(message.rssi);
|
||||||
}
|
}
|
||||||
@@ -2268,6 +2476,9 @@ export const WebsocketMessage: MessageFns<WebsocketMessage> = {
|
|||||||
message.wifiSettings = (object.wifiSettings !== undefined && object.wifiSettings !== null)
|
message.wifiSettings = (object.wifiSettings !== undefined && object.wifiSettings !== null)
|
||||||
? WifiSettingsData.fromPartial(object.wifiSettings)
|
? WifiSettingsData.fromPartial(object.wifiSettings)
|
||||||
: undefined;
|
: undefined;
|
||||||
|
message.humanInputData = (object.humanInputData !== undefined && object.humanInputData !== null)
|
||||||
|
? HumanInputData.fromPartial(object.humanInputData)
|
||||||
|
: undefined;
|
||||||
message.rssi = (object.rssi !== undefined && object.rssi !== null) ? RSSIData.fromPartial(object.rssi) : undefined;
|
message.rssi = (object.rssi !== undefined && object.rssi !== null) ? RSSIData.fromPartial(object.rssi) : undefined;
|
||||||
return message;
|
return message;
|
||||||
},
|
},
|
||||||
@@ -2650,8 +2861,8 @@ export const protoMetadata: ProtoMetadata = {
|
|||||||
"name": "mode",
|
"name": "mode",
|
||||||
"number": 1,
|
"number": 1,
|
||||||
"label": 1,
|
"label": 1,
|
||||||
"type": 5,
|
"type": 14,
|
||||||
"typeName": "",
|
"typeName": ".ModesEnum",
|
||||||
"extendee": "",
|
"extendee": "",
|
||||||
"defaultValue": "",
|
"defaultValue": "",
|
||||||
"oneofIndex": 0,
|
"oneofIndex": 0,
|
||||||
@@ -3160,6 +3371,78 @@ export const protoMetadata: ProtoMetadata = {
|
|||||||
"reservedRange": [],
|
"reservedRange": [],
|
||||||
"reservedName": [],
|
"reservedName": [],
|
||||||
"visibility": 0,
|
"visibility": 0,
|
||||||
|
}, {
|
||||||
|
"name": "HumanInputData",
|
||||||
|
"field": [{
|
||||||
|
"name": "left",
|
||||||
|
"number": 10,
|
||||||
|
"label": 1,
|
||||||
|
"type": 11,
|
||||||
|
"typeName": ".Vector",
|
||||||
|
"extendee": "",
|
||||||
|
"defaultValue": "",
|
||||||
|
"oneofIndex": 0,
|
||||||
|
"jsonName": "left",
|
||||||
|
"options": undefined,
|
||||||
|
"proto3Optional": false,
|
||||||
|
}, {
|
||||||
|
"name": "right",
|
||||||
|
"number": 11,
|
||||||
|
"label": 1,
|
||||||
|
"type": 11,
|
||||||
|
"typeName": ".Vector",
|
||||||
|
"extendee": "",
|
||||||
|
"defaultValue": "",
|
||||||
|
"oneofIndex": 0,
|
||||||
|
"jsonName": "right",
|
||||||
|
"options": undefined,
|
||||||
|
"proto3Optional": false,
|
||||||
|
}, {
|
||||||
|
"name": "height",
|
||||||
|
"number": 20,
|
||||||
|
"label": 1,
|
||||||
|
"type": 2,
|
||||||
|
"typeName": "",
|
||||||
|
"extendee": "",
|
||||||
|
"defaultValue": "",
|
||||||
|
"oneofIndex": 0,
|
||||||
|
"jsonName": "height",
|
||||||
|
"options": undefined,
|
||||||
|
"proto3Optional": false,
|
||||||
|
}, {
|
||||||
|
"name": "speed",
|
||||||
|
"number": 21,
|
||||||
|
"label": 1,
|
||||||
|
"type": 2,
|
||||||
|
"typeName": "",
|
||||||
|
"extendee": "",
|
||||||
|
"defaultValue": "",
|
||||||
|
"oneofIndex": 0,
|
||||||
|
"jsonName": "speed",
|
||||||
|
"options": undefined,
|
||||||
|
"proto3Optional": false,
|
||||||
|
}, {
|
||||||
|
"name": "s1",
|
||||||
|
"number": 22,
|
||||||
|
"label": 1,
|
||||||
|
"type": 2,
|
||||||
|
"typeName": "",
|
||||||
|
"extendee": "",
|
||||||
|
"defaultValue": "",
|
||||||
|
"oneofIndex": 0,
|
||||||
|
"jsonName": "s1",
|
||||||
|
"options": undefined,
|
||||||
|
"proto3Optional": false,
|
||||||
|
}],
|
||||||
|
"extension": [],
|
||||||
|
"nestedType": [],
|
||||||
|
"enumType": [],
|
||||||
|
"extensionRange": [],
|
||||||
|
"oneofDecl": [],
|
||||||
|
"options": undefined,
|
||||||
|
"reservedRange": [],
|
||||||
|
"reservedName": [],
|
||||||
|
"visibility": 0,
|
||||||
}, {
|
}, {
|
||||||
"name": "SubscribeNotification",
|
"name": "SubscribeNotification",
|
||||||
"field": [{
|
"field": [{
|
||||||
@@ -3390,6 +3673,18 @@ export const protoMetadata: ProtoMetadata = {
|
|||||||
"jsonName": "wifiSettings",
|
"jsonName": "wifiSettings",
|
||||||
"options": undefined,
|
"options": undefined,
|
||||||
"proto3Optional": false,
|
"proto3Optional": false,
|
||||||
|
}, {
|
||||||
|
"name": "human_input_data",
|
||||||
|
"number": 250,
|
||||||
|
"label": 1,
|
||||||
|
"type": 11,
|
||||||
|
"typeName": ".HumanInputData",
|
||||||
|
"extendee": "",
|
||||||
|
"defaultValue": "",
|
||||||
|
"oneofIndex": 0,
|
||||||
|
"jsonName": "humanInputData",
|
||||||
|
"options": undefined,
|
||||||
|
"proto3Optional": false,
|
||||||
}, {
|
}, {
|
||||||
"name": "rssi",
|
"name": "rssi",
|
||||||
"number": 260,
|
"number": 260,
|
||||||
@@ -3413,7 +3708,21 @@ export const protoMetadata: ProtoMetadata = {
|
|||||||
"reservedName": [],
|
"reservedName": [],
|
||||||
"visibility": 0,
|
"visibility": 0,
|
||||||
}],
|
}],
|
||||||
"enumType": [],
|
"enumType": [{
|
||||||
|
"name": "ModesEnum",
|
||||||
|
"value": [
|
||||||
|
{ "name": "DEACTIVATED", "number": 0, "options": undefined },
|
||||||
|
{ "name": "IDLE", "number": 1, "options": undefined },
|
||||||
|
{ "name": "CALIBRATION", "number": 2, "options": undefined },
|
||||||
|
{ "name": "REST", "number": 3, "options": undefined },
|
||||||
|
{ "name": "STAND", "number": 4, "options": undefined },
|
||||||
|
{ "name": "WALK", "number": 5, "options": undefined },
|
||||||
|
],
|
||||||
|
"options": undefined,
|
||||||
|
"reservedRange": [],
|
||||||
|
"reservedName": [],
|
||||||
|
"visibility": 0,
|
||||||
|
}],
|
||||||
"service": [],
|
"service": [],
|
||||||
"extension": [],
|
"extension": [],
|
||||||
"options": undefined,
|
"options": undefined,
|
||||||
@@ -3425,8 +3734,8 @@ export const protoMetadata: ProtoMetadata = {
|
|||||||
"trailingComments": "",
|
"trailingComments": "",
|
||||||
"leadingDetachedComments": [],
|
"leadingDetachedComments": [],
|
||||||
}, {
|
}, {
|
||||||
"path": [4, 20],
|
"path": [4, 21],
|
||||||
"span": [56, 0, 73, 1],
|
"span": [69, 0, 87, 1],
|
||||||
"leadingComments": " WebSocket message wrapper\n Only ONE field will be set at a time (oneof ensures this)\n",
|
"leadingComments": " WebSocket message wrapper\n Only ONE field will be set at a time (oneof ensures this)\n",
|
||||||
"trailingComments": "",
|
"trailingComments": "",
|
||||||
"leadingDetachedComments": [],
|
"leadingDetachedComments": [],
|
||||||
@@ -3436,6 +3745,7 @@ export const protoMetadata: ProtoMetadata = {
|
|||||||
"edition": 0,
|
"edition": 0,
|
||||||
},
|
},
|
||||||
references: {
|
references: {
|
||||||
|
".ModesEnum": ModesEnum,
|
||||||
".Vector": Vector,
|
".Vector": Vector,
|
||||||
".I2CDevice": I2CDevice,
|
".I2CDevice": I2CDevice,
|
||||||
".PinConfig": PinConfig,
|
".PinConfig": PinConfig,
|
||||||
@@ -3452,6 +3762,7 @@ export const protoMetadata: ProtoMetadata = {
|
|||||||
".RSSIData": RSSIData,
|
".RSSIData": RSSIData,
|
||||||
".DownloadOTAData": DownloadOTAData,
|
".DownloadOTAData": DownloadOTAData,
|
||||||
".SonarData": SonarData,
|
".SonarData": SonarData,
|
||||||
|
".HumanInputData": HumanInputData,
|
||||||
".SubscribeNotification": SubscribeNotification,
|
".SubscribeNotification": SubscribeNotification,
|
||||||
".UnsubscribeNotification": UnsubscribeNotification,
|
".UnsubscribeNotification": UnsubscribeNotification,
|
||||||
".PingMsg": PingMsg,
|
".PingMsg": PingMsg,
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import { HumanInputData, ModeData, ModesEnum } from '$lib/platform_shared/websocket_message'
|
||||||
import type { ControllerInput } from '$lib/types/models'
|
import type { ControllerInput } from '$lib/types/models'
|
||||||
import { persistentStore } from '$lib/utilities/svelte-utilities'
|
import { persistentStore } from '$lib/utilities/svelte-utilities'
|
||||||
import { writable, type Writable } from 'svelte/store'
|
import { writable, type Writable } from 'svelte/store'
|
||||||
@@ -12,14 +13,7 @@ export const modes = ['deactivated', 'idle', 'calibration', 'rest', 'stand', 'wa
|
|||||||
|
|
||||||
export type Modes = (typeof modes)[number]
|
export type Modes = (typeof modes)[number]
|
||||||
|
|
||||||
export enum ModesEnum {
|
|
||||||
Deactivated = 0,
|
|
||||||
Idle = 1,
|
|
||||||
Calibration = 2,
|
|
||||||
Rest = 3,
|
|
||||||
Stand = 4,
|
|
||||||
Walk = 5
|
|
||||||
}
|
|
||||||
|
|
||||||
export enum WalkGaits {
|
export enum WalkGaits {
|
||||||
Trot = 0,
|
Trot = 0,
|
||||||
@@ -37,7 +31,7 @@ export const walkGaitToMode = (gait: WalkGaits): 'trot' | 'crawl' => {
|
|||||||
return gait === WalkGaits.Trot ? 'trot' : 'crawl'
|
return gait === WalkGaits.Trot ? 'trot' : 'crawl'
|
||||||
}
|
}
|
||||||
|
|
||||||
export const mode: Writable<ModesEnum> = writable(ModesEnum.Deactivated)
|
export const mode: Writable<ModeData> = writable(ModeData.create({ mode: ModesEnum.DEACTIVATED }))
|
||||||
|
|
||||||
export const walkGait: Writable<WalkGaits> = writable(WalkGaits.Trot)
|
export const walkGait: Writable<WalkGaits> = writable(WalkGaits.Trot)
|
||||||
|
|
||||||
@@ -45,10 +39,4 @@ export const outControllerData = writable([0, 0, 0, 0, 0, 1, 0])
|
|||||||
|
|
||||||
export const kinematicData = writable([0, 0, 0, 0, 1, 0])
|
export const kinematicData = writable([0, 0, 0, 0, 1, 0])
|
||||||
|
|
||||||
export const input: Writable<ControllerInput> = writable({
|
export const input: Writable<HumanInputData> = writable( HumanInputData.create( {left: {x:0,y:0}, right: {x:0,y:0}, height:0, s1:0, speed:0} ) )
|
||||||
left: { x: 0, y: 0 },
|
|
||||||
right: { x: 0, y: 0 },
|
|
||||||
height: 0.5,
|
|
||||||
speed: 0.5,
|
|
||||||
s1: 0.5
|
|
||||||
})
|
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
import {
|
import {
|
||||||
telemetry,
|
telemetry,
|
||||||
analytics,
|
analytics,
|
||||||
ModesEnum,
|
|
||||||
kinematicData,
|
kinematicData,
|
||||||
mode,
|
mode,
|
||||||
input,
|
input,
|
||||||
@@ -22,7 +21,7 @@
|
|||||||
useFeatureFlags,
|
useFeatureFlags,
|
||||||
walkGait
|
walkGait
|
||||||
} from '$lib/stores'
|
} from '$lib/stores'
|
||||||
import { AnalyticsData, AnglesData, DownloadOTAData, ModeData, RSSIData, SonarData } from '$lib/platform_shared/websocket_message'
|
import { AnalyticsData, AnglesData, DownloadOTAData, ModesEnum, RSSIData, SonarData } from '$lib/platform_shared/websocket_message'
|
||||||
import { Throttler } from '$lib/utilities'
|
import { Throttler } from '$lib/utilities'
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
@@ -41,7 +40,7 @@
|
|||||||
addEventListeners()
|
addEventListeners()
|
||||||
|
|
||||||
input.subscribe(data => socket.sendEvent(InputData, InputData.create()))
|
input.subscribe(data => socket.sendEvent(InputData, InputData.create()))
|
||||||
mode.subscribe(data => socket.sendEvent(ModeData, data))
|
mode.subscribe(data => socket.sendEvent(ModesD, data))
|
||||||
walkGait.subscribe(data => socket.sendEvent(GaitData, data))
|
walkGait.subscribe(data => socket.sendEvent(GaitData, data))
|
||||||
servoAnglesOut.subscribe(data => socket.sendEvent(AnglesData, data))
|
servoAnglesOut.subscribe(data => socket.sendEvent(AnglesData, data))
|
||||||
kinematicData.subscribe(data => socket.sendEvent(PositionData, data))
|
kinematicData.subscribe(data => socket.sendEvent(PositionData, data))
|
||||||
@@ -58,7 +57,7 @@
|
|||||||
socket.onEvent('close', handleClose),
|
socket.onEvent('close', handleClose),
|
||||||
socket.onEvent('error', handleError),
|
socket.onEvent('error', handleError),
|
||||||
socket.on(RSSIData, (data) => telemetry.setRSSI(data)),
|
socket.on(RSSIData, (data) => telemetry.setRSSI(data)),
|
||||||
socket.on(ModeData, (data) => mode.set(data.mode)),
|
socket.on(ModesEnum, (data) => mode.set(data)),
|
||||||
socket.on(AnalyticsData, (data) => {analytics.addData(data)}),
|
socket.on(AnalyticsData, (data) => {analytics.addData(data)}),
|
||||||
socket.on(AnglesData, (data) => {servoAngles.set(data.angles)})
|
socket.on(AnglesData, (data) => {servoAngles.set(data.angles)})
|
||||||
])
|
])
|
||||||
|
|||||||
@@ -86,19 +86,17 @@
|
|||||||
const handleKeyup = (event: KeyboardEvent) => {
|
const handleKeyup = (event: KeyboardEvent) => {
|
||||||
const down = event.type === 'keydown'
|
const down = event.type === 'keydown'
|
||||||
input.update(data => {
|
input.update(data => {
|
||||||
if (event.key === 'w') data.left.y = down ? 1 : 0
|
if (event.key === 'w') data.left!.y = down ? 1 : 0
|
||||||
if (event.key === 'a') data.left.x = down ? -1 : 0
|
if (event.key === 'a') data.left!.x = down ? -1 : 0
|
||||||
if (event.key === 's') data.left.y = down ? -1 : 0
|
if (event.key === 's') data.left!.y = down ? -1 : 0
|
||||||
if (event.key === 'd') data.left.x = down ? 1 : 0
|
if (event.key === 'd') data.left!.x = down ? 1 : 0
|
||||||
if (event.key === 'ArrowLeft') data.right.x = down ? 1 : 0
|
if (event.key === 'ArrowLeft') data.right!.x = down ? 1 : 0
|
||||||
if (event.key === 'ArrowRight') data.right.x = down ? -1 : 0
|
if (event.key === 'ArrowRight') data.right!.x = down ? -1 : 0
|
||||||
return data
|
return data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleRange = (event: Event, key: 'speed' | 'height' | 's1') => {
|
const handleRange = (value: number, key: 'speed' | 'height' | 's1') => {
|
||||||
const value: number = Number((event.target as HTMLInputElement).value)
|
|
||||||
|
|
||||||
input.update(inputData => {
|
input.update(inputData => {
|
||||||
inputData[key] = value
|
inputData[key] = value
|
||||||
return inputData
|
return inputData
|
||||||
@@ -140,7 +138,7 @@
|
|||||||
min={0}
|
min={0}
|
||||||
max={1}
|
max={1}
|
||||||
step={0.01}
|
step={0.01}
|
||||||
oninput={(e: Event) => handleRange(e, 'height')}
|
oninput={(v: number) => handleRange(v, 'height')}
|
||||||
/>
|
/>
|
||||||
<label for="height" class="text-xs font-medium opacity-70">Ht</label>
|
<label for="height" class="text-xs font-medium opacity-70">Ht</label>
|
||||||
</div>
|
</div>
|
||||||
@@ -183,7 +181,7 @@
|
|||||||
min="0"
|
min="0"
|
||||||
step="0.01"
|
step="0.01"
|
||||||
max="1"
|
max="1"
|
||||||
oninput={e => handleRange(e, 's1')}
|
oninput={e => handleRange(Number((e.target as HTMLInputElement).value), 's1')}
|
||||||
class="range range-xs range-primary"
|
class="range range-xs range-primary"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -195,7 +193,7 @@
|
|||||||
min="0"
|
min="0"
|
||||||
step="0.01"
|
step="0.01"
|
||||||
max="1"
|
max="1"
|
||||||
oninput={e => handleRange(e, 'speed')}
|
oninput={e => handleRange(Number((e.target as HTMLInputElement).value), 'speed')}
|
||||||
class="range range-xs range-primary"
|
class="range range-xs range-primary"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -13,8 +13,17 @@ message IMUData {
|
|||||||
float temp = 4;
|
float temp = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum ModesEnum {
|
||||||
|
DEACTIVATED = 0;
|
||||||
|
IDLE = 1;
|
||||||
|
CALIBRATION = 2;
|
||||||
|
REST = 3;
|
||||||
|
STAND = 4;
|
||||||
|
WALK = 5;
|
||||||
|
}
|
||||||
|
|
||||||
message IMUCalibrateData { bool success = 1; }
|
message IMUCalibrateData { bool success = 1; }
|
||||||
message ModeData { int32 mode = 1; }
|
message ModeData { ModesEnum mode = 1; }
|
||||||
message ControllerInputData {
|
message ControllerInputData {
|
||||||
Vector left = 1;
|
Vector left = 1;
|
||||||
Vector right = 2;
|
Vector right = 2;
|
||||||
@@ -44,6 +53,10 @@ message WifiSettingsData { string hostname = 1; bool priority_rssi = 2; repeated
|
|||||||
message RSSIData { int32 rssi = 1; }
|
message RSSIData { int32 rssi = 1; }
|
||||||
message DownloadOTAData { string status = 1; int32 progress = 2; string error = 3; }
|
message DownloadOTAData { string status = 1; int32 progress = 2; string error = 3; }
|
||||||
message SonarData { string dummy_field = 1; }
|
message SonarData { string dummy_field = 1; }
|
||||||
|
message HumanInputData {
|
||||||
|
Vector left = 10; Vector right = 11; float height = 20; float speed = 21; float s1 = 22;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
message SubscribeNotification { int32 tag = 1; }
|
message SubscribeNotification { int32 tag = 1; }
|
||||||
message UnsubscribeNotification {int32 tag = 1; }
|
message UnsubscribeNotification {int32 tag = 1; }
|
||||||
@@ -69,6 +82,7 @@ message WebsocketMessage {
|
|||||||
I2CScanData i2c_scan = 180;
|
I2CScanData i2c_scan = 180;
|
||||||
PeripheralSettingsData peripheral_settings = 190;
|
PeripheralSettingsData peripheral_settings = 190;
|
||||||
WifiSettingsData wifi_settings = 240;
|
WifiSettingsData wifi_settings = 240;
|
||||||
|
HumanInputData human_input_data = 250;
|
||||||
RSSIData rssi = 260;
|
RSSIData rssi = 260;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user