123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445 |
- # This is a hack but it overrides some LWIP Kconfig
- # parameters because we are first
- config LWIP_MAX_SOCKETS
- range 1 32
- menu "Squeezelite-ESP32"
- menu "Logging"
- config LOGGING_SLIMPROTO
- string "logging level for slimproto"
- default "info"
- help
- Set logging level info|debug|sdebug
- config LOGGING_STREAM
- string "logging level for stream"
- default "info"
- help
- Set logging level info|debug|sdebug
- config LOGGING_DECODE
- string "logging level for decode"
- default "info"
- help
- Set logging level info|debug|sdebug
- config LOGGING_OUTPUT
- string "logging level for output"
- default "info"
- help
- Set logging level info|debug|sdebug
- endmenu
- config AMP_LOCKED
- bool
- config JACK_LOCKED
- bool
- config BAT_LOCKED
- bool
- config I2C_LOCKED
- bool
- config SPDIF_LOCKED
- bool
- config LED_LOCKED
- bool
- config SPKFAULT_LOCKED
- bool
- config MUTE_GPIO_LEVEL
- int
- default 0
- config TARGET_LOCKED
- bool
- default n
- menu "Target"
- choice OUTPUT_TYPE
- prompt "Main system"
- default BASIC_I2C_BT
- help
- Type of hardware platform
- config SQUEEZEAMP
- bool "SqueezeAMP"
- select JACK_LOCKED
- select BAT_LOCKED
- select I2C_LOCKED
- select LED_LOCKED
- select SPKFAULT_LOCKED
- select TARGET_LOCKED
- config MUSE
- bool "Muse"
- select JACK_LOCKED
- select BAT_LOCKED
- select I2C_LOCKED
- select AMP_LOCKED
- select TARGET_LOCKED
- config BASIC_I2C_BT
- bool "Generic I2S & Bluetooth"
- config TWATCH2020
- bool "T-WATCH2020 by LilyGo"
- select I2C_LOCKED
- select TARGET_LOCKED
- endchoice
- config RELEASE_API
- string "Software update URL"
- default "https://api.github.com/repos/sle118/squeezelite-esp32/releases"
- help
- Set the URL of the API that the front-end UI will use to fetch software updates
- config SQUEEZELITE_ESP32_RELEASE_URL
- string "Release URL"
- default "https://github.com/sle118/squeezelite-esp32/releases"
- help
- Set the URL where users can see a list of releases
- # you can't change default values once they are set so changing "Target" will not reset
- # project name if they are visible config - they have to be silent strings
- config PROJECT_NAME
- string
- default "SqueezeAMP" if SQUEEZEAMP
- default "Squeezelite-TWATCH" if TWATCH2020
- default "Muse" if MUSE
- default "Squeezelite-ESP32"
- config FW_PLATFORM_NAME
- string
- default "SqueezeAmp" if SQUEEZEAMP
- default "TWATCH" if TWATCH2020
- default "Muse" if MUSE
- default "ESP32"
- # AGGREGATES - begin
- # these parameters are "aggregates" that take precedence. They must have a default value
- config DAC_CONFIG
- string
- default "model=TAS57xx,bck=33,ws=25,do=32,sda=27,scl=26,mute=14:0" if SQUEEZEAMP
- default "model=I2S,bck=26,ws=25,do=33,i2c=53,sda=21,scl=22" if TWATCH2020
- default "model=I2S,bck=5,ws=25,do=26,di=35,i2c=16,sda=18,scl=23,mck" if MUSE
- default ""
- config SPDIF_CONFIG
- string
- default "bck=33,ws=25,do=15" if SQUEEZEAMP
- default ""
- config GPIO_EXP_CONFIG
- string
- default ""
- config SPI_CONFIG
- string
- default "dc=27,data=19,clk=18" if TWATCH2020
- default "mosi=15,miso=2,clk=14" if MUSE
- default ""
- config DISPLAY_CONFIG
- string
- default "SPI,driver=ST7789,width=240,height=240,cs=5,back=12,speed=16000000,HFlip,VFlip" if TWATCH2020
- default ""
- config ETH_CONFIG
- string
- default ""
- # AGGREGATES - end
- config DAC_CONTROLSET
- string
- default "{ \"init\": [ {\"reg\":41, \"val\":128}, {\"reg\":18, \"val\":255} ], \"poweron\": [ {\"reg\":18, \"val\":64, \"mode\":\"or\"} ], \"poweroff\": [ {\"reg\":18, \"val\":191, \"mode\":\"and\"} ] }" if TWATCH2020
- default "{\"init\":[ {\"reg\":0,\"val\":128}, {\"reg\":0,\"val\":0}, {\"reg\":25,\"val\":4}, {\"reg\":1,\"val\":80}, {\"reg\":2,\"val\":0}, {\"reg\":8,\"val\":0}, {\"reg\":4,\"val\":192}, {\"reg\":0,\"val\":18}, {\"reg\":1,\"val\":0}, {\"reg\":23,\"val\":24}, {\"reg\":24,\"val\":2}, {\"reg\":38,\"val\":9}, {\"reg\":39,\"val\":144}, {\"reg\":42,\"val\":144}, {\"reg\":43,\"val\":128}, {\"reg\":45,\"val\":128}, {\"reg\":27,\"val\":0}, {\"reg\":26,\"val\":0}, {\"reg\":2,\"val\":240}, {\"reg\":2,\"val\":0}, {\"reg\":29,\"val\":28}, {\"reg\":4,\"val\":48}, {\"reg\":25,\"val\":0}, {\"reg\":46,\"val\":33}, {\"reg\":47,\"val\":33} ]}" if MUSE
- default ""
- config AUDIO_CONTROLS
- string
- default "[{\"gpio\":32, \"pull\":true, \"long_press\":1000, \"normal\":{\"pressed\":\"ACTRLS_VOLDOWN\"}, \"longpress\":{\"pressed\":\"ACTRLS_PREV\"}}, {\"gpio\":19, \"pull\":true, \"long_press\":1000, \"normal\":{\"pressed\":\"ACTRLS_VOLUP\"}, \"longpress\":{\"pressed\":\"ACTRLS_NEXT\"}}, {\"gpio\":12, \"pull\":true, \"long_press\":1000, \"normal\":{\"pressed\":\"ACTRLS_TOGGLE\"},\"longpress\":{\"pressed\":\"ACTRLS_POWER\"}}]" if MUSE
- default ""
- config BAT_CONFIG
- string
- default "channel=7,scale=20.24,atten=0" if SQUEEZEAMP
- default "channel=5,scale=7.00,atten=3,cells=1" if MUSE
- default ""
- config TARGET
- string
- default "muse" if MUSE
- default ""
- config AMP_GPIO
- int
- default 21 if MUSE
- default -1
- config JACK_GPIO
- int
- default 34 if SQUEEZEAMP || MUSE
- default -1
- config SPKFAULT_GPIO
- int
- default 2 if SQUEEZEAMP
- default -1
- config BAT_CHANNEL
- int
- default 7 if SQUEEZEAMP
- default -1
- config LED_GREEN_GPIO
- int
- default 12 if SQUEEZEAMP
- default -1
- config LED_RED_GPIO
- int
- default 13 if SQUEEZEAMP
- default -1
- config SET_GPIO
- string
- default "0=ir" if SQUEEZEAMP
- endmenu
- menu "Audio settings"
- menu "DAC settings"
- visible if BASIC_I2C_BT
- menu "I2S settings"
- config I2S_NUM
- int "I2S channel (0 or 1)"
- default 0
- help
- I2S dma channel to use.
- config I2S_BCK_IO
- int "I2S Bit clock GPIO number"
- default -1
- help
- I2S Bit Clock gpio pin to use.
- config I2S_WS_IO
- int "I2S Word Select GPIO number"
- default -1
- help
- I2S Word Select gpio pin to use.
- config I2S_DO_IO
- int "I2S Data Output GPIO number"
- default -1
- help
- I2S data output gpio pin to use.
- config I2S_DI_IO
- int "I2S Data Input GPIO number"
- default -1
- help
- I2S data input gpio pin to use (not used mostly, leave it to -1).
- config I2S_MCK_IO
- int "I2S Master Clock GPIO number"
- default -1
- help
- I2S data output gpio pin to use (not used mostly, leave it to -1).
- endmenu
- menu "I2C settings"
- config I2C_SDA
- int "I2C SDA GPIO number for DAC control"
- default -1
- help
- I2C data gpio pin to use with DAC (not used mostly, leave it to -1).
- config I2C_SCL
- int "I2C SCL GPIO number for DAC control"
- default -1
- help
- I2C clock gpio pin to use with DAC (not used mostly, leave it to -1).
- endmenu
- config MUTE_GPIO
- int "GPIO for muting DAC"
- default -1
- help
- GPIO used to mute DAC (not used mostly, leave it to -1).
- config MUTE_GPIO_LEVEL
- int "Mute GPIO active level"
- depends on MUTE_GPIO != -1
- default 1
- endmenu
- menu "SPDIF settings"
- visible if BASIC_I2C_BT
- config SDIF_NUM
- int "I2S channel for SDPIF (0 or 1)"
- default 0
- help
- I2S dma channel to use.
- config SPDIF_BCK_IO
- int "SDPIF Bit clock GPIO number"
- default I2S_BCK_IO
- help
- Must be set as SPDIF re-uses I2S but only needs DO (recommendation: set it to I2S Bit clock value)
- config SPDIF_WS_IO
- int "SPDIF Word Select GPIO number"
- default I2S_WS_IO
- help
- Must be set as SPDIF re-uses I2S but only needs DO (recommendation: set it to I2S Word select value)
- config SPDIF_DO_IO
- int "SPDIF Data I/O GPIO number"
- default -1
- help
- I2S data output IO use to simulate SPDIF
- endmenu
- menu "A2DP settings"
- config A2DP_SINK_NAME
- string "Name of Bluetooth A2DP device"
- default "SMSL BT4.2"
- help
- This is the name of the bluetooth speaker that Squeezelite will try connecting to.
- config A2DP_DEV_NAME
- string "Name of Squeezelite device to use when connecting to A2DP device"
- default "Squeezelite"
- help
- This is the name of the device that the Bluetooth speaker will see when it is connected to.
- config A2DP_CONTROL_DELAY_MS
- int "Control loop delay"
- default 500
- help
- Decreasing this will lead to a more responsive BT control, but might lead to noisy log files if debug is enabled.
- config A2DP_CONNECT_TIMEOUT_MS
- int "Time out duration when trying to connect to an A2DP audio sink"
- default 1000
- help
- Increasing this value will give more chance for less stable connections to be established.
- endmenu
- endmenu
- menu "Audio Input"
- config BT_SINK
- bool "Bluetooth receiver"
- default y
- help
- Enable bluetooth sink (Note that you obviously can't at the same time be a Bluetooth receiver and transmitter)
- config BT_NAME
- depends on BT_SINK
- string "Name of Bluetooth A2DP device"
- default "ESP32-BT"
- help
- This is the name of the bluetooth speaker that will be broadcasted
- config BT_SINK_PIN
- depends on BT_SINK
- int "Bluetooth PIN code"
- default 1234
- config AIRPLAY_SINK
- bool "AirPlay receiver"
- default y
- config AIRPLAY_NAME
- depends on AIRPLAY_SINK
- string "Name of AirPlay device"
- default "ESP32-AirPlay"
- help
- This is the name of the AirPlay speaker that will be broadcasted
- config AIRPLAY_PORT
- depends on AIRPLAY_SINK
- string "AirPlay listening port"
- default "5000"
- help
- AirPlay service listening port
- config CSPOT_SINK
- bool "Spotify (cspot) receiver"
- default y
- help
- Enable Spotify connect using CSpot
- endmenu
-
- menu "Controls"
- depends on !MUSE
- config AUDIO_CONTROLS
- string "Audio buttons set (JSON)"
- help
- Configuration of buttons (see README for syntax)
- endmenu
- menu "Display Screen"
- depends on !TWATCH2020
- config DISPLAY_CONFIG
- string "Screen configuraton"
- help
- Set parameters for display screen, leave empty for no screen
- I2C,driver=<model>,width=<pixels>,height=<pixels>[address=<i2c_address>][,HFlip][,VFlip][,rotate]
- SPI,driver=<model>,width=<pixels>,height=<pixels>,cs=<gpio>[,HFlip][,VFlip][,rotate]
- endmenu
- menu "Various I/O"
- visible if !TWATCH2020
- config I2C_CONFIG
- string "I2C system configuration"
- default ""
- help
- Set parameters of shared I2C interface
- sda=<gpio>,scl=<gpio>[,speed=<num>][,port=<0|1>]
- config SPI_CONFIG
- string "SPI system configuration"
- help
- Set parameters of shared SPI interface
- data=<gpio>,clk=<gpio>[,d/c=<num>][,host=<0|1|2>]
- config SET_GPIO
- string "Special GPIO configuration"
- help
- Set parameters of shared GPIO with special values.
- <gpio_1>=Vcc|GND|amp[:0|1]|jack[:0|1][ir][spkfault[:0|1][,<gpio_n>=Vcc|GND|amp[:0|1]|jack[:0|1]]
- 'amp' => GPIO that is set when playback starts
- 'jack' => GPIO used for audio jack detection
- 'green', 'red' => GPIO for status LED
- 'spkfault' => GPIO used for speaker fault detection
- 'ir' => GPIO used for Infrared Receiver
- [:0|1] means set the active value for that GPIO can be low or high
- config ROTARY_ENCODER
- string "Rotary Encoder configuration"
- default ""
- help
- Set GPIO for rotary encoder (quadrature phase). See README on SqueezeESP32 project's GitHub for more details
- A=<gpio>,B=<gpio>[,SW=gpio>[[,knobonly[=<ms>]|[,volume][,longpress]]
- config GPIO_EXP_CONFIG
- string "GPIO expander configuration"
- help
- Set parameters of GPIO extender
- model=<model>[,addr=<addr>][,base=<100..N>][,count=<0..32>][,intr=<gpio>][,port=dac|system]
- endmenu
-
- menu "LED configuration"
- visible if !SQUEEZEAMP && !TWATCH2020 && !MUSE
- config LED_GREEN_GPIO
- int "Green led GPIO"
- help
- Set to -1 for no LED
- config LED_GREEN_GPIO_LEVEL
- int "Green led ON level"
- depends on LED_GREEN_GPIO != -1
- config LED_RED_GPIO
- int "Red led GPIO"
- help
- Set to -1 for no LED
- config LED_RED_GPIO_LEVEL
- int "Red led ON level"
- depends on LED_RED_GPIO != -1
- default 0 if SQUEEZEAMP
- default 1
- endmenu
-
- menu "Audio JACK"
- visible if !TARGET_LOCKED
- config JACK_GPIO
- int "Jack insertion GPIO"
- help
- GPIO to detect speaker jack insertion. Set to -1 for no detection.
- config JACK_GPIO_LEVEL
- depends on JACK_GPIO != -1
- int "Level when inserted (0/1)"
- default 0
- endmenu
-
- menu "Amplifier"
- visible if !TARGET_LOCKED
- config AMP_GPIO
- int "Amplifier GPIO"
- help
- GPIO to switch on/off amplifier. Set to -1 for no amplifier.
- config AMP_GPIO_LEVEL
- depends on AMP_GPIO != -1
- int "Active level(0/1)"
- default 1
- endmenu
-
- menu "Speaker Fault"
- visible if !TARGET_LOCKED
- config SPKFAULT_GPIO
- int "Speaker fault GPIO"
- help
- GPIO to detect speaker fault condition. Set to -1 for no detection.
- config SPKFAULT_GPIO_LEVEL
- depends on SPKFAULT_GPIO != -1
- int "Level when fault (0/1)"
- default 0
- endmenu
-
- menu "Battery measure"
- visible if !TARGET_LOCKED
- config BAT_CONFIG
- string "Battery acquisition configuration"
- help
- Sets parameters for battery voltage measure
- channel=<0..7>,scale=<ratio_to_4096>,atten=<adc_atten>,cells=<1..3>
- endmenu
-
- config DEFAULT_COMMAND_LINE
- string "Default command line to execute"
- default "squeezelite -o I2S -b 500:2000 -d all=info -C 30"
- help
- This is the command to run when starting the device
- endmenu
|