| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436 | # This is a hack but it overrides some LWIP Kconfig # parameters because we are firstconfig LWIP_MAX_SOCKETS	range 1 32menu "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	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).			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"			default ""			help				Set parameters of shared GPIO with special values.				<gpio_1>=Vcc|GND|amp[:0|1]|jack[: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				'[: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 deviceendmenu
 |