Announcement
Collapse
No announcement yet.
ANNOUNCE: Squeezelite-ESP32 (dedicated thread)
Collapse
X
-
I have to check what my simplified parser does, but "display_config": "SPI:width=256,height=64,cs=5,reset=22,speed=80000 00,driver=SSD1322", should be "display_config": "SPI,width=256,height=64,cs=5,reset=22,speed=8000000,dr iver=SSD1322". Can you capture the serial log when it boots? It will tell me if the configuration is properly taken into account. You just need either a terminal or "idf.py monitor" on the pseudo-COM, or use telnetLMS 8.2 on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3Comment
-
Code:I (2870) display: Trying to configure display with SPI:width=256,height=64,cs=5,reset=22,speed=8000000,driver=SSD1322 I (2980) SSD1322: SSD1322 with offset 28, page 8, iRAM 0x3ffc7104 I (2990) display: Display is SPI host 2 with cs:5 I (2990) gds: Adding line 1 at -3 (height:14) I (2990) gds: Adding line 2 at 8 (height:24)
Comment
-
this is, what i'm using spi with ESP32 Audio Kit V2.2 and an 0.96" OLED monochrom (only first 10 lines are yellow, the rest is blue)
fw: ESP32-A1S.552.master-cmake
spi_config: data=13,clk=15,dc=19,host=1
display_config: SPI:width=128,height=64,cs=12,reset=22,speed=80000 00,driver=SSD1306,HFlip,VFlip
DIP: off,off,off,on,on
Last edited by Harry1999; 2021-01-23, 11:11.Comment
-
I have to check what my simplified parser does, but "display_config": "SPI:width=256,height=64,cs=5,reset=22,speed=80000 00,driver=SSD1322", should be "display_config": "SPI,width=256,height=64,cs=5,reset=22,speed=8000000,dr iver=SSD1322". Can you capture the serial log when it boots? It will tell me if the configuration is properly taken into account. You just need either a terminal or "idf.py monitor" on the pseudo-COM, or use telnet
LMS 7.9 - 1xRadio, 1xBoom, 5xDuet,3xTouch, 1 SB2. Sony PlayStation, Emby, Chromecast v1 and v2 and...
6xSqueezeAmp, several other ESP32-Wrover boards with jumper wires flying around, some with ethernet!Comment
-
So I'm trying yours, but where is your IO12? I can't see any pin for IO12. The schematic for this thing [posted earlier in this thread] says IO12 is used for the SD card.
Comment
-
FYI, I just received the esp32-a1s that I had ordered some weeks ago and I'll be able to do some experimentations of my own very soon. If your problem isn't solved by then, I will certainly be in a better position to help and possibly make some changes to the build target as required.LMS 7.9 - 1xRadio, 1xBoom, 5xDuet,3xTouch, 1 SB2. Sony PlayStation, Emby, Chromecast v1 and v2 and...
6xSqueezeAmp, several other ESP32-Wrover boards with jumper wires flying around, some with ethernet!Comment
-
FYI, I just received the esp32-a1s that I had ordered some weeks ago and I'll be able to do some experimentations of my own very soon. If your problem isn't solved by then, I will certainly be in a better position to help and possibly make some changes to the build target as required.LMS 8.2 on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3Comment
-
Then perhaps it would be worth making a definitive documentation of the best combinationsLMS 7.9 - 1xRadio, 1xBoom, 5xDuet,3xTouch, 1 SB2. Sony PlayStation, Emby, Chromecast v1 and v2 and...
6xSqueezeAmp, several other ESP32-Wrover boards with jumper wires flying around, some with ethernet!Comment
-
In contrast to every permutation I've tried so far, yours causes my D5 LED to blink rather than come on solid. Who knows what D5 means? Not me!
So I'm trying yours, but where is your IO12? I can't see any pin for IO12. The schematic for this thing [posted earlier in this thread] says IO12 is used for the SD card.
Under binocular, D5 seems to be GPIO19 which is also key3 and that's confirmed by pressing it. I think your best chance is to reuse GPIO12 and GPIO14 for data and clock as they are probably clean (set them to the JTAG interface with the dip switches) and then decide which keys to re-use between 5,13,15,18,19. You can also use GPIO0 and RX/TX which are GPIO1 and GPIO3 (you'll loose trace after boot and need to use telnet). Forget 21 or you'll lose the control of the amplifier and 22 is for D5. I'm wondering if some of the GPIO muxed with keys don't have a debouncing capacitor, so you want to avoid them for SPI data & clock. Do you have an oscilloscope to see the SPI signals?
These black PCB might look nice but they are a real pain to trace and this board is a mess in term of IO mux...
NB: I've heavily edited this message while figuring out all that and I've updated https://github.com/sle118/squeezelit...make/README.mdAttached FilesLast edited by philippe_44; 2021-01-24, 08:33.LMS 8.2 on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3Comment
-
This is, what i found out... (working for me)
ESP32 Audio Kit V2.2
----------------------------------------------------------------
GPIOs:
JTAG:
MTDO = IO15
MTCK = IO13
MTDI = IO12
MTMS = IO14
Key1 = IO36
Key2 = IO13
Key3 = IO19 (blinking LED D5)
Key4 = IO23
Key5 = IO18
Key6 = IO5
----------------------------------------------------------------
combination Rotary I2C-Display
Rotary:
"rotary_config": "A=18,B=5,SW=23,volume,longpress",
A = IO18
B = IO5
SW = IO23 (Button)
----------------------------------------------------------------
I2C-Display:
"i2c_config": "scl=15,sda=13,speed=400000,port=1",
"display_config": "I2C:width=128,height=64,address=60,driver=SSD1306 ,HFlip,VFlip",
IO15 SCL
IO13 SDA
DIP-Schalter: Off,Off,Off,On,On
----------------------------------------------------------------
----------------------------------------------------------------
Only SPI-Display
spi_config: data=13,clk=15,dc=23,host=1
display_config: SPI:width=128,height=64,cs=12,reset=22,speed=80000 00,driver=SSD1306
Clock,CLK,SCL = D1 = MTDO = IO15
Data,Mosi = DO = MTCK = IO13
CS = CS = MTDI = IO12 (some displays don't have this, no GPIO needed, try out)
DC = DC = = IO23 / IO19 possible (with parallel blinking D5-LED)
Reset = RES = = IO22
DIP-Switches: Off,Off,Off,On,On
----------------------------------------------------------------Last edited by Harry1999; 2021-01-24, 09:23.Comment
-
This is, what i found out... (working for me)
ESP32 Audio Kit V2.2
----------------------------------------------------------------
GPIOs:
JTAG:
MTDO = IO15
MTCK = IO13
MTDI = IO12
MTMS = IO14
Key1 = IO36
Key2 = IO13
Key3 = IO19 (blinking LED D5)
Key4 = IO23
Key5 = IO18
Key6 = IO5
----------------------------------------------------------------
combination Rotary I2C-Display
Rotary:
"rotary_config": "A=18,B=5,SW=23,volume,longpress",
A = IO18
B = IO5
SW = IO23 (Button)
----------------------------------------------------------------
I2C-Display:
"i2c_config": "scl=15,sda=13,speed=400000,port=1",
"display_config": "I2C:width=128,height=64,address=60,driver=SSD1306 ,HFlip,VFlip",
IO15 SCL
IO13 SDA
DIP-Schalter: Off,Off,Off,On,On
----------------------------------------------------------------
----------------------------------------------------------------
Only SPI-Display
spi_config: data=13,clk=15,dc=23,host=1
display_config: SPI:width=128,height=64,cs=12,reset=22,speed=80000 00,driver=SSD1306
Clock,CLK,SCL = D1 = MTDO = IO15
Data,Mosi = DO = MTCK = IO13
CS = CS = MTDI = IO12 (some displays don't have this, no GPIO needed, try out)
DC = DC = = IO23 / IO19 possible (with parallel blinking D5-LED)
Reset = RES = = IO22
DIP-Switches: Off,Off,Off,On,On
----------------------------------------------------------------LMS 8.2 on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3Comment
-
----------------------------------------------------------------
Only SPI-Display
spi_config: data=13,clk=15,dc=23,host=1
display_config: SPI:width=128,height=64,cs=12,reset=22,speed=80000 00,driver=SSD1306
Clock,CLK,SCL = D1 = MTDO = IO15
Data,Mosi = DO = MTCK = IO13
CS = CS = MTDI = IO12 (some displays don't have this, no GPIO needed, try out)
DC = DC = = IO23 / IO19 possible (with parallel blinking D5-LED)
Reset = RES = = IO22
DIP-Switches: Off,Off,Off,On,On
----------------------------------------------------------------
The D2 LED seems to blink as the screen is updated, FWIW.
For the record:
ESP32 Audio Kit V2.2 board, dip switches set to off/off/off/on/on
Config:
display_config SPI:width=256,height=64,cs=12,reset=22,speed=80000 00,driver=SSD1322
spi_config data=13,clk=15,dc=23,host=1
No-name SSD1322 256x64 OLED display, with 0-Ohm resistors set in "4-wire SPI" mode. Yes, it requires CS.
Thanks also to philippe_44 and sle118 for your help/work on this.Comment
-
Thankyouthankyouthankyou...........finally have this working!!!!!! [I am not usually a fan of multiple exclamation marks in a row, but this is a special occasion, and there doesn't seem to be a "we are not worthy" emoji on this forum].
The D2 LED seems to blink as the screen is updated, FWIW.
For the record:
ESP32 Audio Kit V2.2 board, dip switches set to off/off/off/on/on
Config:
display_config SPI:width=256,height=64,cs=12,reset=22,speed=80000 00,driver=SSD1322
spi_config data=13,clk=15,dc=23,host=1
No-name SSD1322 256x64 OLED display, with 0-Ohm resistors set in "4-wire SPI" mode. Yes, it requires CS.
Thanks also to philippe_44 and sle118 for your help/work on this.LMS 8.2 on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3Comment
-
Because of the intensity of the green LED D1, I had some electrical tape over them. D1 is going off and D2 is coming on [I think - very hard to tell as they're very rapid]. D3 is on solid, D4+D5 are both off completely.
I am going to try 21=amp,39=jack:0,22=green:0 for set_GPIO again.
Edit: 22=green:0 breaks the display [which makes sense - I am using 22 for reset]. D1 stays on solid, D4 comes on, nothing on the display. This might be why so many of my previous attempts didn't seem to be working.Last edited by troffasky; 2021-01-24, 11:07.Comment
Comment