88 lines
2.1 KiB
Protocol Buffer
88 lines
2.1 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package api;
|
|
|
|
// =============================================================================
|
|
// AP (Access Point) Settings - shared data types
|
|
// =============================================================================
|
|
|
|
enum APProvisionMode {
|
|
AP_MODE_ALWAYS = 0;
|
|
AP_MODE_DISCONNECTED = 1;
|
|
AP_MODE_NEVER = 2;
|
|
}
|
|
|
|
enum APNetworkStatus {
|
|
AP_ACTIVE = 0;
|
|
AP_INACTIVE = 1;
|
|
AP_LINGERING = 2;
|
|
}
|
|
|
|
message APSettings {
|
|
APProvisionMode provision_mode = 1;
|
|
string ssid = 2;
|
|
string password = 3;
|
|
uint32 channel = 4;
|
|
bool ssid_hidden = 5;
|
|
uint32 max_clients = 6;
|
|
uint32 local_ip = 7;
|
|
uint32 gateway_ip = 8;
|
|
uint32 subnet_mask = 9;
|
|
}
|
|
|
|
message APStatus {
|
|
APNetworkStatus status = 1;
|
|
uint32 ip_address = 2;
|
|
string mac_address = 3;
|
|
uint32 station_num = 4;
|
|
}
|
|
|
|
// Empty request types for GET-like operations
|
|
message APSettingsRequest {}
|
|
message APStatusRequest {}
|
|
|
|
// =============================================================================
|
|
// Servo Settings - shared data types
|
|
// =============================================================================
|
|
|
|
message Servo {
|
|
float center_pwm = 1;
|
|
float direction = 2;
|
|
float center_angle = 3;
|
|
float conversion = 4;
|
|
string name = 5;
|
|
}
|
|
|
|
message ServoSettings {
|
|
repeated Servo servos = 1; // max 12 servos
|
|
}
|
|
|
|
message ServoSettingsRequest {}
|
|
|
|
// =============================================================================
|
|
// REST API wrappers - used by HTTP endpoints
|
|
// =============================================================================
|
|
|
|
// Request wrapper for REST endpoints
|
|
message Request {
|
|
oneof payload {
|
|
APSettings ap_settings = 10;
|
|
APSettingsRequest ap_settings_request = 11;
|
|
APStatusRequest ap_status_request = 12;
|
|
ServoSettings servo_settings = 20;
|
|
ServoSettingsRequest servo_settings_request = 21;
|
|
}
|
|
}
|
|
|
|
// Response wrapper for REST endpoints
|
|
message Response {
|
|
uint32 status_code = 1;
|
|
string error_message = 2;
|
|
|
|
oneof payload {
|
|
APSettings ap_settings = 10;
|
|
APStatus ap_status = 11;
|
|
ServoSettings servo_settings = 20;
|
|
}
|
|
}
|