GithubHelp home page GithubHelp logo

Comments (7)

bjoernQ avatar bjoernQ commented on July 27, 2024 1

Thanks for the clarification regarding the SVD / PAC. I noticed the fork but didn't check the actual SVD file.
My spare time is currently a bit limited unfortunately but I hope to get the ESP32 GPIO working

from esp-hal.

jessebraham avatar jessebraham commented on July 27, 2024 1

The three aforementioned peripherals are now supported by all chips.

from esp-hal.

bjoernQ avatar bjoernQ commented on July 27, 2024

Thanks for your efforts - good to see something going on here 🙂

I was trying a bit with this here: https://github.com/bjoernQ/esp-hal/tree/esp32-local-pac

Basically, what I was trying is to have the GPIO module living in the esp-hal-common for ESP32C3 and ESP32 (don't have access to S2, S3 currently). Not sure if that will ever work but I have at least digital IO working for ESP32 and ESP32C3 (at least blinky blinks - not tested digital input yet)

I have a question btw about the evolution of the ESP32-PAC. In my fork I use the SVD from https://github.com/espressif/svd since that matches the other SVDs there more. However, it seems you are using the generated SVD from https://github.com/esp-rs/esp32 - are you avoiding the "official" SVD on purpose?

from esp-hal.

jessebraham avatar jessebraham commented on July 27, 2024

Thank you for working on this, it will be great to have a reasonable base to build from! I have hardware for the S2 and S3, so hopefully if you're able to get GPIO working for the ESP32 I should be able to get the aforementioned chips working too.

Long story short, the esp32 PAC was made using the SVD generated from idf2svd, aka the "community SVD". This has existed for some time. I have forked this repository, created a develop branch, and used the official SVD (from espressif/svd) instead. The esp-hal-common crate points to this fork and branch via a git dependency, so this repo is, in fact, using the "official" SVD.

All of these was done primarily to avoid breaking the existing esp32 PAC which is used by esp32-hal, but the hope is for this project to replace esp32-hal eventually, so at that point the official PAC can be updated as well.

Just to note, I have done the same fork/create develop branch for the remaining PACs as well, and have included them as git dependencies. This was so that we can just PR patches to the SVDs as needed, and then I can upstream the changes to the official SVDs in batches.

from esp-hal.

jessebraham avatar jessebraham commented on July 27, 2024

There's no rush, I appreciate the effort! If there's anything I can do to help expedite the process please let me know.

from esp-hal.

bjoernQ avatar bjoernQ commented on July 27, 2024

I created a PR for the GPIO implementation in esp-hal-common: jessebraham#3

from esp-hal.

jessebraham avatar jessebraham commented on July 27, 2024

Regardless of our current lack of runtime support, I have begun implementing the GPIO peripheral for the ESP32-S2 and ESP32-S3 as well. I still need to add the various alternate functions, and verify that things build (PACs might needs some patching), but the work so far can be found in this branch:
https://github.com/jessebraham/esp-hal/tree/feature/gpio-s2-s3

TIMG and UART should in theory work for both these chips as well, however verification is still needed.

from esp-hal.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.