55 lines
1.4 KiB
Protocol Buffer
55 lines
1.4 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 {}
|
|
message UnsubscribeNotification {}
|
|
|
|
|
|
// 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;
|
|
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;
|
|
}
|
|
}
|