Kconfig.projbuild 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. menu "Squeezelite-ESP32"
  2. menu "Logging"
  3. config LOGGING_SLIMPROTO
  4. string "logging level for slimproto "
  5. default "info"
  6. help
  7. Set logging level info|debug|sdebug
  8. config LOGGING_STREAM
  9. string "logging level for stream "
  10. default "info"
  11. help
  12. Set logging level info|debug|sdebug
  13. config LOGGING_DECODE
  14. string "logging level for decode"
  15. default "info"
  16. help
  17. Set logging level info|debug|sdebug
  18. config LOGGING_OUTPUT
  19. string "logging level for output"
  20. default "info"
  21. help
  22. Set logging level info|debug|sdebug
  23. endmenu
  24. config JACK_LOCKED
  25. bool
  26. config BAT_LOCKED
  27. bool
  28. config I2C_LOCKED
  29. bool
  30. config SPDIF_LOCKED
  31. bool
  32. menu "Audio Output"
  33. choice OUTPUT_TYPE
  34. prompt "Output Type"
  35. default BASIC_I2C_BT
  36. help
  37. Type of hardware platform
  38. config SQUEEZEAMP
  39. bool "SqueezeAMP"
  40. select JACK_LOCKED
  41. select BAT_LOCKED
  42. select I2C_LOCKED
  43. select SPDIF_LOCKED
  44. config A1S
  45. bool "ESP32-A1S module"
  46. select I2C_LOCKED
  47. config BASIC_I2C_BT
  48. bool "Generic I2S & Bluetooth"
  49. endchoice
  50. menu "DAC I2S settings"
  51. visible if !SQUEEZEAMP && !A1S
  52. config I2S_NUM
  53. int "I2S channel (0 or 1). "
  54. default 0
  55. help
  56. I2S dma channel to use.
  57. config I2S_BCK_IO
  58. int "I2S Bit clock GPIO number. "
  59. default 33 if !A1S
  60. default 27 if A1S
  61. help
  62. I2S Bit Clock gpio pin to use.
  63. config I2S_WS_IO
  64. int "I2S Word Select GPIO number. "
  65. default 25 if !A1S
  66. default 26 if A1S
  67. help
  68. I2S Word Select gpio pin to use.
  69. config I2S_DO_IO
  70. int "I2S Data Output GPIO number. "
  71. default 32 if !A1S
  72. default 25 if A1S
  73. help
  74. I2S data output gpio pin to use.
  75. config I2S_DI_IO
  76. int "I2S Data Input GPIO number. "
  77. default -1 if !A1S
  78. default 35 if A1S
  79. help
  80. I2S data input gpio pin to use (not used mostly, leave it to -1).
  81. endmenu
  82. menu "SPDIF settings"
  83. visible if !SQUEEZEAMP && !A1S
  84. config SDIF_NUM
  85. int "I2S channel for SDPIF (0 or 1)"
  86. default 0
  87. help
  88. I2S dma channel to use.
  89. config SPDIF_BCK_IO
  90. int "SDPIF Bit clock GPIO number"
  91. default I2S_BCK_IO
  92. help
  93. Must be set as SPDIF re-uses I2S but only needs DO (recommendation: set it to I2S Bit clock value)
  94. config SPDIF_WS_IO
  95. int "SPDIF Word Select GPIO number"
  96. default I2S_WS_IO
  97. help
  98. Must be set as SPDIF re-uses I2S but only needs DO (recommendation: set it to I2S Word select value)
  99. config SPDIF_DO_IO
  100. int "SPDIF Data I/O GPIO number"
  101. default 15 if SQUEEZEAMP
  102. default I2S_DO_IO if !A1S
  103. default -1 if A1S
  104. help
  105. I2S data output IO use to simulate SPDIF
  106. endmenu
  107. menu "SPDIF settings"
  108. visible if A1S
  109. config SPDIF_DO_IO
  110. int "SPDIF Data I/O GPIO number"
  111. default -1
  112. help
  113. I2S data output IO use to simulate SPDIF
  114. endmenu
  115. menu "A2DP settings"
  116. config A2DP_SINK_NAME
  117. string "Name of Bluetooth A2DP device"
  118. default "SMSL BT4.2"
  119. help
  120. This is the name of the bluetooth speaker that Squeezelite will try connecting to.
  121. config A2DP_DEV_NAME
  122. string "Name of Squeezelite device to use when connecting to A2DP device"
  123. default "Squeezelite"
  124. help
  125. This is the name of the device that the Bluetooth speaker will see when it is connected to.
  126. config A2DP_CONTROL_DELAY_MS
  127. int "Control loop delay. "
  128. default 500
  129. help
  130. Decreasing this will lead to a more responsive BT control, but might lead to noisy log files if debug is enabled.
  131. config A2DP_CONNECT_TIMEOUT_MS
  132. int "Time out duration when trying to connect to an A2DP audio sink"
  133. default 1000
  134. help
  135. Increasing this value will give more chance for less stable connections to be established.
  136. endmenu
  137. endmenu
  138. menu "Audio Input"
  139. config BT_SINK
  140. bool "Bluetooth receiver"
  141. default y
  142. help
  143. Enable bluetooth sink (Note that you obviously can't at the same time be a Bluetooth receiver and transmitter)
  144. config BT_NAME
  145. depends on BT_SINK
  146. string "Name of Bluetooth A2DP device"
  147. default "ESP32-BT"
  148. help
  149. This is the name of the bluetooth speaker that will be broadcasted
  150. config BT_SINK_PIN
  151. depends on BT_SINK
  152. int "Bluetooth PIN code"
  153. default 1234
  154. config AIRPLAY_SINK
  155. bool "AirPlay receiver"
  156. default y
  157. config AIRPLAY_NAME
  158. depends on AIRPLAY_SINK
  159. string "Name of AirPlay device"
  160. default "ESP32-AirPlay"
  161. help
  162. This is the name of the AirPlay speaker that will be broadcasted
  163. config AIRPLAY_PORT
  164. depends on AIRPLAY_SINK
  165. string "AirPlay listening port"
  166. default 5000
  167. help
  168. AirPlay service listening port
  169. endmenu
  170. menu "Display Screen"
  171. config DISPLAY_CONFIG
  172. string "Screen configuraton"
  173. default ""
  174. help
  175. Set parameters for display screen, leave empty for no screen
  176. I2C,width=<pixels>,height=<pixels>[address=<i2c_address>][,HFlip][,VFlip]
  177. SPI,width=<pixels>,height=<pixels>,cs=<gpio>[,HFlip][,VFlip]
  178. endmenu
  179. menu "Various I/O"
  180. config I2C_CONFIG
  181. string "I2C system configuration"
  182. default ""
  183. help
  184. Set parameters of shared I2C interface
  185. sda=<gpio>,scl=<gpio>[,speed=<num>][,port=<0|1>]
  186. config SPI_CONFIG
  187. string "SPI system configuration"
  188. default ""
  189. help
  190. Set parameters of shared SPI interface
  191. data=<gpio>,clk=<gpio>[,d/c=<num>][,host=<0|1|2>]
  192. config SET_GPIO
  193. string "Special GPIO configuration"
  194. default ""
  195. help
  196. Set parameters of shared GPIO with special values.
  197. <gpio_1>=Vcc|GND|amp|jack_h|jack_l[,<gpio_n>=Vcc|GND|amp|jack_h|jack_l]
  198. 'amp' means a GPIO that is set when playback starts
  199. 'jack_h' means the audio_gpio insertion detection (1=inserted, use 'jack_l' when 0=inserted) - see also "Jack Insertion GPIO"
  200. config ROTARY_ENCODER
  201. string "Rotary Encoder configuration"
  202. default ""
  203. help
  204. Set GPIO for rotary encoder (quadrature phase). See README on SqueezeESP32 project's GitHub for more details
  205. A=<gpio>,B=<gpio>[,SW=gpio>[,volume][,longpress]]
  206. endmenu
  207. menu "LED configuration"
  208. visible if !SQUEEZEAMP
  209. config LED_GREEN_GPIO
  210. int "Green led GPIO"
  211. default -1 if !SQUEEZEAMP
  212. default 12 if SQUEEZEAMP
  213. help
  214. Set to -1 for no LED
  215. config LED_RED_GPIO
  216. int "Red led GPIO"
  217. default -1 if !SQUEEZEAMP
  218. default 13 if SQUEEZEAMP
  219. help
  220. Set to -1 for no LED
  221. endmenu
  222. menu "Audio JACK"
  223. visible if !SQUEEZEAMP
  224. config JACK_GPIO
  225. int "Jack insertion GPIO"
  226. default -1 if !SQUEEZEAMP
  227. default 34 if SQUEEZEAMP
  228. help
  229. GPIO to detect speaker jack insertion. Set to -1 for no detection. This takes precedence over runtime jack GPIO
  230. config JACK_GPIO_LEVEL
  231. depends on JACK_GPIO != -1
  232. int "Level when inserted (0/1)"
  233. default 0
  234. endmenu
  235. menu "Battery measure"
  236. visible if !SQUEEZEAMP
  237. config BAT_CONFIG
  238. string "Set channel and scale"
  239. default "" if !SQUEEZEAMP
  240. default "channel=7,scale=20.24" if SQUEEZEAMP
  241. help
  242. Read a value every 10s on ADC1. Configuration format: channel=0..7,scale=<scale>
  243. endmenu
  244. endmenu