Kconfig.projbuild 8.0 KB

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