Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ESP_IDF 5.1] Add support for ESP_IDF 5.1 (ESP32 Arduino SDK 3.x) #4841

Merged
merged 212 commits into from
Dec 25, 2023

Conversation

TD-er
Copy link
Member

@TD-er TD-er commented Oct 6, 2023

Yesterday Arduino for ESP32 moved on to ESP IDF 5.1

This means a lot of changes are needed to support this new IDF.

Also we can't use SPIFFS anymore, so this migration may be partially at first.

ToDo:

  • Make it compile
  • Make it not crash
  • Adapt timing critical GPIO code, like used on 1-Wire. (and others)
  • Adapt ADC code to be usable with both IDF 4.4.x and 5.1.x
  • Disabled IR related code (for now)
  • Disabled Neopixel related code (for now, RMT driver really does not work on ESP32-C3)
  • Fix WiFi related changes
  • Fix internal temperature sensor
  • Fix access control (webserver.client().remoteIP() does not work anymore)
  • Update PWM/Servo related code to work with IDF5.x
  • Fix PWM fade (use HW fade + prevent 'gap' after fade completes)
  • Fix NeoPixel related code to work with RMT
  • Fix IR related code to work with RMT (People from Tasmota team are working on it)
  • (optional) Make it not burn down your house
  • (Nice-To-Have) Test
  • Test UART related plugins
  • Test I2C related plugins
  • Test ESP32 classic Ethernet
  • Add support for ESP32-C2
  • Add support for ESP32-C6

Now with WiFi6 support (802.11ax) for ESP32-C6:
image

It would be greatly appreciated if someone else could also test some of the builds based on this PR.
GH Actions builds are uploaded to the 'latest' web flasher location

N.B. Only the ESP32 LittleFS bin files are based on IDF5.1

@TD-er TD-er changed the title [ESP_IDF 5.1] Add support for ESP_IDF 5.1 (SP32 Arduino SDK 3.x) [ESP_IDF 5.1] Add support for ESP_IDF 5.1 (ESP32 Arduino SDK 3.x) Oct 6, 2023
TD-er added 28 commits October 6, 2023 11:31
return ip.v4() <= high.v4();
// FIXME TD-er: Must check whether both are of same type and check full range IPv6
for (int i = 0; i < 4; ++i) {
if (ip[i] != ip[i]) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo? I'd expect if (ip[i] != high[i]) {

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yep typo, thanks

@@ -43,6 +43,9 @@ struct EthernetEventData_t {


void markGotIP();
#if FEATURE_USE_IPV6
void martGotIP6(const IPAddress& ip6);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd expected that toe be named markGotIPv6, perhaps? (so, with a k instead of a t, and maybe a v inserted ?)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nah, Mart got the 6th IP, that's all... ;)

@TD-er TD-er merged commit 7545a71 into letscontrolit:mega Dec 25, 2023
164 checks passed
@TD-er TD-er deleted the feature/ESP32_IDF_5_1 branch December 25, 2023 20:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants