mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-10 13:37:03 +03:00
76 lines
2.1 KiB
Protocol Buffer
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;
|
|
} |