syntax = "proto3"; option csharp_namespace = "GSS2.LightsControl.CSharpClient"; package GSS2.LightsControl; service Lights { rpc Ping (Empty) returns (Empty); rpc SetOff (Empty) returns (Empty); rpc SetStaticColor (StaticColorRequest) returns (Empty); rpc SetStaticGradient2 (StaticGradient2Request) returns (Empty); rpc SetStaticGradient3 (StaticGradient3Request) returns (Empty); rpc SetStaticRainbow (StaticRainbowRequest) returns (Empty); rpc SetBreathingColor (BreathingColorRequest) returns (Empty); rpc SetBreathingGradient2 (BreathingGradient2Request) returns (Empty); rpc SetBreathingGradient3 (BreathingGradient3Request) returns (Empty); rpc SetBreathingRainbow (BreathingRainbowRequest) returns (Empty); rpc SetRunningColor (RunningColorRequest) returns (Empty); rpc SetRunningGradient2 (RunningGradient2Request) returns (Empty); rpc SetRunningGradient3 (RunningGradient3Request) returns (Empty); rpc SetRunningRainbow (RunningRainbowRequest) returns (Empty); rpc SetSnake (SnakeRequest) returns (Empty); rpc SetFire (FireRequest) returns (Empty); rpc SetSnowfall (SnowfallRequest) returns (Empty); rpc SetFlash (FlashRequest) returns (Empty); rpc SetLoad (LoadRequest) returns (Empty); rpc SetCpuLoad (CpuLoadRequest) returns (Empty); } message Empty {} message StaticColorRequest { double brightness = 1; int32 r = 2; int32 g = 3; int32 b = 4; } message StaticGradient2Request { double brightness = 1; int32 left_r = 2; int32 left_g = 3; int32 left_b = 4; int32 right_r = 5; int32 right_g = 6; int32 right_b = 7; } message StaticGradient3Request { double brightness = 1; int32 left_r = 2; int32 left_g = 3; int32 left_b = 4; int32 middle_r = 5; int32 middle_g = 6; int32 middle_b = 7; int32 right_r = 8; int32 right_g = 9; int32 right_b = 10; } message StaticRainbowRequest { double brightness = 1; } message BreathingColorRequest { double brightness = 1; double speed = 2; int32 r = 3; int32 g = 4; int32 b = 5; } message BreathingGradient2Request { double brightness = 1; double speed = 2; int32 left_r = 3; int32 left_g = 4; int32 left_b = 5; int32 right_r = 6; int32 right_g = 7; int32 right_b = 8; } message BreathingGradient3Request { double brightness = 1; double speed = 2; int32 left_r = 3; int32 left_g = 4; int32 left_b = 5; int32 middle_r = 6; int32 middle_g = 7; int32 middle_b = 8; int32 right_r = 9; int32 right_g = 10; int32 right_b = 11; } message BreathingRainbowRequest { double brightness = 1; double speed = 2; } message RunningColorRequest { double brightness = 1; double speed = 2; int32 length = 3; int32 fade = 4; int32 r = 5; int32 g = 6; int32 b = 7; } message RunningGradient2Request { double brightness = 1; double speed = 2; int32 left_r = 3; int32 left_g = 4; int32 left_b = 5; int32 right_r = 6; int32 right_g = 7; int32 right_b = 8; } message RunningGradient3Request { double brightness = 1; double speed = 2; int32 left_r = 3; int32 left_g = 4; int32 left_b = 5; int32 middle_r = 6; int32 middle_g = 7; int32 middle_b = 8; int32 right_r = 9; int32 right_g = 10; int32 right_b = 11; } message RunningRainbowRequest { double brightness = 1; double speed = 2; } message SnakeRequest { double brightness = 1; double speed = 2; int32 head_length = 3; int32 tail_length = 4; int32 head_r = 5; int32 head_g = 6; int32 head_b = 7; int32 tail_r = 8; int32 tail_g = 9; int32 tail_b = 10; } message FireRequest { double brightness = 1; double speed = 2; int32 r = 3; int32 g = 4; int32 b = 5; } message SnowfallRequest { double brightness = 1; double speed = 2; int32 r = 3; int32 g = 4; int32 b = 5; } message FlashRequest { double brightness = 1; double speed = 2; int32 r = 3; int32 g = 4; int32 b = 5; } message LoadRequest { double brightness = 1; double speed = 2; double percent = 3; double last_percent = 4; int32 r = 5; int32 g = 6; int32 b = 7; } message CpuLoadRequest { double brightness = 1; double speed = 2; int32 r = 3; int32 g = 4; int32 b = 5; }