Announcement

Collapse
No announcement yet.

ANNOUNCE: Squeezelite-ESP32 (dedicated thread)

Collapse
X
 
  • Time
  • Show
Clear All
new posts

  • Originally posted by philippe_44
    But can you send me the config stances you use with squeezelite-esp32?
    Attached.
    Attached Files

    Comment


    • Originally posted by troffasky
      Attached.
      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 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 & 3

      Comment


      • 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)
        Running version: ESP32-A1S.552.master-cmake
        Last edited by troffasky; 2021-01-22, 23:32. Reason: Version number

        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

          Click image for larger version

Name:	IMG_0020.JPG
Views:	1
Size:	50.0 KB
ID:	1571027
          Last edited by Harry1999; 2021-01-23, 11:11.

          Comment


          • Originally posted by philippe_44
            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
            This is odd. It looks like an old bug that was fixed 4 months ago
            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


            • Originally posted by Harry1999
              display_config: SPI:width=128,height=64,cs=12,reset=22,speed=80000 00,driver=SSD1306,HFlip,VFlip
              DIP: off,off,off,on,on
              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.

              Click image for larger version

Name:	eps32-audiokit.jpg
Views:	1
Size:	152.1 KB
ID:	1571035

              Comment


              • Originally posted by troffasky
                [ATTACH]33055[/ATTACH]
                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


                • Originally posted by sle118
                  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.
                  But I really think the build is correct. I have been using one for a long while now, the issue is more with the funny mux they do with GPIO which requires very careful read of the doc, IMHO
                  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 & 3

                  Comment


                  • Originally posted by philippe_44
                    But I really think the build is correct. I have been using one for a long while now, the issue is more with the funny mux they do with GPIO which requires very careful read of the doc, IMHO
                    Then perhaps it would be worth making a definitive documentation of the best combinations
                    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


                    • Originally posted by troffasky
                      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.
                      I've used this board in JTAG mode and it worked but this is not a well documented design so I've not spent a lot of time on it. If you crawl through this thread (and a few others) you'll see that others had issue figuring exactly the GPIO mux.

                      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.md
                      Attached Files
                      Last 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 & 3

                      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
                        ----------------------------------------------------------------
                        Last edited by Harry1999; 2021-01-24, 09:23.

                        Comment


                        • Originally posted by Harry1999
                          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
                          ----------------------------------------------------------------
                          Makes perfect sense. You could also re-use 0,1 and 3 if you want to maximize available keys
                          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 & 3

                          Comment


                          • Originally posted by Harry1999
                            ----------------------------------------------------------------
                            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
                            ----------------------------------------------------------------
                            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.

                            Comment


                            • Originally posted by troffasky
                              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.
                              Excellent - Are you sure it's D2 blinking?
                              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 & 3

                              Comment


                              • Originally posted by philippe_44
                                Excellent - Are you sure it's D2 blinking?
                                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

                                Working...
                                X
                                😀
                                🥰
                                🤢
                                😎
                                😡
                                👍
                                👎