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

feat(devboard): Add support for ESP32 #39

Merged
merged 35 commits into from
Oct 18, 2023
Merged

feat(devboard): Add support for ESP32 #39

merged 35 commits into from
Oct 18, 2023

Conversation

ZZ-Cat
Copy link
Owner

@ZZ-Cat ZZ-Cat commented Oct 9, 2023

Overview

This Pull Request adds support for the ESP32 line of development boards.

Tasks

The following lists the development boards that are added to the Compatibility Table:

  • Adafruit Feather ESP32
  • Adafruit Feather ESP32-S2
  • Adafruit Feather ESP32-S3 (2 MB PSRAM)
  • Adafruit Feather ESP32-S3 (No PSRAM)
  • Adafruit ItsyBitsy ESP32
  • Adafruit Metro ESP32-S2
  • Adafruit QtPy ESP32 Pico
  • Adafruit QtPy ESP32-C3
  • Adafruit QtPy ESP32-S2
  • Adafruit QtPy ESP32-S3
  • Arduino Nano ESP32
  • Espressif ESP32-C3-DevKitC-02
  • Espressif ESP32-C3-DevKitM-1
  • Espressif ESP32-S3-DevKitC-1-N8
  • Seeed XIAO ESP32C3
  • Seeed XIAO ESP32S3
  • SparkFun RedBoard IoT ESP32
  • SparkFun Thing ESP32
  • SparkFun Thing Plus ESP32 WROOM
  • SparkFun Thing Plus ESP32-S2 WROOM

Plus many more, as time marches on.

Additional notes

Like I did with #37, this uses Serial1 by default. If need be, I may add support for more UART ports (wherever applicable) if requested.

If someone requests it, I may add support for the ESP32 predecessor (ESP8285 and ESP8266), because I am aware that ExpressLRS themselves target ESP8285 based transmitters and receivers for their firmware (which automatically tells me that the CRSF Protocol is fully compatible with ESP8285 and ESP8266).

This fixes an obscure compilation error, where `min()` may attempt to resolve `const int` with `crsfProtocol::frameSize_e` on some platforms.
@ZZ-Cat ZZ-Cat self-assigned this Oct 9, 2023
@ZZ-Cat ZZ-Cat added this to the Version 0.5.0 milestone Oct 9, 2023
@ZZ-Cat ZZ-Cat added ✨️ Enhancement ✨️ New feature or request Arduino IDE ♾️ This is specific to the Arduino IDE PlatformIO 👽 This is specific to PlatformIO. ...in progress 🚧 Development on this is in progress labels Oct 9, 2023
@ZZ-Cat ZZ-Cat linked an issue Oct 9, 2023 that may be closed by this pull request
4 tasks
@ZZ-Cat ZZ-Cat added the ⤴️ Rebase Needed ⤴️ This needs to be rebased. label Oct 11, 2023
@ZZ-Cat ZZ-Cat marked this pull request as ready for review October 18, 2023 01:12
README.md Show resolved Hide resolved
@ZZ-Cat ZZ-Cat removed ⤴️ Rebase Needed ⤴️ This needs to be rebased. ...in progress 🚧 Development on this is in progress labels Oct 18, 2023
@ZZ-Cat
Copy link
Owner Author

ZZ-Cat commented Oct 18, 2023

Right. This Pull Request is good to go.
I don't have any ESP32 development boards available to me. So, I am relying on feedback from you all via my Issues tab, if anything isn't working the way it's supposed to.

@ZZ-Cat ZZ-Cat merged commit ab9ea01 into Main-Trunk Oct 18, 2023
4 checks passed
@ZZ-Cat ZZ-Cat deleted the ZZ-Cat/issue38 branch October 18, 2023 01:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Arduino IDE ♾️ This is specific to the Arduino IDE ✨️ Enhancement ✨️ New feature or request PlatformIO 👽 This is specific to PlatformIO.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ESP32
1 participant