mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-12 06:27:12 +03:00
initial refactoring
This commit is contained in:
73
protobuf/proto/GPIO.proto
Normal file
73
protobuf/proto/GPIO.proto
Normal file
@@ -0,0 +1,73 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package sys;
|
||||
import "Common.proto";
|
||||
import "customoptions.proto";
|
||||
import "nanopb.proto";
|
||||
option (nanopb_fileopt).enum_to_string = true;
|
||||
|
||||
enum LevelsEnum {
|
||||
L_LOW = 0;
|
||||
L_HIGH = 1;
|
||||
}
|
||||
// GPIO to use for the specified function
|
||||
message GPIO {
|
||||
option (nanopb_msgopt).msgid = 10130;
|
||||
int32 pin = 1 [(nanopb).int_size = IS_8, (cust_field).v_int32 = -1]; // a valid esp32 gpio pin that supports the intended mode
|
||||
LevelsEnum level = 2 [(cust_field).v_enum = "L_HIGH"]; // 0 or 1
|
||||
}
|
||||
enum LedTypesEnum {
|
||||
UNKNOWN = 0;
|
||||
LED_TYPE_GPIO = 1;
|
||||
LED_TYPE_WS2812 = 2;
|
||||
}
|
||||
message LED {
|
||||
option (nanopb_msgopt).msgid = 10029;
|
||||
GPIO gpio = 1 [(nanopb).int_size = IS_8]; // a valid esp32 gpio pin that supports the intended mode
|
||||
int32 brightness = 2 [(nanopb).int_size = IS_8]; // 0 to 100%
|
||||
LedTypesEnum led_type = 3;
|
||||
}
|
||||
message Gpios {
|
||||
option (nanopb_msgopt).msgid = 10030;
|
||||
LED greenLED = 1;
|
||||
LED redLED = 2;
|
||||
GPIO audioJack = 3;
|
||||
GPIO amp = 4;
|
||||
GPIO power = 5 ;
|
||||
GPIO jack = 6;
|
||||
GPIO spkfault = 7;
|
||||
GPIO Vcc = 8;
|
||||
GPIO GND = 9;
|
||||
}
|
||||
enum GPIOExpModelEnum {
|
||||
UNSPECIFIED_EXP = 0;
|
||||
PCA9535 = 1;
|
||||
PCA85XX = 2;
|
||||
MCP23017 = 3;
|
||||
MCP23S17 = 4;
|
||||
}
|
||||
|
||||
message GPIOExpI2C {
|
||||
option (nanopb_msgopt).msgid = 10032;
|
||||
PortEnum port = 5 [(cust_field).v_string = "SYSTEM"]; // Defaults to system
|
||||
}
|
||||
message GPIOExpSPI {
|
||||
option (nanopb_msgopt).msgid = 10031;
|
||||
int32 speed = 1 [(nanopb).int_size = IS_16];
|
||||
HostEnum host = 2;
|
||||
GPIO cs = 3;
|
||||
}
|
||||
message GPIOExp {
|
||||
option (nanopb_msgopt).msgid = 10033;
|
||||
GPIOExpModelEnum model = 1;
|
||||
int32 addr = 2 [(nanopb).int_size = IS_8];
|
||||
oneof ExpType {
|
||||
GPIOExpI2C i2c = 3;
|
||||
GPIOExpSPI spi = 4;
|
||||
}
|
||||
int32 base = 5 [(cust_field).v_int32 = 40]; // Defaults to 40
|
||||
int32 count = 6 [(cust_field).v_int32 = 16]; // Defaults to 16
|
||||
GPIO intr = 7;
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user