Files
squeezelite-esp32/protobuf/proto/Display.proto
2025-03-18 17:38:34 -04:00

64 lines
1.5 KiB
Protocol Buffer

syntax = "proto3";
package sys.display;
import "Common.proto";
import "SPI.proto";
import "nanopb.proto";
import "I2CBus.proto";
import "customoptions.proto";
option (nanopb_fileopt).enum_to_string = true;
message offsets {
option (nanopb_msgopt).packed_struct = true;
option (nanopb_msgopt).msgid = 10020;
int32 height =1 [(nanopb).int_size = IS_16];
int32 width =2 [(nanopb).int_size = IS_16];
}
enum drivers {
UNSPECIFIED = 0;
SSD1306 = 1;
SSD1322 = 2;
SSD1326 = 3;
SSD1327 = 4;
SH1106 = 5;
SSD1675 = 6;
ST7735 = 7;
ST7789 = 8;
ILI9341 = 9;
ILI9341_24 = 10;
SSD1351 = 11;
}
message common {
option (nanopb_msgopt).packed_struct = true;
option (nanopb_msgopt).msgid = 10023;
int32 width = 1 [(nanopb).int_size = IS_16];
int32 height = 2 [(nanopb).int_size = IS_16];
bool HFlip = 3;
bool VFlip = 4;
drivers driver = 5;
int32 bitDepth = 6 [(nanopb).int_size = IS_8]; // Defaults to Depth1 in your application logic
int32 back = 7 [(nanopb).int_size=IS_16, (cust_field).v_int32=-1];
int32 reset = 8 [(nanopb).int_size=IS_16, (cust_field).v_int32=-1];
int32 ready = 9 [(nanopb).int_size=IS_16, (cust_field).v_int32=-1];
offsets offsets = 10;
bool rotate = 11;
bool invert = 12;
bool colow_swap = 13;
}
message config {
option (nanopb_msgopt).packed_struct = true;
option (nanopb_msgopt).msgid = 10024;
dev.common.types type = 1;
common common = 2;
oneof dispType {
sys.i2c.device i2c = 3;
sys.spi.device spi = 4;
}
}