Files
squeezelite-esp32/protobuf/proto/Devices.proto
2023-12-04 23:25:57 -05:00

69 lines
1.5 KiB
Protocol Buffer

syntax = "proto3";
package sys;
import "GPIO.proto";
import "Common.proto";
import "I2CBus.proto";
import "DAC.proto";
import "Display.proto";
import "Buttons.proto";
import "Battery.proto";
import "Ethernet.proto";
import "nanopb.proto";
message SPDIF {
option (nanopb_msgopt).msgid = 10015;
GPIO dc = 1;
GPIO data = 2;
GPIO clk = 3;
}
message SPIBus {
option (nanopb_msgopt).msgid = 10016;
GPIO mosi = 1;
GPIO miso = 2;
GPIO clk = 3;
GPIO dc = 4;
HostEnum host = 5; // Defaults to Host1 in your application logic
}
enum LEDStripType {
LS_UNKNOWN = 0;
LS_WS2812 = 1;
//unsupported
LS_SK6812 = 2;
//unsupported
LS_APA106 = 3;
}
message LEDStrip {
option (nanopb_msgopt).msgid = 10018;
GPIO gpio = 1;
int32 length = 2 [(nanopb).int_size = IS_16];
LEDStripType strip_type = 3;
}
enum InfraredType {
IR_UNKNOWN = 0;
IR_RC5 = 1;
IR_NEC = 2;
}
message Infrared {
InfraredType type = 1;
GPIO gpio = 2;
}
message Dev {
option (nanopb_msgopt).msgid = 10019;
SPIBus spi = 1;
I2CBus i2c = 2;
DAC dac = 3;
SPDIF spdif = 4;
Display display = 5;
repeated GPIOExp gpio_exp = 6 [(nanopb).type = FT_POINTER]; //[(nanopb).max_count= 4];
LEDStrip led_strip = 7;
Rotary rotary = 8;
repeated Button buttons = 9 [(nanopb).type = FT_POINTER]; //[(nanopb).max_count= 15];
Eth eth = 10;
Battery battery = 11;
Infrared ir = 12;
}