make w5500 spi pins configurable
This commit is contained in:
@@ -100,9 +100,10 @@ void EthernetClass::begin(uint8_t *mac, IPAddress ip, IPAddress dns, IPAddress g
|
||||
_dnsServerAddress = dns;
|
||||
}
|
||||
|
||||
void EthernetClass::init(uint8_t sspin)
|
||||
void EthernetClass::init(uint8_t sspin, uint8_t sckpin, uint8_t misopin, uint8_t mosipin)
|
||||
{
|
||||
W5100.setSS(sspin);
|
||||
W5100.setSPI(sckpin, misopin, mosipin);
|
||||
}
|
||||
|
||||
EthernetLinkStatus EthernetClass::linkStatus()
|
||||
|
||||
@@ -89,7 +89,7 @@ public:
|
||||
static void begin(uint8_t *mac, IPAddress ip, IPAddress dns);
|
||||
static void begin(uint8_t *mac, IPAddress ip, IPAddress dns, IPAddress gateway);
|
||||
static void begin(uint8_t *mac, IPAddress ip, IPAddress dns, IPAddress gateway, IPAddress subnet);
|
||||
static void init(uint8_t sspin = 10);
|
||||
static void init(uint8_t sspin = 10, uint8_t sckpin = 255, uint8_t misopin = 255, uint8_t mosipin = 255);
|
||||
|
||||
static void MACAddress(uint8_t *mac_address);
|
||||
static IPAddress localIP();
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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__)
|
||||
|
||||
Reference in New Issue
Block a user