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

76 lines
2.1 KiB
Protocol Buffer

syntax = "proto3";
package sys;
import "GPIO.proto";
import "Artwork.proto";
import "Spotify.proto";
import "AirPlay.proto";
import "Squeezelite.proto";
import "Equalizer.proto";
import "nanopb.proto";
import "customoptions.proto";
// Configuration for sleep service
message SleepService {
option (nanopb_msgopt).msgid = 10035;
// Inactivity in minutes before going to sleep
uint32 delay = 1;
// Inactivity delay in minutes after which sleep resumes
int32 spurious = 2 [(nanopb).int_size = IS_16];
// GPIO for sleep
GPIO sleep = 3;
// List of GPIOs that will cause the system to wake up
repeated GPIO wake = 4 [(nanopb).type = FT_POINTER]; //[(nanopb).max_count= 10];
// List of RTC GPIOs to keep active
repeated GPIO rtc = 5 [(nanopb).type = FT_POINTER]; //[(nanopb).max_count= 10];
// Threshold in volts under which the system will enter into sleep
float batt = 6;
}
message Telnet {
bool enable = 1;
uint32 block = 2 [(nanopb).int_size = IS_16];
uint32 buffer = 3 [(nanopb).int_size = IS_16];
}
message Metadata {
option (nanopb_msgopt).msgid = 10036;
// Optional parameters controlling bluetooth and airplay
// Display format with optional keywords %artist%, %album%, %title%
string format = 1 [(nanopb).max_length= 50];
// Scrolling speed in ms
uint32 speed = 2 ;
// Pause time between scrolls in ms
uint32 pause = 3;
// Cover art display configuration
Artwork artwork = 4;
}
message BluetoothSink {
bool enabled = 1;
uint32 volume = 2;
string pin = 3 [(nanopb).max_length = 16,(cust_field).v_string = "0000" ];
}
message Services {
option (nanopb_msgopt).msgid = 10037;
Metadata metadata = 1;
SleepService sleep = 2;
Spotify cspot = 4;
AirPlay airplay = 5;
Squeezelite squeezelite = 6;
string release_url = 7 [(nanopb).max_length = 256, (cust_field).v_string = "https://api.github.com/repos/sle118/squeezelite-esp32/releases"];
BluetoothSink bt_sink = 8;
bool statistics = 9 [(cust_field).v_bool = false];
Telnet telnet = 10;
Equalizer equalizer = 11;
}