Skip to content

Commit e8df841

Browse files
committed
add support for ESP32 ETH.h see #443
1 parent 0aa0742 commit e8df841

File tree

2 files changed

+20
-7
lines changed

2 files changed

+20
-7
lines changed

src/WebSockets.h

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@
5757

5858
#if defined(ESP8266) || defined(ESP32)
5959

60-
#define HAS_SSL
6160
#define WEBSOCKETS_MAX_DATA_SIZE (15*1024)
6261
#define WEBSOCKETS_USE_BIG_MEM
6362
#define GET_FREE_HEAP ESP.getFreeHeap()
@@ -87,6 +86,7 @@
8786
#define NETWORK_W5100 (2)
8887
#define NETWORK_ENC28J60 (3)
8988
#define NETWORK_ESP32 (4)
89+
#define NETWORK_ESP32_ETH (5)
9090

9191
// max size of the WS Message Header
9292
#define WEBSOCKETS_MAX_HEADER_SIZE (14)
@@ -100,7 +100,7 @@
100100

101101
#elif defined(ESP32)
102102
#define WEBSOCKETS_NETWORK_TYPE NETWORK_ESP32
103-
103+
//#define WEBSOCKETS_NETWORK_TYPE NETWORK_ESP32_ETH
104104
#else
105105
#define WEBSOCKETS_NETWORK_TYPE NETWORK_W5100
106106

@@ -143,6 +143,7 @@
143143
#include <ESP31BWiFi.h>
144144
#endif
145145
#define WEBSOCKETS_NETWORK_CLASS WiFiClient
146+
#define WEBSOCKETS_NETWORK_SSL_CLASS WiFiClientSecure
146147
#define WEBSOCKETS_NETWORK_SERVER_CLASS WiFiServer
147148

148149
#elif (WEBSOCKETS_NETWORK_TYPE == NETWORK_W5100)
@@ -168,12 +169,24 @@
168169
#include <WiFi.h>
169170
#include <WiFiClientSecure.h>
170171
#define WEBSOCKETS_NETWORK_CLASS WiFiClient
172+
#define WEBSOCKETS_NETWORK_SSL_CLASS WiFiClientSecure
173+
#define WEBSOCKETS_NETWORK_SERVER_CLASS WiFiServer
174+
175+
#elif (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP32_ETH)
176+
177+
#include <ETH.h>
178+
#define WEBSOCKETS_NETWORK_CLASS WiFiClient
171179
#define WEBSOCKETS_NETWORK_SERVER_CLASS WiFiServer
172180

173181
#else
174182
#error "no network type selected!"
175183
#endif
176184

185+
186+
#ifdef WEBSOCKETS_NETWORK_SSL_CLASS
187+
#define HAS_SSL
188+
#endif
189+
177190
// moves all Header strings to Flash (~300 Byte)
178191
#ifdef WEBSOCKETS_SAVE_RAM
179192
#define WEBSOCKETS_STRING(var) F(var)
@@ -236,9 +249,9 @@ typedef struct {
236249

237250
bool isSocketIO; ///< client for socket.io server
238251

239-
#if (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP8266) || (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP32)
252+
#if defined(HAS_SSL)
240253
bool isSSL; ///< run in ssl mode
241-
WiFiClientSecure * ssl;
254+
WEBSOCKETS_NETWORK_SSL_CLASS * ssl;
242255
#endif
243256

244257
String cUrl; ///< http url

src/WebSocketsClient.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -154,15 +154,15 @@ void WebSocketsClient::loop(void) {
154154
return;
155155
}
156156

157-
#if (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP8266) || (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP32)
157+
#if defined(HAS_SSL)
158158
if(_client.isSSL) {
159159
DEBUG_WEBSOCKETS("[WS-Client] connect wss...\n");
160160
if(_client.ssl) {
161161
delete _client.ssl;
162162
_client.ssl = NULL;
163163
_client.tcp = NULL;
164164
}
165-
_client.ssl = new WiFiClientSecure();
165+
_client.ssl = new WEBSOCKETS_NETWORK_SSL_CLASS();
166166
_client.tcp = _client.ssl;
167167
if(_CA_cert) {
168168
DEBUG_WEBSOCKETS("[WS-Client] setting CA certificate");
@@ -180,7 +180,7 @@ void WebSocketsClient::loop(void) {
180180
delete _client.tcp;
181181
_client.tcp = NULL;
182182
}
183-
_client.tcp = new WiFiClient();
183+
_client.tcp = new WEBSOCKETS_NETWORK_CLASS();
184184
}
185185
#else
186186
_client.tcp = new WEBSOCKETS_NETWORK_CLASS();

0 commit comments

Comments
 (0)