From f3c41e2f6d94c03fea13cbb5f4c67bb17d89e1a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien?= Date: Wed, 5 Feb 2020 17:18:04 -0500 Subject: [PATCH 1/7] cleanup of unused submodules --- .gitmodules | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.gitmodules b/.gitmodules index 2dfa609a..e0e2722a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,12 +1,3 @@ -[submodule "components/libwebsockets"] - path = components/libwebsockets - url = https://github.com/warmcat/libwebsockets.git -[submodule "components/mbedtls"] - path = components/mbedtls - url = https://github.com/lws-team/mbedtls.git -[submodule "components/lws-esp32"] - path = components/lws-esp32 - url = https://github.com/huming2207/lws-esp32.git [submodule "components/telnet/libtelnet"] path = components/telnet/libtelnet url = https://github.com/seanmiddleditch/libtelnet From 97a96ca71653572bbabe6948020135cb62b7b600 Mon Sep 17 00:00:00 2001 From: philippe44 Date: Wed, 5 Feb 2020 15:29:01 -0800 Subject: [PATCH 2/7] Update README.md --- README.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index fbabde67..a55b27b4 100644 --- a/README.md +++ b/README.md @@ -28,9 +28,20 @@ Use the `squeezelite-esp32-I2S-4MFlash-sdkconfig.defaults` configuration file. To access NVS, in the webUI, go to credits and select "shows nvs editor". Go into the NVS editor tab to change NFS parameters. In syntax description below \<\> means a value while \[\] describe optional parameters. ### I2C -The NVS parameter "i2c_config" set the I2C's gpio needed to enable. Leave it blank to disable I2C usage. Note that on SqueezeAMP, port must be 1. Syntax is +The NVS parameter "i2c_config" set the i2c's gpio. Leave it blank to disable I2C usage. Note that on SqueezeAMP, port must be 1. Syntax is ``` -sda=,scl=,port=0|1 +sda=,scl=,port=0|1 +``` +### SPDIF +The NVS parameter "spdif_config" sets the i2s's gpio needed for SPDIF. + +SPDIF is made available by re-using i2s interface in a non-standard way, so although only one pin (DO) is needed, the controller must be fully initialized, so the bit clock (bck) and word clock (ws) must be set as well. As i2s and SPDIF are mutually exclusive, you can reuse the same IO if your hardware allows so. + +Note that on SqueezeAMP, these are automatically defined. + +Leave it blank to disable SPDIF usage. Syntax is +``` +bck=,ws=,do= ``` ## Display The NVS parameter "display_config" sets the parameters for an optional display. Syntax is @@ -154,7 +165,6 @@ Below is a difficult but functional 2-buttons interface for your decoding pleasu "longshifted":{"pressed":"BCTRLS_LEFT"}} ] ``` - ## Setting up ESP-IDF ### Docker You can use docker to build squeezelite-esp32 From e057017702c0b3c51aed127c63aef20c12686f16 Mon Sep 17 00:00:00 2001 From: philippe44 Date: Wed, 5 Feb 2020 15:42:57 -0800 Subject: [PATCH 3/7] Update README.md --- README.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a55b27b4..f4939858 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,12 @@ Use the `squeezelite-esp32-I2S-4MFlash-sdkconfig.defaults` configuration file. To access NVS, in the webUI, go to credits and select "shows nvs editor". Go into the NVS editor tab to change NFS parameters. In syntax description below \<\> means a value while \[\] describe optional parameters. ### I2C -The NVS parameter "i2c_config" set the i2c's gpio. Leave it blank to disable I2C usage. Note that on SqueezeAMP, port must be 1. Syntax is +The NVS parameter "i2c_config" set the i2c's gpio used for generic purpose (e.g. display). Leave it blank to disable I2C usage. Note that on SqueezeAMP, port must be 1. Syntax is +``` +sda=,scl=,port=0|1 +``` +### I2S +The NVS parameter "i2s_config" set the gpio used for i2s communication with your DAC. You can also define these at compile time but nvs parameter takes precedence. Note that on SqueezeAMP and A1S, these are forced at runtime, so this parameter does not matter. If your DAC also requires i2c, then you must go the re-compile route. Syntax is ``` sda=,scl=,port=0|1 ``` @@ -37,9 +42,9 @@ The NVS parameter "spdif_config" sets the i2s's gpio needed for SPDIF. SPDIF is made available by re-using i2s interface in a non-standard way, so although only one pin (DO) is needed, the controller must be fully initialized, so the bit clock (bck) and word clock (ws) must be set as well. As i2s and SPDIF are mutually exclusive, you can reuse the same IO if your hardware allows so. -Note that on SqueezeAMP, these are automatically defined. +Note that on SqueezeAMP, these are automatically defined, so this parameter does not matter. -Leave it blank to disable SPDIF usage. Syntax is +Leave it blank to disable SPDIF usage, you can also define them at compile time using "make menuconfig". Syntax is ``` bck=,ws=,do= ``` From 9eb3ded36b05c182d9d88abe1008573d75ba7028 Mon Sep 17 00:00:00 2001 From: philippe44 Date: Wed, 5 Feb 2020 16:01:28 -0800 Subject: [PATCH 4/7] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f4939858..c46f4b17 100644 --- a/README.md +++ b/README.md @@ -32,8 +32,8 @@ The NVS parameter "i2c_config" set the i2c's gpio used for generic purpose (e.g. ``` sda=,scl=,port=0|1 ``` -### I2S -The NVS parameter "i2s_config" set the gpio used for i2s communication with your DAC. You can also define these at compile time but nvs parameter takes precedence. Note that on SqueezeAMP and A1S, these are forced at runtime, so this parameter does not matter. If your DAC also requires i2c, then you must go the re-compile route. Syntax is +### DAC/I2S +The NVS parameter "dac_config" set the gpio used for i2s communication with your DAC. You can also define these at compile time but nvs parameter takes precedence. Note that on SqueezeAMP and A1S, these are forced at runtime, so this parameter does not matter. If your DAC also requires i2c, then you must go the re-compile route. Syntax is ``` sda=,scl=,port=0|1 ``` From b844a469c0c7f2dac2ca20f5284b96f8db92057e Mon Sep 17 00:00:00 2001 From: philippe44 Date: Wed, 5 Feb 2020 16:09:20 -0800 Subject: [PATCH 5/7] Update README.md --- README.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index c46f4b17..db289ee3 100644 --- a/README.md +++ b/README.md @@ -5,9 +5,11 @@ Works with the SqueezeAMP see [here](https://forums.slimdevices.com/showthread.p Use the `squeezelite-esp32-SqueezeAmp-sdkconfig.defaults` configuration file. +### ESP32-A1S +Works with [ESP32-A1S](https://docs.ai-thinker.com/esp32-a1s) module that includes audio codec and headset output. You still need to use a demo board or an external amplifier if you want direct speaker connection. + ### ESP32-WROVER + I2S DAC -Squeezelite-esp32 requires esp32 chipset and 4MB PSRAM. ESP32-WROVER meets these requirements. -To get an audio output an I2S DAC can be used. Cheap PCM5102 I2S DACs work others may also work. PCM5012 DACs can be hooked up via: +Squeezelite-esp32 requires esp32 chipset and 4MB PSRAM. ESP32-WROVER meets these requirements. To get an audio output an I2S DAC can be used. Cheap PCM5102 I2S DACs work others may also work. PCM5012 DACs can be hooked up via: I2S - WROVER VCC - 3.3V @@ -16,9 +18,9 @@ GND - GND FLT - GND DMP - GND SCL - GND -BCK - 26 -DIN - 22 -LCK - 25 +BCK - (see below) +DIN - (see below) +LCK - (see below) FMT - GND XMT - 3.3V From 1a09baf5cd91fe6aaafc86cc7e7b43be45710322 Mon Sep 17 00:00:00 2001 From: philippe44 Date: Wed, 5 Feb 2020 16:09:52 -0800 Subject: [PATCH 6/7] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index db289ee3..1157ac9d 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ To access NVS, in the webUI, go to credits and select "shows nvs editor". Go int ### I2C The NVS parameter "i2c_config" set the i2c's gpio used for generic purpose (e.g. display). Leave it blank to disable I2C usage. Note that on SqueezeAMP, port must be 1. Syntax is ``` -sda=,scl=,port=0|1 +bck=,ws=,do= ``` ### DAC/I2S The NVS parameter "dac_config" set the gpio used for i2s communication with your DAC. You can also define these at compile time but nvs parameter takes precedence. Note that on SqueezeAMP and A1S, these are forced at runtime, so this parameter does not matter. If your DAC also requires i2c, then you must go the re-compile route. Syntax is From 8fbc452d5b4c4ad2dafa94ebb5cae02f29fce087 Mon Sep 17 00:00:00 2001 From: philippe44 Date: Wed, 5 Feb 2020 16:13:27 -0800 Subject: [PATCH 7/7] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 1157ac9d..1d8e3eaf 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,8 @@ The NVS parameter "metadata_config" sets how metadata is displayed for AirPlay a - 'format' can contain free text and any of the 3 keywords %artist%, %album%, %title%. Using that format string, the keywords are replaced by their value to build the string to be displayed. Note that the plain text following a keyword that happens to be empty during playback of a track will be removed. For example, if you have set format=%artist% - %title% and there is no artist in the metadata then only will be displayed not " - <title>". +Currently only 128x32 I2C display like [this](https://www.buydisplay.com/i2c-blue-0-91-inch-oled-display-module-128x32-arduino-raspberry-pi) are supported + ### Set GPIO The parameter "set_GPIO" is use to set assign GPIO to various functions.