Comments (7)
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.
The three aforementioned peripherals are now supported by all chips.
from esp-hal.
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.
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.
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.
I created a PR for the GPIO implementation in esp-hal-common: jessebraham#3
from esp-hal.
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)
- UsbSerialJtag embedd_io_async Write after signal wait not working
- ieee802154 esp32h2 no frames received or transmitted HOT 5
- Embassy_serial can't transmit a package more than 128bytes HOT 9
- ESP32 PSRAM behaves erratically if flashed using 80Mhz flash mode HOT 3
- Uart: Add blocking `read_bytes` method
- `gpio::Output::new` still have plain bool argument HOT 3
- Uart: problems after added check of err_wr_mask in config
- BLE and Wifi examples not working on ESP32S3. HOT 28
- Fix Clippy Lints in `esp-wifi` package
- `CHANGELOG.md` checks should check any packages with changes, not just `esp-hal`
- ESP32-H2: I2S Clock is way too slow HOT 6
- None of the packages in the `extras` directory are built in CI
- Add HIL test(s) to verify all Embassy executors and time drivers
- `async` ADC read HOT 1
- We've exceeded the concurrency limit for GitHub Actions HOT 2
- #[ram(zeroed)] statics are unsound
- Publish first versions of current unpublished packages
- Bytes reading from UART blocks forever on esp32c3 HOT 5
- Improve module level documentation for GPIO
- Expose GPIO matrix to users HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from esp-hal.