pschatzmann / arduino-snapclient

Snapcast client for Arduino
37 stars 4 forks source link

ethernet #27

Closed parabyte closed 1 month ago

parabyte commented 1 month ago

I just wish to confirm that ethernet.h library i cannot get to work with the esp32, crashes your code in a non stop bootloop.

same goes for there example code they ship.

The ethernet library ETH.H that espressif ships works perfectly with your code.

parabyte commented 1 month ago

this is working code using your library.

include

include "AudioTools.h"

include "SnapClient.h"

include

define ETH_PHY_TYPE ETH_PHY_W5500

define ETH_PHY_ADDR 1

define ETH_PHY_CS 5

define ETH_PHY_IRQ 22

define ETH_PHY_RST 21

// SPI pins

define ETH_SPI_SCK 18

define ETH_SPI_MISO 23

define ETH_SPI_MOSI 19

define CONFIG_SNAPCAST_BUFF_LEN 2048

NetworkClient ethernet; WAVDecoder pcm; I2SStream out; SnapTimeSyncDynamic synch(172, 10); // optional configuration SnapClient client(ethernet, out, pcm);

static bool eth_connected = false;

void connectEthernet() {

// Serial.println("Starting ETHERNET connection..."); ETH.begin(ETH_PHY_TYPE, ETH_PHY_ADDR, ETH_PHY_CS, ETH_PHY_IRQ, ETH_PHY_RST, SPI); ETH.setHostname(CONFIG_SNAPCAST_CLIENT_NAME);

// wait for link while(!ETH.linkUp()){ delay(100); }

Serial.print("Ethernet IP is: ");
Serial.println(ethernet.localIP());

}

void setup() { //Serial.begin(115200); client.setWiFi(false); SPI.begin(ETH_SPI_SCK, ETH_SPI_MISO, ETH_SPI_MOSI); connectEthernet();

auto cfg = out.defaultConfig(TX_MODE);
cfg.pin_bck = 27;
cfg.pin_ws = 26;
cfg.pin_data = 25;
cfg.sample_rate = 44100; // Set the sample rate to 44.1 kHz
cfg.bits_per_sample = 16;  // Set bits per sample to 16
cfg.i2s_format = I2S_PHILIPS_FORMAT;  // Stereo channel, Philips format (I2S)
cfg.use_apll = true;  // Use the audio PLL for low-jitter
cfg.is_master = true;  // Set to master mode
out.begin(cfg);

// client.begin(synch); client.setServerIP(IPAddress(192, 168, 10, 103)); // start snap client if (!client.begin(synch)) { Serial.print("Could not connect to snap server"); while (true); } }

void loop() { client.doLoop(); }

parabyte commented 1 month ago

sorry about the formatting # define CONFIG_SNAPCAST_BUFF_LEN 2048 is fine before i cut and paste the code here

pschatzmann commented 1 month ago

Here are the instructions for pasting code: https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks

What ESP32 Arduino core version are you using ?