-
Notifications
You must be signed in to change notification settings - Fork 221
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
Unify: Remove the chip-specific HAL packages, adapt esp-hal
for direct use [1/?]
#1196
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for making this huge effort of unification! LGTM, just left a few small comments and typos.
The "bluetooth" feature is gone - it was used to reserve memory for bluetooth on ESP32 |
We used to re-export |
This comment was marked as outdated.
This comment was marked as outdated.
Co-authored-by: Björn Quentin <bjoernQ@users.noreply.github.com>
Not sure how to solve this, but when running an example on an unsupported chip you get an confusing error, e.g dac on esp32c3:
I hope we can find a nice way to say this isn't supported on that chip. |
Yeah, I don't have a good solution for this unfortunately. |
* Fix RMT examples * Remove logger-init
Clippy is going to fail today, we're just going to ignore it for now. |
* Make I2S examples work on ESP32 * Remove logger init
* Switch to generic queue instead of integrated for all examples * changelog
* Avoid UART0 and SPI flash pins * Fix spi_eh1_device_loopback for non-ESP32 * Update examples/src/bin/gpio_interrupt.rs Co-authored-by: Juraj Sadel <jurajsadel@gmail.com> --------- Co-authored-by: Juraj Sadel <jurajsadel@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM - Thanks for all the effort
After months of working towards this, I've finally pulled the trigger and unified the HAL packages (rejoice!).
There is still a fair bit of work left to do here, however I'm opting to leave that for a subsequent PR. Namely, documentation and
README
s need updating, but I'm sure there is a bunch of small stuff that needs fixing/cleaning.In addition to the direct work on the HAL, I've also pretty much completely rewritten the CI workflow at this point. There is still some work to be done on it, but it's much smaller and simpler than it was before at least.
All examples for a chip can be built using the
xtask
package:You can run examples using one of the provided cargo aliases:
cd examples/ cargo +esp esp32 --example=hello_world
I think most of these changes should be pretty straight forward, the bulk of it is just updating the CI and examples. I've made a lot of assumptions here, and just sort of went for it with regards to making decisions, so if you see anything questionable please don't hesitate to let me know, I'm happy to make whatever changes are necessary.
We will need plenty of eyes on this, plus it would be nice to test as many examples as reasonably possible on hardware. Would appreciate some help with that aspect! One thing I'm a little worried about in particular is the default features; I think I have managed to do the same we were doing before, but hard to say at this point 😅
For context, see #446