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

Commit 2ac6022

Browse files
authored
v1.1.0 for ESP32_S2/C3
#### Releases v1.1.0 1. Add support to `ESP32_S2/C3` boards using `LwIP W5500 / ENC28J60 Ethernet`
1 parent 866417c commit 2ac6022

18 files changed

+88
-87
lines changed

CONTRIBUTING.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Please ensure to specify the following:
1616

1717
* Arduino IDE version (e.g. 1.8.19) or Platform.io version
1818
* Board Type (e.g. ESP32S3_DEV, ESP32S2_DEV, ESP32C3_DEV)
19-
* Board Core Version (e.g. ESP32 core v2.0.5)
19+
* Board Core Version (e.g. ESP32 core v2.0.6)
2020
* Contextual information (e.g. what you were trying to achieve)
2121
* Simplest possible steps to reproduce
2222
* Anything that might be relevant in your opinion, such as:
@@ -32,7 +32,7 @@ Please be educated, civilized and constructive. Disrespective posts against [Git
3232
```
3333
Arduino IDE version: 1.8.19
3434
ESP32S3_DEV board
35-
ESP32 core v2.0.5
35+
ESP32 core v2.0.6
3636
OS: Ubuntu 20.04 LTS
3737
Linux xy-Inspiron-3593 5.15.0-56-generic #62~20.04.1-Ubuntu SMP Tue Nov 22 21:24:20 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
3838

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,6 +16,7 @@
1616
## Table of contents
1717

1818
* [Changelog](#changelog)
19+
* [Releases v1.1.0](#releases-v110)
1920
* [Releases v1.0.1](#releases-v101)
2021
* [Releases v1.0.0](#releases-v100)
2122

@@ -26,6 +27,10 @@
2627

2728
## Changelog
2829

30+
#### Releases v1.1.0
31+
32+
1. Add support to `ESP32_S2/C3` boards using `LwIP W5500 / ENC28J60 Ethernet`
33+
2934
#### Releases v1.0.1
3035

3136
1. Fix typo

examples/Async_ConfigOnDoubleReset/Async_ConfigOnDoubleReset.ino

+6-8
Original file line numberDiff line numberDiff line change
@@ -555,6 +555,7 @@ void initEthernet()
555555
void beginEthernet()
556556
{
557557
LOGWARN(F("Default SPI pinout:"));
558+
LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
558559
LOGWARN1(F("MOSI:"), MOSI_GPIO);
559560
LOGWARN1(F("MISO:"), MISO_GPIO);
560561
LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -574,8 +575,8 @@ void beginEthernet()
574575

575576
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
576577
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
577-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
578-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
578+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
579+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
579580
}
580581

581582
void initEthernet()
@@ -676,14 +677,11 @@ void setup()
676677
AsyncESP32_SC_Ethernet_manager.setCORSHeader("Your Access-Control-Allow-Origin");
677678
#endif
678679

679-
bool configDataLoaded = false;
680-
681680
if (loadConfigData())
682681
{
683-
configDataLoaded = true;
684-
685-
AsyncESP32_SC_Ethernet_manager.setConfigPortalTimeout(
686-
120); //If no access point name has been previously entered disable timeout.
682+
//If no access point name has been previously entered disable timeout
683+
AsyncESP32_SC_Ethernet_manager.setConfigPortalTimeout(120);
684+
687685
Serial.println(F("Got stored Credentials. Timeout 120s for Config Portal"));
688686

689687
#if USE_ESP_ETH_MANAGER_NTP

examples/Async_ConfigOnDoubleReset_TZ/Async_ConfigOnDoubleReset_TZ.ino

+6-8
Original file line numberDiff line numberDiff line change
@@ -578,6 +578,7 @@ void initEthernet()
578578
void beginEthernet()
579579
{
580580
LOGWARN(F("Default SPI pinout:"));
581+
LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
581582
LOGWARN1(F("MOSI:"), MOSI_GPIO);
582583
LOGWARN1(F("MISO:"), MISO_GPIO);
583584
LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -597,8 +598,8 @@ void beginEthernet()
597598

598599
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
599600
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
600-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
601-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
601+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
602+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
602603
}
603604

604605
void initEthernet()
@@ -709,14 +710,11 @@ void setup()
709710
AsyncESP32_SC_Ethernet_manager.setCORSHeader("Your Access-Control-Allow-Origin");
710711
#endif
711712

712-
bool configDataLoaded = false;
713-
714713
if (loadConfigData())
715714
{
716-
configDataLoaded = true;
717-
718-
AsyncESP32_SC_Ethernet_manager.setConfigPortalTimeout(
719-
120); //If no access point name has been previously entered disable timeout.
715+
//If no access point name has been previously entered disable timeout
716+
AsyncESP32_SC_Ethernet_manager.setConfigPortalTimeout(120);
717+
720718
Serial.println(F("Got stored Credentials. Timeout 120s for Config Portal"));
721719

722720
#if USE_ESP_ETH_MANAGER_NTP

examples/Async_ConfigOnSwitch/Async_ConfigOnSwitch.ino

+9-10
Original file line numberDiff line numberDiff line change
@@ -640,6 +640,7 @@ void initEthernet()
640640
void beginEthernet()
641641
{
642642
LOGWARN(F("Default SPI pinout:"));
643+
LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
643644
LOGWARN1(F("MOSI:"), MOSI_GPIO);
644645
LOGWARN1(F("MISO:"), MISO_GPIO);
645646
LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -659,8 +660,8 @@ void beginEthernet()
659660

660661
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
661662
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
662-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
663-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
663+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
664+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
664665
}
665666

666667
void initEthernet()
@@ -774,14 +775,11 @@ void setup()
774775
AsyncESP32_SC_Ethernet_manager.setCORSHeader("Your Access-Control-Allow-Origin");
775776
#endif
776777

777-
bool configDataLoaded = false;
778-
779778
if (loadConfigData())
780779
{
781-
configDataLoaded = true;
782-
783-
AsyncESP32_SC_Ethernet_manager.setConfigPortalTimeout(
784-
120); //If no access point name has been previously entered disable timeout.
780+
//If no access point name has been previously entered disable timeout
781+
AsyncESP32_SC_Ethernet_manager.setConfigPortalTimeout(120);
782+
785783
Serial.println(F("Got stored Credentials. Timeout 120s for Config Portal"));
786784

787785
#if USE_ESP_ETH_MANAGER_NTP
@@ -932,8 +930,9 @@ void loop()
932930

933931
if (loadConfigData())
934932
{
935-
AsyncESP32_SC_Ethernet_manager.setConfigPortalTimeout(
936-
120); //If no access point name has been previously entered disable timeout.
933+
//If no access point name has been previously entered disable timeout
934+
AsyncESP32_SC_Ethernet_manager.setConfigPortalTimeout(120);
935+
937936
Serial.println(F("Got stored Credentials. Timeout 120s for Config Portal"));
938937
}
939938
else

examples/Async_ConfigOnSwitchFS/Async_ConfigOnSwitchFS.ino

+9-10
Original file line numberDiff line numberDiff line change
@@ -800,6 +800,7 @@ void initEthernet()
800800
void beginEthernet()
801801
{
802802
LOGWARN(F("Default SPI pinout:"));
803+
LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
803804
LOGWARN1(F("MOSI:"), MOSI_GPIO);
804805
LOGWARN1(F("MISO:"), MISO_GPIO);
805806
LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -819,8 +820,8 @@ void beginEthernet()
819820

820821
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
821822
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
822-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
823-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
823+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
824+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
824825
}
825826

826827
void initEthernet()
@@ -942,14 +943,11 @@ void setup()
942943
AsyncESP32_SC_Ethernet_manager.setCORSHeader("Your Access-Control-Allow-Origin");
943944
#endif
944945

945-
bool configDataLoaded = false;
946-
947946
if (loadConfigData())
948947
{
949-
configDataLoaded = true;
950-
951-
AsyncESP32_SC_Ethernet_manager.setConfigPortalTimeout(
952-
120); //If no access point name has been previously entered disable timeout.
948+
//If no access point name has been previously entered disable timeout
949+
AsyncESP32_SC_Ethernet_manager.setConfigPortalTimeout(120);
950+
953951
Serial.println(F("Got stored Credentials. Timeout 120s for Config Portal"));
954952

955953
#if USE_ESP_ETH_MANAGER_NTP
@@ -1083,8 +1081,9 @@ void loop()
10831081

10841082
if (loadConfigData())
10851083
{
1086-
AsyncESP32_SC_Ethernet_manager.setConfigPortalTimeout(
1087-
120); //If no access point name has been previously entered disable timeout.
1084+
//If no access point name has been previously entered disable timeout
1085+
AsyncESP32_SC_Ethernet_manager.setConfigPortalTimeout(120);
1086+
10881087
Serial.println(F("Got stored Credentials. Timeout 120s for Config Portal"));
10891088
}
10901089
else

examples/Async_ConfigPortalParamsOnSwitch/Async_ConfigPortalParamsOnSwitch.ino

+9-10
Original file line numberDiff line numberDiff line change
@@ -733,6 +733,7 @@ void initEthernet()
733733
void beginEthernet()
734734
{
735735
LOGWARN(F("Default SPI pinout:"));
736+
LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
736737
LOGWARN1(F("MOSI:"), MOSI_GPIO);
737738
LOGWARN1(F("MISO:"), MISO_GPIO);
738739
LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -752,8 +753,8 @@ void beginEthernet()
752753

753754
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
754755
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
755-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
756-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
756+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
757+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
757758
}
758759

759760
void initEthernet()
@@ -871,14 +872,11 @@ void setup()
871872
AsyncESP32_SC_Ethernet_manager.setCORSHeader("Your Access-Control-Allow-Origin");
872873
#endif
873874

874-
bool configDataLoaded = false;
875-
876875
if (loadConfigData())
877876
{
878-
configDataLoaded = true;
879-
880-
AsyncESP32_SC_Ethernet_manager.setConfigPortalTimeout(
881-
120); //If no access point name has been previously entered disable timeout.
877+
//If no access point name has been previously entered disable timeout
878+
AsyncESP32_SC_Ethernet_manager.setConfigPortalTimeout(120);
879+
882880
Serial.println(F("Got stored Credentials. Timeout 120s for Config Portal"));
883881

884882
#if USE_ESP_ETH_MANAGER_NTP
@@ -1012,8 +1010,9 @@ void loop()
10121010

10131011
if (loadConfigData())
10141012
{
1015-
AsyncESP32_SC_Ethernet_manager.setConfigPortalTimeout(
1016-
120); //If no access point name has been previously entered disable timeout.
1013+
//If no access point name has been previously entered disable timeout
1014+
AsyncESP32_SC_Ethernet_manager.setConfigPortalTimeout(120);
1015+
10171016
Serial.println(F("Got stored Credentials. Timeout 120s for Config Portal"));
10181017
}
10191018
else

examples/Async_ESP32_FSWebServer/Async_ESP32_FSWebServer.ino

+3-2
Original file line numberDiff line numberDiff line change
@@ -599,6 +599,7 @@ void initEthernet()
599599
void beginEthernet()
600600
{
601601
LOGWARN(F("Default SPI pinout:"));
602+
LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
602603
LOGWARN1(F("MOSI:"), MOSI_GPIO);
603604
LOGWARN1(F("MISO:"), MISO_GPIO);
604605
LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -618,8 +619,8 @@ void beginEthernet()
618619

619620
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
620621
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
621-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
622-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
622+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
623+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
623624
}
624625

625626
void initEthernet()

examples/Async_ESP32_FSWebServer_DRD/Async_ESP32_FSWebServer_DRD.ino

+6-4
Original file line numberDiff line numberDiff line change
@@ -631,6 +631,7 @@ void initEthernet()
631631
void beginEthernet()
632632
{
633633
LOGWARN(F("Default SPI pinout:"));
634+
LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
634635
LOGWARN1(F("MOSI:"), MOSI_GPIO);
635636
LOGWARN1(F("MISO:"), MISO_GPIO);
636637
LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -650,8 +651,8 @@ void beginEthernet()
650651

651652
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
652653
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
653-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
654-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
654+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
655+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
655656
}
656657

657658
void initEthernet()
@@ -779,8 +780,9 @@ void setup()
779780

780781
if (configDataLoaded)
781782
{
782-
AsyncESP32_SC_Ethernet_manager.setConfigPortalTimeout(
783-
120); //If no access point name has been previously entered disable timeout.
783+
//If no access point name has been previously entered disable timeout
784+
AsyncESP32_SC_Ethernet_manager.setConfigPortalTimeout(120);
785+
784786
Serial.println(F("Got stored Credentials. Timeout 120s for Config Portal"));
785787

786788
#if USE_ESP_ETH_MANAGER_NTP

library.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "AsyncESP32_SC_Ethernet_Manager",
3-
"version": "1.0.1",
3+
"version": "1.1.0",
44
"keywords": "ethernet, Credentials-Manager, esp32, esp32-s2, esp32-s3, esp32-c3, lwip, w5500, lwip-w5500, enc28j60, lwip-enc28j60, lwip-ethernet, AsyncWebServer, Async-Credentials-Manager, Async, Communication, Credentials, Config-Portal, DoubleReset, littlefs, spiffs, dns-server, iot, eeprom",
55
"description": "ESP32_S2/S3/C3 + LwIP W5500 / ENC28J60 Connection and Credentials Manager using AsyncWebServer, with enhanced GUI and fallback Web ConfigPortal. This Library is used for configuring ESP32_S2/S3/C3 + LwIP W5500 / ENC28J60 Credentials Manager at runtime. You can also specify static DNS servers, personalized HostName, static or DHCP IP. With configurable CORS Header and auto-Timezone features. Using AsyncDNSServer instead of DNSServer now. Now using correct ESP32 chipIP",
66
"authors":
@@ -38,13 +38,13 @@
3838
{
3939
"owner": "khoih-prog",
4040
"name": "WebServer_ESP32_SC_W5500",
41-
"version": ">=1.0.1",
41+
"version": ">=1.2.1",
4242
"platforms": ["espressif32"]
4343
},
4444
{
4545
"owner": "khoih-prog",
4646
"name": "WebServer_ESP32_SC_ENC",
47-
"version": ">=1.0.0",
47+
"version": ">=1.2.0",
4848
"platforms": ["espressif32"]
4949
},
5050
{

library.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=AsyncESP32_SC_Ethernet_Manager
2-
version=1.0.1
2+
version=1.1.0
33
author=Khoi Hoang
44
maintainer=Khoi Hoang <[email protected]>
55
license=MIT

platformio/platformio.ini

+4-4
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ lib_deps =
4545
; https://github.com/khoih-prog/ESPAsyncTCP
4646
; AsyncTCP@>=1.1.1
4747
; ESP_DoubleResetDetector@>=1.3.2
48-
; WebServer_ESP32_SC_W5500@>=1.0.1
49-
; WebServer_ESP32_SC_ENC@>=1.0.0
48+
; WebServer_ESP32_SC_W5500@>=1.2.1
49+
; WebServer_ESP32_SC_ENC@>=1.2.0
5050

5151
; PlatformIO 5.x
5252
; me-no-dev/ESP Async WebServer@>=1.2.3
@@ -55,8 +55,8 @@ lib_deps =
5555
https://github.com/khoih-prog/ESPAsyncTCP
5656
me-no-dev/AsyncTCP@>=1.1.1
5757
khoih-prog/ESP_DoubleResetDetector@>=1.3.2
58-
khoih-prog/WebServer_ESP32_SC_W5500@>=1.0.1
59-
khoih-prog/WebServer_ESP32_SC_ENC@>=1.0.0
58+
khoih-prog/WebServer_ESP32_SC_W5500@>=1.2.1
59+
khoih-prog/WebServer_ESP32_SC_ENC@>=1.2.0
6060

6161
; ============================================================
6262
build_flags =

src/AsyncESP32_SC_Ethernet_Manager.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,12 @@
1212
Built by Khoi Hoang https://github.com/khoih-prog/AsyncESP32_SC_Ethernet_Manager
1313
Licensed under MIT license
1414
15-
Version: 1.0.0
15+
Version: 1.1.0
1616
1717
Version Modified By Date Comments
1818
------- ----------- ---------- -----------
19-
1.0.0 K Hoang 14/12/2022 Initial coding for ESP32_S3 + LwIP W5500 / ENC28J60)
19+
1.0.0 K Hoang 14/12/2022 Initial coding for ESP32_S3 + LwIP W5500 / ENC28J60
20+
1.1.0 K Hoang 23/12/2022 Add support to ESP32_S2/C3 + LwIP W5500 / ENC28J60
2021
*****************************************************************************************************************************/
2122

2223
#pragma once

0 commit comments

Comments
 (0)