Skip to content
This repository was archived by the owner on Feb 4, 2023. It is now read-only.

Commit d99c333

Browse files
authored
v2.1.0 for ESP32_S2/C3 & LwIP Ethernet
### Releases v2.1.0 1. Add support to `ESP32S2/C3` boards using `LwIP ENC28J60 Ethernet`
1 parent 983d35e commit d99c333

17 files changed

+188
-85
lines changed

Images/ESP32S2_DEV.png

352 KB
Loading

Images/ESP32_C3_DevKitC_02.png

205 KB
Loading

changelog.md

+5
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,18 @@
1616
## Table of Contents
1717

1818
* [Changelog](#changelog)
19+
* [Releases v2.1.0](#releases-v210)
1920
* [Initial Releases v2.0.0](#initial-releases-v200)
2021

2122
---
2223
---
2324

2425
## Changelog
2526

27+
### Releases v2.1.0
28+
29+
1. Add support to `ESP32S2/C3` boards using `LwIP ENC28J60 Ethernet`
30+
2631
### Initial Releases v2.0.0
2732

2833
1. Initial coding to port [AsyncUDP](https://github.com/espressif/arduino-esp32/tree/master/libraries/AsyncUDP) to `ESP32_S3` boards using `LwIP ENC28J60` Ethernet

examples/AsyncUDPClient/AsyncUDPClient.ino

+19-4
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@
2121

2222
//////////////////////////////////////////////////////////
2323

24+
// For ESP32-S3
2425
// Optional values to override default settings
25-
//#define SPI_HOST SPI2_HOST
26+
//#define ETH_SPI_HOST SPI2_HOST
2627
//#define SPI_CLOCK_MHZ 8
2728

2829
// Must connect INT to GPIOxx or not working
@@ -33,6 +34,20 @@
3334
//#define SCK_GPIO 12
3435
//#define CS_GPIO 10
3536

37+
// For ESP32_C3
38+
// Optional values to override default settings
39+
// Don't change unless you know what you're doing
40+
//#define ETH_SPI_HOST SPI2_HOST
41+
//#define SPI_CLOCK_MHZ 8
42+
43+
// Must connect INT to GPIOxx or not working
44+
//#define INT_GPIO 10
45+
46+
//#define MISO_GPIO 5
47+
//#define MOSI_GPIO 6
48+
//#define SCK_GPIO 4
49+
//#define CS_GPIO 7
50+
3651
//////////////////////////////////////////////////////////
3752

3853
#include <AsyncUDP_ESP32_SC_ENC.h>
@@ -121,7 +136,7 @@ void setup()
121136
Serial.setDebugOutput(true);
122137

123138
UDP_LOGWARN(F("Default SPI pinout:"));
124-
UDP_LOGWARN1(F("SPI_HOST:"), SPI_HOST);
139+
UDP_LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
125140
UDP_LOGWARN1(F("MOSI:"), MOSI_GPIO);
126141
UDP_LOGWARN1(F("MISO:"), MISO_GPIO);
127142
UDP_LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -141,8 +156,8 @@ void setup()
141156

142157
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
143158
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
144-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
145-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
159+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
160+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
146161

147162
// Static IP, leave without this line to get IP via DHCP
148163
//bool config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1 = 0, IPAddress dns2 = 0);

examples/AsyncUDPMulticastServer/AsyncUDPMulticastServer.ino

+19-4
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@
2121

2222
//////////////////////////////////////////////////////////
2323

24+
// For ESP32-S3
2425
// Optional values to override default settings
25-
//#define SPI_HOST SPI2_HOST
26+
//#define ETH_SPI_HOST SPI2_HOST
2627
//#define SPI_CLOCK_MHZ 8
2728

2829
// Must connect INT to GPIOxx or not working
@@ -33,6 +34,20 @@
3334
//#define SCK_GPIO 12
3435
//#define CS_GPIO 10
3536

37+
// For ESP32_C3
38+
// Optional values to override default settings
39+
// Don't change unless you know what you're doing
40+
//#define ETH_SPI_HOST SPI2_HOST
41+
//#define SPI_CLOCK_MHZ 8
42+
43+
// Must connect INT to GPIOxx or not working
44+
//#define INT_GPIO 10
45+
46+
//#define MISO_GPIO 5
47+
//#define MOSI_GPIO 6
48+
//#define SCK_GPIO 4
49+
//#define CS_GPIO 7
50+
3651
//////////////////////////////////////////////////////////
3752

3853
#include <AsyncUDP_ESP32_SC_ENC.h>
@@ -117,7 +132,7 @@ void setup()
117132
Serial.setDebugOutput(true);
118133

119134
UDP_LOGWARN(F("Default SPI pinout:"));
120-
UDP_LOGWARN1(F("SPI_HOST:"), SPI_HOST);
135+
UDP_LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
121136
UDP_LOGWARN1(F("MOSI:"), MOSI_GPIO);
122137
UDP_LOGWARN1(F("MISO:"), MISO_GPIO);
123138
UDP_LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -137,8 +152,8 @@ void setup()
137152

138153
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
139154
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
140-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
141-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
155+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
156+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
142157

143158
// Static IP, leave without this line to get IP via DHCP
144159
//bool config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1 = 0, IPAddress dns2 = 0);

examples/AsyncUDPServer/AsyncUDPServer.ino

+19-4
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@
2121

2222
//////////////////////////////////////////////////////////
2323

24+
// For ESP32-S3
2425
// Optional values to override default settings
25-
//#define SPI_HOST SPI2_HOST
26+
//#define ETH_SPI_HOST SPI2_HOST
2627
//#define SPI_CLOCK_MHZ 8
2728

2829
// Must connect INT to GPIOxx or not working
@@ -33,6 +34,20 @@
3334
//#define SCK_GPIO 12
3435
//#define CS_GPIO 10
3536

37+
// For ESP32_C3
38+
// Optional values to override default settings
39+
// Don't change unless you know what you're doing
40+
//#define ETH_SPI_HOST SPI2_HOST
41+
//#define SPI_CLOCK_MHZ 8
42+
43+
// Must connect INT to GPIOxx or not working
44+
//#define INT_GPIO 10
45+
46+
//#define MISO_GPIO 5
47+
//#define MOSI_GPIO 6
48+
//#define SCK_GPIO 4
49+
//#define CS_GPIO 7
50+
3651
//////////////////////////////////////////////////////////
3752

3853
#include <AsyncUDP_ESP32_SC_ENC.h>
@@ -96,7 +111,7 @@ void setup()
96111
Serial.setDebugOutput(true);
97112

98113
UDP_LOGWARN(F("Default SPI pinout:"));
99-
UDP_LOGWARN1(F("SPI_HOST:"), SPI_HOST);
114+
UDP_LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
100115
UDP_LOGWARN1(F("MOSI:"), MOSI_GPIO);
101116
UDP_LOGWARN1(F("MISO:"), MISO_GPIO);
102117
UDP_LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -116,8 +131,8 @@ void setup()
116131

117132
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
118133
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
119-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
120-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
134+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
135+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
121136

122137
// Static IP, leave without this line to get IP via DHCP
123138
//bool config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1 = 0, IPAddress dns2 = 0);

examples/AsyncUdpNTPClient/AsyncUdpNTPClient.ino

+19-4
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@
2121

2222
//////////////////////////////////////////////////////////
2323

24+
// For ESP32-S3
2425
// Optional values to override default settings
25-
//#define SPI_HOST SPI2_HOST
26+
//#define ETH_SPI_HOST SPI2_HOST
2627
//#define SPI_CLOCK_MHZ 8
2728

2829
// Must connect INT to GPIOxx or not working
@@ -33,6 +34,20 @@
3334
//#define SCK_GPIO 12
3435
//#define CS_GPIO 10
3536

37+
// For ESP32_C3
38+
// Optional values to override default settings
39+
// Don't change unless you know what you're doing
40+
//#define ETH_SPI_HOST SPI2_HOST
41+
//#define SPI_CLOCK_MHZ 8
42+
43+
// Must connect INT to GPIOxx or not working
44+
//#define INT_GPIO 10
45+
46+
//#define MISO_GPIO 5
47+
//#define MOSI_GPIO 6
48+
//#define SCK_GPIO 4
49+
//#define CS_GPIO 7
50+
3651
//////////////////////////////////////////////////////////
3752

3853
#include <AsyncUDP_ESP32_SC_ENC.h>
@@ -191,7 +206,7 @@ void setup()
191206
Serial.setDebugOutput(true);
192207

193208
UDP_LOGWARN(F("Default SPI pinout:"));
194-
UDP_LOGWARN1(F("SPI_HOST:"), SPI_HOST);
209+
UDP_LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
195210
UDP_LOGWARN1(F("MOSI:"), MOSI_GPIO);
196211
UDP_LOGWARN1(F("MISO:"), MISO_GPIO);
197212
UDP_LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -211,8 +226,8 @@ void setup()
211226

212227
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
213228
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
214-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
215-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
229+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
230+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
216231

217232
// Static IP, leave without this line to get IP via DHCP
218233
//bool config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1 = 0, IPAddress dns2 = 0);

examples/AsyncUdpSendReceive/AsyncUdpSendReceive.ino

+19-4
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@
2121

2222
//////////////////////////////////////////////////////////
2323

24+
// For ESP32-S3
2425
// Optional values to override default settings
25-
//#define SPI_HOST SPI2_HOST
26+
//#define ETH_SPI_HOST SPI2_HOST
2627
//#define SPI_CLOCK_MHZ 8
2728

2829
// Must connect INT to GPIOxx or not working
@@ -33,6 +34,20 @@
3334
//#define SCK_GPIO 12
3435
//#define CS_GPIO 10
3536

37+
// For ESP32_C3
38+
// Optional values to override default settings
39+
// Don't change unless you know what you're doing
40+
//#define ETH_SPI_HOST SPI2_HOST
41+
//#define SPI_CLOCK_MHZ 8
42+
43+
// Must connect INT to GPIOxx or not working
44+
//#define INT_GPIO 10
45+
46+
//#define MISO_GPIO 5
47+
//#define MOSI_GPIO 6
48+
//#define SCK_GPIO 4
49+
//#define CS_GPIO 7
50+
3651
//////////////////////////////////////////////////////////
3752

3853
#include <AsyncUDP_ESP32_SC_ENC.h>
@@ -207,7 +222,7 @@ void setup()
207222
Serial.setDebugOutput(true);
208223

209224
UDP_LOGWARN(F("Default SPI pinout:"));
210-
UDP_LOGWARN1(F("SPI_HOST:"), SPI_HOST);
225+
UDP_LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
211226
UDP_LOGWARN1(F("MOSI:"), MOSI_GPIO);
212227
UDP_LOGWARN1(F("MISO:"), MISO_GPIO);
213228
UDP_LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -227,8 +242,8 @@ void setup()
227242

228243
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
229244
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
230-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
231-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
245+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
246+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
232247

233248
// Static IP, leave without this line to get IP via DHCP
234249
//bool config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1 = 0, IPAddress dns2 = 0);

examples/multiFileProject/multiFileProject.h

+16-1
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@
2424

2525
//////////////////////////////////////////////////////////
2626

27+
// For ESP32-S3
2728
// Optional values to override default settings
28-
//#define SPI_HOST SPI2_HOST
29+
//#define ETH_SPI_HOST SPI2_HOST
2930
//#define SPI_CLOCK_MHZ 8
3031

3132
// Must connect INT to GPIOxx or not working
@@ -36,6 +37,20 @@
3637
//#define SCK_GPIO 12
3738
//#define CS_GPIO 10
3839

40+
// For ESP32_C3
41+
// Optional values to override default settings
42+
// Don't change unless you know what you're doing
43+
//#define ETH_SPI_HOST SPI2_HOST
44+
//#define SPI_CLOCK_MHZ 8
45+
46+
// Must connect INT to GPIOxx or not working
47+
//#define INT_GPIO 10
48+
49+
//#define MISO_GPIO 5
50+
//#define MOSI_GPIO 6
51+
//#define SCK_GPIO 4
52+
//#define CS_GPIO 7
53+
3954
//////////////////////////////////////////////////////////
4055

4156
// Can be included as many times as necessary, without `Multiple Definitions` Linker Error

examples/multiFileProject/multiFileProject.ino

+11-10
Original file line numberDiff line numberDiff line change
@@ -39,24 +39,25 @@ void setup()
3939

4040
Serial.setDebugOutput(true);
4141

42-
ESP32_SC_ENCWARN(F("Default SPI pinout:"));
43-
ESP32_SC_ENCWARN1(F("SPI_HOST:"), SPI_HOST);
44-
ESP32_SC_ENCWARN1(F("MOSI:"), MOSI_GPIO);
45-
ESP32_SC_ENCWARN1(F("MISO:"), MISO_GPIO);
46-
ESP32_SC_ENCWARN1(F("SCK:"), SCK_GPIO);
47-
ESP32_SC_ENCWARN1(F("CS:"), CS_GPIO);
48-
ESP32_SC_ENCWARN1(F("INT:"), INT_GPIO);
49-
ESP32_SC_ENCWARN1(F("SPI Clock (MHz):"), SPI_CLOCK_MHZ);
50-
ESP32_SC_ENCWARN(F("========================="));
42+
UDP_LOGWARN(F("Default SPI pinout:"));
43+
UDP_LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
44+
UDP_LOGWARN1(F("MOSI:"), MOSI_GPIO);
45+
UDP_LOGWARN1(F("MISO:"), MISO_GPIO);
46+
UDP_LOGWARN1(F("SCK:"), SCK_GPIO);
47+
UDP_LOGWARN1(F("CS:"), CS_GPIO);
48+
UDP_LOGWARN1(F("INT:"), INT_GPIO);
49+
UDP_LOGWARN1(F("SPI Clock (MHz):"), SPI_CLOCK_MHZ);
50+
UDP_LOGWARN(F("========================="));
5151

5252
///////////////////////////////////
5353

5454
// To be called before ETH.begin()
5555
ESP32_ENC_onEvent();
5656

57+
// start the ethernet connection and the server:
5758
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
5859
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
59-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
60+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
6061

6162
// Static IP, leave without this line to get IP via DHCP
6263
//bool config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1 = 0, IPAddress dns2 = 0);

library.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name":"AsyncUDP_ESP32_SC_ENC",
3-
"version": "2.0.0",
3+
"version": "2.1.0",
44
"description":"Fully Asynchronous UDP Library for ESP32_S2/S3/C3 boards using LwIP ENC28J60 Ethernet. The library is easy to use and includes support for Unicast, Broadcast and Multicast environments",
55
"keywords":"communication, data, async, udp, ntp, time, time-server, server, client, multicast, broadcast, webserver, esp32, esp32-s3, esp32-s2, esp32-c3, enc28j60, lwip, udp-server, udp-multicast-server",
66
"authors":
@@ -34,7 +34,7 @@
3434
{
3535
"owner": "khoih-prog",
3636
"name": "WebServer_ESP32_SC_ENC",
37-
"version": "^1.0.0",
37+
"version": "^1.2.0",
3838
"platforms": "espressif32"
3939
}
4040
],

library.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=AsyncUDP_ESP32_SC_ENC
2-
version=2.0.0
2+
version=2.1.0
33
author=Hristo Gochkov,Khoi Hoang
44
maintainer=Khoi Hoang <khoih.prog@gmail.com>
55
sentence=Fully Asynchronous UDP Library for ESP32_S2/S3/C3 boards using LwIP ENC28J60 Ethernet

platformio/platformio.ini

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ lib_ldf_mode = chain+
3939
; ============================================================
4040
lib_deps =
4141
; PlatformIO 4.x
42-
; WebServer_ESP32_SC_ENC@>=1.0.0
42+
; WebServer_ESP32_SC_ENC@>=1.2.0
4343
; PlatformIO 5.x
44-
khoih-prog/WebServer_ESP32_SC_ENC@>=1.0.0
44+
khoih-prog/WebServer_ESP32_SC_ENC@>=1.2.0
4545

4646
; ============================================================
4747
build_flags =

0 commit comments

Comments
 (0)