make w5500 spi pins configurable

This commit is contained in:
technyon
2023-02-03 20:07:45 +01:00
parent 870af68f45
commit 13e7643b0d
8 changed files with 28 additions and 8 deletions

View File

@@ -53,6 +53,9 @@
uint8_t W5100Class::chip = 0;
uint8_t W5100Class::CH_BASE_MSB;
uint8_t W5100Class::ss_pin = SS_PIN_DEFAULT;
uint8_t W5100Class::sck_pin = 255;
uint8_t W5100Class::miso_pin = 255;
uint8_t W5100Class::mosi_pin = 255;
#ifdef ETHERNET_LARGE_BUFFERS
uint16_t W5100Class::SSIZE = 2048;
uint16_t W5100Class::SMASK = 0x07FF;
@@ -101,7 +104,11 @@ uint8_t W5100Class::init(void)
delay(560);
//Serial.println("w5100 init");
SPI.begin();
if(sck_pin != 255 && miso_pin != 255 && mosi_pin != 255) {
SPI.begin(sck_pin, miso_pin, mosi_pin, -1);
} else {
SPI.begin();
}
initSS();
resetSS();
SPI.beginTransaction(SPI_ETHERNET_SETTINGS);

View File

@@ -298,6 +298,9 @@ public:
private:
static uint8_t chip;
static uint8_t ss_pin;
static uint8_t sck_pin;
static uint8_t miso_pin;
static uint8_t mosi_pin;
static uint8_t softReset(void);
static uint8_t isW5100(void);
static uint8_t isW5200(void);
@@ -332,6 +335,11 @@ public:
return false;
}
static void setSS(uint8_t pin) { ss_pin = pin; }
static void setSPI(uint8_t sckpin, uint8_t misopin, uint8_t mosipin) {
sck_pin = sckpin;
miso_pin = misopin;
mosi_pin = mosipin;
}
private:
#if defined(__AVR__)