Kconfig.projbuild 8.4 KB

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