Skip to content

Commit 35f9cf8

Browse files
authored
Fix W5500 Compilation issue (#1049)
1 parent ae2dec2 commit 35f9cf8

File tree

3 files changed

+69
-44
lines changed

3 files changed

+69
-44
lines changed

esp3d/src/include/esp3d_defines.h

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -328,25 +328,7 @@ typedef uint ESP3DSettingIndex;
328328
#define TYPE_ETH_PHY_W5500 7
329329
#define TYPE_ETH_PHY_KSZ8851 8
330330

331-
//SPI pis for ethernet
332-
#ifndef ETH_PHY_CS
333-
#define ETH_PHY_CS 15
334-
#endif // ETH_PHY_CS
335-
#ifndef ETH_PHY_IRQ
336-
#define ETH_PHY_IRQ 4
337-
#endif // ETH_PHY_IRQ
338-
#ifndef ETH_PHY_RST
339-
#define ETH_PHY_RST 5
340-
#endif // ETH_PHY_RST
341-
#ifndef ETH_SPI_SCK
342-
#define ETH_SPI_SCK 14
343-
#endif // ETH_SPI_SCK
344-
#ifndef ETH_SPI_MISO
345-
#define ETH_SPI_MISO 12
346-
#endif // ETH_SPI_MISO
347-
#ifndef ETH_SPI_MOSI
348-
#define ETH_SPI_MOSI 13
349-
#endif // ETH_SPI_MOSI
331+
350332

351333
// Host path
352334
#define ESP3D_HOST_PATH "/"

esp3d/src/include/esp3d_pins.h

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -478,6 +478,27 @@
478478
#define ESP_SD_DETECT_PIN -1
479479
#endif // ESP_SD_DETECT_PIN
480480

481+
//SPI pis for ethernet
482+
#ifndef ETH_PHY_CS
483+
#define ETH_PHY_CS 15
484+
#endif // ETH_PHY_CS
485+
#ifndef ETH_PHY_IRQ
486+
#define ETH_PHY_IRQ 4
487+
#endif // ETH_PHY_IRQ
488+
#ifndef ETH_PHY_RST
489+
#define ETH_PHY_RST 5
490+
#endif // ETH_PHY_RST
491+
#ifndef ETH_SPI_SCK
492+
#define ETH_SPI_SCK 14
493+
#endif // ETH_SPI_SCK
494+
#ifndef ETH_SPI_MISO
495+
#define ETH_SPI_MISO 12
496+
#endif // ETH_SPI_MISO
497+
#ifndef ETH_SPI_MOSI
498+
#define ETH_SPI_MOSI 13
499+
#endif // ETH_SPI_MOSI
500+
501+
481502
#if defined(PIN_RESET_FEATURE) && !defined(ESP3D_RESET_PIN)
482503
#define ESP3D_RESET_PIN -1
483504
#endif // PIN_RESET_FEATURE

esp3d/src/modules/ethernet/ethconfig.cpp

Lines changed: 47 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,21 @@
2525
#include "esp_eth.h"
2626

2727
#endif // ARDUINO_ARCH_ESP32
28-
#ifdef ARDUINO_ARCH_ESP8266
29-
#endif // ARDUINO_ARCH_ESP8266
3028
#include "../../core/esp3d_commands.h"
3129
#include "../../core/esp3d_settings.h"
3230
#include "../../core/esp3d_string.h"
3331
#include "../network/netconfig.h"
3432
#include "ethconfig.h"
33+
#ifdef ETHERNET_SPI_USE_SPI
34+
#define ETH_SPI SPI
35+
#endif // ETHERNET_SPI_USE_SPI
36+
#if ETHERNET_SPI_USE_SPI2
37+
#define ETH_SPI SPI2
38+
#endif // ETHERNET_SPI_USE_SPI2
39+
#ifndef ETH_SPI
40+
#define ETH_SPI SPI
41+
#endif // ETH_SPI
42+
#
3543

3644
#if defined(GCODE_HOST_FEATURE)
3745
#include "../gcode_host/gcode_host.h"
@@ -71,30 +79,44 @@ bool EthConfig::begin(int8_t& espMode) {
7179
bool res = false;
7280
ipMode(true);
7381
end();
74-
if (ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_LAN8720) {
75-
esp3d_log_d("ETH PHY Type %d", ESP3D_ETH_PHY_TYPE);
76-
_started = ETH.begin();
77-
} else {
78-
if (ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_TLK110 ||
79-
ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_RTL8201 ||
80-
ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_DP83848 ||
81-
ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_KSZ8041 ||
82-
ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_KSZ8081) {
83-
esp3d_log_d("ETH PHY Type %d", ESP3D_ETH_PHY_TYPE);
84-
_started = ETH.begin(ESP3D_ETH_PHY_TYPE, ESP3D_ETH_PHY_ADDR, ESP3D_ETH_PHY_POWER_PIN,
85-
ESP3D_ETH_PHY_MDC_PIN, ESP3D_ETH_PHY_MDIO_PIN, ESP3D_ETH_CLK_MODE_PIN);
86-
} else {
87-
if (ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_W5500) {
88-
esp3d_log_d("ETH spi PHY Type %d", ESP3D_ETH_PHY_TYPE);
89-
SPI.begin(ETH_SPI_SCK, ETH_SPI_MISO, ETH_SPI_MOSI);
90-
_started = ETH.begin(ESP3D_ETH_PHY_TYPE, ESP3D_ETH_PHY_ADDR, ETH_PHY_CS,
91-
ETH_PHY_IRQ, ETH_PHY_RST, SPI);
92-
} else {
93-
esp3d_log("Ethernet PHY type not supported");
94-
return false;
95-
}
96-
}
82+
#if ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_LAN8720
83+
esp3d_log_d("ETH PHY Type %d", ESP3D_ETH_PHY_TYPE);
84+
_started = ETH.begin();
85+
#endif // ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_LAN8720
86+
#if ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_TLK110 || \
87+
ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_RTL8201 || \
88+
ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_DP83848 || \
89+
ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_KSZ8041 || \
90+
ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_KSZ8081
91+
eth_phy_type_t phytype = ETH_PHY_TLK110;
92+
if (ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_RTL8201) {
93+
phytype = ETH_PHY_RTL8201;
94+
}
95+
if (ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_DP83848) {
96+
phytype = ETH_PHY_DP83848;
97+
}
98+
if (ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_KSZ8041) {
99+
phytype = ETH_PHY_KSZ8041;
100+
}
101+
if (ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_KSZ8081) {
102+
phytype = ETH_PHY_KSZ8081;
97103
}
104+
esp3d_log_d("ETH PHY Type %d", phytype);
105+
_started = ETH.begin(phytype, ESP3D_ETH_PHY_ADDR,
106+
ESP3D_ETH_PHY_POWER_PIN, ESP3D_ETH_PHY_MDC_PIN,
107+
ESP3D_ETH_PHY_MDIO_PIN, ESP3D_ETH_CLK_MODE_PIN);
108+
#endif // ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_TLK110 || ESP3D_ETH_PHY_TYPE ==
109+
// TYPE_ETH_PHY_RTL8201 || ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_DP83848 ||
110+
// ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_KSZ8041 || ESP3D_ETH_PHY_TYPE ==
111+
// TYPE_ETH_PHY_KSZ8081
112+
#if ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_W5500
113+
esp3d_log_d("ETH spi PHY Type %d", ESP3D_ETH_PHY_TYPE);
114+
ETH_SPI.begin(ETH_SPI_SCK, ETH_SPI_MISO, ETH_SPI_MOSI);
115+
_started = ETH.begin(ETH_PHY_W5500, ESP3D_ETH_PHY_ADDR, ETH_PHY_CS,
116+
ETH_PHY_IRQ, ETH_PHY_RST, ETH_SPI);
117+
118+
119+
#endif // ESP3D_ETH_PHY_TYPE == TYPE_ETH_PHY_W5500
98120

99121
if (_started) {
100122
if (ESP3DSettings::isVerboseBoot()) {

0 commit comments

Comments
 (0)