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

Commit 63f09a8

Browse files
authored
v1.1.0 for ESP32_S2/C3
#### Releases v1.1.0 1. Add support to `ESP32_S2/C3` boards using `LwIP ENC28J60 Ethernet`
1 parent 309af87 commit 63f09a8

18 files changed

+177
-73
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.0](#releases-v100)
2021

2122

@@ -25,6 +26,10 @@
2526

2627
## Changelog
2728

29+
#### Releases v1.1.0
30+
31+
1. Add support to `ESP32_S2/C3` boards using `LwIP ENC28J60 Ethernet`
32+
2833
#### Releases v1.0.0
2934

3035
1. Initial coding to port [ESPAsync_WiFiManager](https://github.com/khoih-prog/ESPAsync_WiFiManager) to ESP32_S3 boards using `LwIP ENC28J60 Ethernet`.

examples/Async_ConfigOnDoubleReset/Async_ConfigOnDoubleReset.ino

+22-9
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,11 @@ byte mac[][NUMBER_OF_MAC] =
6969

7070
//////////////////////////////////////////////////////////
7171

72+
// For ESP32-S3
7273
// Optional values to override default settings
7374
// Don't change unless you know what you're doing
7475
//#define ETH_SPI_HOST SPI3_HOST
75-
//#define SPI_CLOCK_MHZ 25
76+
//#define SPI_CLOCK_MHZ 8
7677

7778
// Must connect INT to GPIOxx or not working
7879
//#define INT_GPIO 4
@@ -82,6 +83,20 @@ byte mac[][NUMBER_OF_MAC] =
8283
//#define SCK_GPIO 12
8384
//#define CS_GPIO 10
8485

86+
// For ESP32_C3
87+
// Optional values to override default settings
88+
// Don't change unless you know what you're doing
89+
//#define ETH_SPI_HOST SPI2_HOST
90+
//#define SPI_CLOCK_MHZ 8
91+
92+
// Must connect INT to GPIOxx or not working
93+
//#define INT_GPIO 10
94+
95+
//#define MISO_GPIO 5
96+
//#define MOSI_GPIO 6
97+
//#define SCK_GPIO 4
98+
//#define CS_GPIO 7
99+
85100
//////////////////////////////////////////////////////////
86101

87102
#include <FS.h>
@@ -471,6 +486,7 @@ void saveConfigData()
471486
void beginEthernet()
472487
{
473488
LOGWARN(F("Default SPI pinout:"));
489+
LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
474490
LOGWARN1(F("MOSI:"), MOSI_GPIO);
475491
LOGWARN1(F("MISO:"), MISO_GPIO);
476492
LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -490,8 +506,8 @@ void beginEthernet()
490506

491507
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
492508
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
493-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
494-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
509+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
510+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
495511
}
496512

497513
void initEthernet()
@@ -589,14 +605,11 @@ void setup()
589605
AsyncESP32_SC_ENC_manager.setCORSHeader("Your Access-Control-Allow-Origin");
590606
#endif
591607

592-
bool configDataLoaded = false;
593-
594608
if (loadConfigData())
595609
{
596-
configDataLoaded = true;
597-
598-
AsyncESP32_SC_ENC_manager.setConfigPortalTimeout(
599-
120); //If no access point name has been previously entered disable timeout.
610+
//If no access point name has been previously entered disable timeout.
611+
AsyncESP32_SC_ENC_manager.setConfigPortalTimeout(120);
612+
600613
Serial.println(F("Got stored Credentials. Timeout 120s for Config Portal"));
601614

602615
#if USE_ESP_ETH_MANAGER_NTP

examples/Async_ConfigOnDoubleReset_TZ/Async_ConfigOnDoubleReset_TZ.ino

+20-7
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,11 @@ byte mac[][NUMBER_OF_MAC] =
6969

7070
//////////////////////////////////////////////////////////
7171

72+
// For ESP32-S3
7273
// Optional values to override default settings
7374
// Don't change unless you know what you're doing
7475
//#define ETH_SPI_HOST SPI3_HOST
75-
//#define SPI_CLOCK_MHZ 25
76+
//#define SPI_CLOCK_MHZ 8
7677

7778
// Must connect INT to GPIOxx or not working
7879
//#define INT_GPIO 4
@@ -82,6 +83,20 @@ byte mac[][NUMBER_OF_MAC] =
8283
//#define SCK_GPIO 12
8384
//#define CS_GPIO 10
8485

86+
// For ESP32_C3
87+
// Optional values to override default settings
88+
// Don't change unless you know what you're doing
89+
//#define ETH_SPI_HOST SPI2_HOST
90+
//#define SPI_CLOCK_MHZ 8
91+
92+
// Must connect INT to GPIOxx or not working
93+
//#define INT_GPIO 10
94+
95+
//#define MISO_GPIO 5
96+
//#define MOSI_GPIO 6
97+
//#define SCK_GPIO 4
98+
//#define CS_GPIO 7
99+
85100
//////////////////////////////////////////////////////////
86101

87102
#include <FS.h>
@@ -494,6 +509,7 @@ void saveConfigData()
494509
void beginEthernet()
495510
{
496511
LOGWARN(F("Default SPI pinout:"));
512+
LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
497513
LOGWARN1(F("MOSI:"), MOSI_GPIO);
498514
LOGWARN1(F("MISO:"), MISO_GPIO);
499515
LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -513,8 +529,8 @@ void beginEthernet()
513529

514530
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
515531
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
516-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
517-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
532+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
533+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
518534
}
519535

520536
//////////////////////////////////////////////////////////////
@@ -625,14 +641,11 @@ void setup()
625641
AsyncESP32_SC_ENC_manager.setCORSHeader("Your Access-Control-Allow-Origin");
626642
#endif
627643

628-
bool configDataLoaded = false;
629-
630644
if (loadConfigData())
631645
{
632-
configDataLoaded = true;
633-
634646
//If no access point name has been previously entered disable timeout.
635647
AsyncESP32_SC_ENC_manager.setConfigPortalTimeout(120);
648+
636649
Serial.println(F("Got stored Credentials. Timeout 120s for Config Portal"));
637650

638651
#if USE_ESP_ETH_MANAGER_NTP

examples/Async_ConfigOnSwitch/Async_ConfigOnSwitch.ino

+23-9
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,11 @@ byte mac[][NUMBER_OF_MAC] =
6767

6868
//////////////////////////////////////////////////////////
6969

70+
// For ESP32-S3
7071
// Optional values to override default settings
7172
// Don't change unless you know what you're doing
7273
//#define ETH_SPI_HOST SPI3_HOST
73-
//#define SPI_CLOCK_MHZ 25
74+
//#define SPI_CLOCK_MHZ 8
7475

7576
// Must connect INT to GPIOxx or not working
7677
//#define INT_GPIO 4
@@ -80,6 +81,20 @@ byte mac[][NUMBER_OF_MAC] =
8081
//#define SCK_GPIO 12
8182
//#define CS_GPIO 10
8283

84+
// For ESP32_C3
85+
// Optional values to override default settings
86+
// Don't change unless you know what you're doing
87+
//#define ETH_SPI_HOST SPI2_HOST
88+
//#define SPI_CLOCK_MHZ 8
89+
90+
// Must connect INT to GPIOxx or not working
91+
//#define INT_GPIO 10
92+
93+
//#define MISO_GPIO 5
94+
//#define MOSI_GPIO 6
95+
//#define SCK_GPIO 4
96+
//#define CS_GPIO 7
97+
8398
//////////////////////////////////////////////////////////
8499

85100
//For ESP32, To use ESP32 Dev Module, QIO, Flash 4MB/80MHz, Upload 921600
@@ -554,6 +569,7 @@ void saveConfigData()
554569
void beginEthernet()
555570
{
556571
LOGWARN(F("Default SPI pinout:"));
572+
LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
557573
LOGWARN1(F("MOSI:"), MOSI_GPIO);
558574
LOGWARN1(F("MISO:"), MISO_GPIO);
559575
LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -573,8 +589,8 @@ void beginEthernet()
573589

574590
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
575591
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
576-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
577-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
592+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
593+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
578594
}
579595

580596
//////////////////////////////////////////////////////////////
@@ -688,14 +704,11 @@ void setup()
688704
AsyncESP32_SC_ENC_manager.setCORSHeader("Your Access-Control-Allow-Origin");
689705
#endif
690706

691-
bool configDataLoaded = false;
692-
693707
if (loadConfigData())
694708
{
695-
configDataLoaded = true;
696-
697709
//If no access point name has been previously entered disable timeout.
698710
AsyncESP32_SC_ENC_manager.setConfigPortalTimeout(120);
711+
699712
Serial.println(F("Got stored Credentials. Timeout 120s for Config Portal"));
700713

701714
#if USE_ESP_ETH_MANAGER_NTP
@@ -841,8 +854,9 @@ void loop()
841854

842855
if (loadConfigData())
843856
{
844-
AsyncESP32_SC_ENC_manager.setConfigPortalTimeout(
845-
120); //If no access point name has been previously entered disable timeout.
857+
//If no access point name has been previously entered disable timeout.
858+
AsyncESP32_SC_ENC_manager.setConfigPortalTimeout(120);
859+
846860
Serial.println(F("Got stored Credentials. Timeout 120s for Config Portal"));
847861
}
848862
else

examples/Async_ConfigOnSwitchFS/Async_ConfigOnSwitchFS.ino

+24-10
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,11 @@ byte mac[][NUMBER_OF_MAC] =
8080

8181
//////////////////////////////////////////////////////////
8282

83+
// For ESP32-S3
8384
// Optional values to override default settings
8485
// Don't change unless you know what you're doing
8586
//#define ETH_SPI_HOST SPI3_HOST
86-
//#define SPI_CLOCK_MHZ 25
87+
//#define SPI_CLOCK_MHZ 8
8788

8889
// Must connect INT to GPIOxx or not working
8990
//#define INT_GPIO 4
@@ -93,6 +94,20 @@ byte mac[][NUMBER_OF_MAC] =
9394
//#define SCK_GPIO 12
9495
//#define CS_GPIO 10
9596

97+
// For ESP32_C3
98+
// Optional values to override default settings
99+
// Don't change unless you know what you're doing
100+
//#define ETH_SPI_HOST SPI2_HOST
101+
//#define SPI_CLOCK_MHZ 8
102+
103+
// Must connect INT to GPIOxx or not working
104+
//#define INT_GPIO 10
105+
106+
//#define MISO_GPIO 5
107+
//#define MOSI_GPIO 6
108+
//#define SCK_GPIO 4
109+
//#define CS_GPIO 7
110+
96111
//////////////////////////////////////////////////////////
97112

98113
#include <FS.h>
@@ -714,6 +729,7 @@ bool writeConfigFile()
714729
void beginEthernet()
715730
{
716731
LOGWARN(F("Default SPI pinout:"));
732+
LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
717733
LOGWARN1(F("MOSI:"), MOSI_GPIO);
718734
LOGWARN1(F("MISO:"), MISO_GPIO);
719735
LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -733,8 +749,8 @@ void beginEthernet()
733749

734750
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
735751
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
736-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
737-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
752+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
753+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
738754
}
739755

740756
//////////////////////////////////////////////////////////////
@@ -856,14 +872,11 @@ void setup()
856872
AsyncESP32_SC_ENC_manager.setCORSHeader("Your Access-Control-Allow-Origin");
857873
#endif
858874

859-
bool configDataLoaded = false;
860-
861875
if (loadConfigData())
862876
{
863-
configDataLoaded = true;
864-
865877
//If no access point name has been previously entered disable timeout.
866878
AsyncESP32_SC_ENC_manager.setConfigPortalTimeout(120);
879+
867880
Serial.println(F("Got stored Credentials. Timeout 120s for Config Portal"));
868881

869882
#if USE_ESP_ETH_MANAGER_NTP
@@ -992,9 +1005,10 @@ void loop()
9921005

9931006
if (loadConfigData())
9941007
{
995-
AsyncESP32_SC_ENC_manager.setConfigPortalTimeout(
996-
120); //If no access point name has been previously entered disable timeout.
997-
Serial.println(F("Got stored Credentials. Timeout 120s for Config Portal"));
1008+
//If no access point name has been previously entered disable timeout.
1009+
AsyncESP32_SC_ENC_manager.setConfigPortalTimeout(120);
1010+
1011+
Serial.println(F("Got stored Credentials. Timeout 120s for Config Portal"));
9981012
}
9991013
else
10001014
{

0 commit comments

Comments
 (0)