Files
SpotMicroESP32-Leika/platform_shared/websocket_message.proto
T

60 lines
1.6 KiB
Protocol Buffer

syntax = "proto3";
// Individual message data types
message IMUData {
float x = 1;
float y = 2;
float z = 3;
float temp = 4;
}
message IMUCalibrateData {}
message ModeData { int32 mode = 1; }
message InputData {}
message AnalyticsData {}
message PositionData {}
message AnglesData { repeated float angles = 1; }
message I2CScanData {}
message PeripheralSettingsData {}
message OTAStatusData {}
message GaitData {}
message ServoStateData {}
message ServoPWMData {}
message WifiSettingsData {}
message SonarData {}
message RSSIData { int32 rssi = 1; }
message SubscribeNotification { int32 tag = 1; }
message UnsubscribeNotification {int32 tag = 1; }
message PingMsg {}
message PongMsg {}
// WebSocket message wrapper
// Only ONE field will be set at a time (oneof ensures this)
message WebsocketMessage {
oneof message {
SubscribeNotification sub_notif = 20;
UnsubscribeNotification unsub_notif = 21;
PingMsg pingmsg = 30;
PongMsg pongmsg = 31;
IMUData imu = 110;
IMUCalibrateData imu_calibrate = 120;
ModeData mode = 130;
InputData input = 140;
AnalyticsData analytics = 150;
PositionData position = 160;
AnglesData angles = 170;
I2CScanData i2c_scan = 180;
PeripheralSettingsData peripheral_settings = 190;
OTAStatusData ota_status = 200;
GaitData gait = 210;
ServoStateData servo_state = 220;
ServoPWMData servo_pwm = 230;
WifiSettingsData wifi_settings = 240;
SonarData sonar = 250;
RSSIData rssi = 260;
}
}