sle118 / squeezelite-esp32

ESP32 Music streaming based on Squeezelite, with support for multi-room sync, AirPlay, Bluetooth, Hardware buttons, display and more
1.07k stars 100 forks source link

Feature Request: I2S initialisation sequence for some DACs #400

Closed alidaf closed 4 months ago

alidaf commented 4 months ago

I'd like to be able to initialise a DAC through an I2S sequence. This may be possible via an alternative dac_controlset feature in the NVS editor.

After trying to research an ES9018K2M board a discussion thread was started that led to a comment with the possible solution involving toggling the serial and LR clocks in a specific sequence. I did manage to get this DAC working with Moode on a RPi with no I2C access so initialisation via I2S seems plausible and implementing a generic, configurable I2S sequence via the NVS editor may extend it to other DACs that have I2S initialisation sequences.

ElFishi commented 4 months ago

Darren, can you please try and hook up your ESP to the ES9018K2M via I2S: bck = BCK, ws = LRCK, do = DATA, flash the latest I2S 32bit firmware and see what happens?

sle118 commented 4 months ago

@alidaf since we're in stabilizing mode for the current release, we aren't planning on releasing new features at this point.

I will eventually get to the point where I can share the new platform where new features should be easier to implement

alidaf commented 4 months ago

Darren, can you please try and hook up your ESP to the ES9018K2M via I2S: bck = BCK, ws = LRCK, do = DATA, flash the latest I2S 32bit firmware and see what happens?

@ElFishi I have the 32bit version. I had another go, rearranged some of the power supply wires but everything still seemed dead. I hooked it up to a spectrum analyser I've been working on and got a brief peak. I started twiddling and got a longer peak so I hooked it up to the amp. Music. Sweet and beautiful but intermittent music. I have not just one, but a number of loose joints on the expansion board I've been using. Almost all of them on one side. I'm just wiring a new one up but am so confident that it will work that I'm writing this now to thank you from the bottom of my blackened heart for sticking with me. Fingers crossed, I'm going in.

I'm hoping to switch from the Dev C board coupled with a GPIO expansion board I've been using to one of these and solder everything. It'll reduce the component count and cost, and make things like this a little less likely. I can't mount the Dev C boards, hence the expansion board. Thanks again.

ElFishi commented 4 months ago

Darren, I am glad you got it to work. Welcome to the never ending cycles of "improvements" : )