mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-09 13:07:03 +03:00
43 lines
1001 B
Protocol Buffer
43 lines
1001 B
Protocol Buffer
syntax = "proto3";
|
|
|
|
package sys;
|
|
|
|
import "Services.proto";
|
|
import "Gpios.proto";
|
|
import "Devices.proto";
|
|
import "Names.proto";
|
|
import "Network.proto";
|
|
import "customoptions.proto";
|
|
import "nanopb.proto";
|
|
|
|
|
|
// Main configuration structure
|
|
message config {
|
|
option (nanopb_msgopt).packed_struct = true;
|
|
|
|
// Provides the global name for the pointer to
|
|
// protoc plugins
|
|
option (cust_msg).global_name = "platform->";
|
|
option (nanopb_msgopt).msgid = 1000;
|
|
|
|
// GPIO structure definition with leds, etc
|
|
sys.gpios.config gpios = 1;
|
|
|
|
// Device tree with SPI, I2C, SPDIF, Display, etc
|
|
dev.config dev = 2;
|
|
|
|
// Platform services definition with options
|
|
services.config services = 3 ;
|
|
|
|
// Main device name used for networking, etc. Services which
|
|
// need a name typically has the option to overwrite its own name
|
|
sys.names.config names = 4;
|
|
|
|
// Hardware target (e.g. SqueezeAMP, MUSE, etc.)
|
|
string target = 5 [(nanopb).type = FT_POINTER];
|
|
sys.net.config net = 6;
|
|
|
|
|
|
}
|
|
|