init
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package hardware;
|
||||
|
||||
// LED animation types
|
||||
enum LedAnimation {
|
||||
LED_ANIMATION_STATIC = 0;
|
||||
LED_ANIMATION_PULSE = 1;
|
||||
LED_ANIMATION_FADE = 2;
|
||||
LED_ANIMATION_FLICKER = 3;
|
||||
}
|
||||
|
||||
// Hardware configuration
|
||||
message HardwareConfig {
|
||||
uint32 hold_duration_ms = 1;
|
||||
bool override = 2;
|
||||
uint32 relay_pin = 3;
|
||||
uint32 sensor_rx_pin = 4;
|
||||
uint32 sensor_tx_pin = 5;
|
||||
LedConfig on_open_led = 6;
|
||||
LedConfig default_led = 7;
|
||||
LedConfig on_invalid_led = 8;
|
||||
bool enable_serial_sensor = 9;
|
||||
// repeated char sensor_api_key = 10;
|
||||
// bool enable_ws_sensor = 11;
|
||||
LedConfig on_override_open_led = 12;
|
||||
LedConfig on_interception_led = 13;
|
||||
}
|
||||
|
||||
// LED configuration
|
||||
message LedConfig {
|
||||
// General properties that apply to all animations
|
||||
uint32 brightness = 1; // 0-255
|
||||
uint32 duration_ms = 2; // 0 for indefinite
|
||||
|
||||
oneof animation_params {
|
||||
StaticParams static_params = 3;
|
||||
PulseParams pulse_params = 4;
|
||||
FadeParams fade_params = 5;
|
||||
FlickerParams flicker_params = 6;
|
||||
}
|
||||
}
|
||||
|
||||
// Define the specific parameters for each animation type
|
||||
message StaticParams {
|
||||
uint32 color = 1;
|
||||
}
|
||||
message PulseParams {
|
||||
uint32 color = 1;
|
||||
uint32 speed_ms = 2;
|
||||
}
|
||||
message FadeParams {
|
||||
repeated uint32 colors = 1; // Fade between these colors
|
||||
uint32 speed_ms = 2;
|
||||
}
|
||||
message FlickerParams {
|
||||
uint32 color = 1;
|
||||
uint32 intensity = 2; // e.g., 0-100
|
||||
}
|
||||
|
||||
message RfidReading {
|
||||
uint32 card_id = 1;
|
||||
}
|
||||
|
||||
message SensorToControlMessage {
|
||||
uint32 sensor_id = 1;
|
||||
oneof payload {
|
||||
RfidReading rfid_reading = 2;
|
||||
SensorOTAEnableResponse ota_response = 3;
|
||||
// Add other sensor message types as needed
|
||||
}
|
||||
}
|
||||
|
||||
message SensorOTAEnable {
|
||||
string ssid = 1;
|
||||
string password = 2;
|
||||
uint32 timeout_seconds = 3;
|
||||
bool as_station_mode = 4;
|
||||
bool use_static_ip = 5;
|
||||
string static_ip = 6;
|
||||
string netmask = 7;
|
||||
string gateway = 8;
|
||||
}
|
||||
|
||||
message SensorRestart {
|
||||
}
|
||||
|
||||
|
||||
message SensorOTAEnableResponse {
|
||||
bool success = 1;
|
||||
string ip_address = 2;
|
||||
string error_message = 3;
|
||||
}
|
||||
|
||||
|
||||
message ControlToSensorMessage {
|
||||
uint32 control_id = 1;
|
||||
oneof payload {
|
||||
LedConfig led_config = 2;
|
||||
SensorOTAEnable ota_enable = 3;
|
||||
SensorRestart restart = 4;
|
||||
// Add other control message types as needed
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user