-
Notifications
You must be signed in to change notification settings - Fork 244
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
C6 deep sleep driver MVP #918
Conversation
6b7ef60
to
e8f468e
Compare
I would appreciate if someone could help me test if the current state boots and doesn't break peripherals and radio, otherwise I'll carry on and test it myself when I have my new hardware built next week or after that. |
Tested this with a couple of examples in esp-hal - still works. |
0fa2d96
to
0ae0102
Compare
Just checking in here, was this ready for review or are there still remaining tasks to resolve? |
I'm trying to progress with my project to a point where I can start testing this. |
c4af537
to
4988a35
Compare
Device now seems to be entering sleep, but can't yet wake up on GPIO level change. |
111b48b
to
77c783a
Compare
8f4a59f
to
22d70f6
Compare
030a38e - wakeup has been achieved |
646c19b
to
7fa7092
Compare
472e5d6
to
3923633
Compare
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, thank you for working on this! The example works fine for me, I left just 2 nitpicks.
I'm not sure how much work this is, but I could really use Timer wakeup apart from the GPIO.... |
After wasting three weeks on this I decided to draw the line at the bare minimum I personally needed. I'm not sure how much work it is, depends on whether it's implemented in esp-idf (probably not extreme amounts of work) or not (low power systems aren't documented currently so it may not even be possible right now). At any rate, this PR is big enough as it is, I'm kinda burnt out on this and timer support should be mostly additive on top of this. |
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 all your work on this!
* Restructure sleep-related files * Port most of esp-idf deep sleep code * Add example * Remove extra newline * Hide RtcioWakeupSource from esp32 api * Explain commented constants --------- Co-authored-by: Jesse Braham <[email protected]>
cc #375
This PR aims to implement deep sleep support for the HP core of ESP32-C6. This is a more-or-less direct port of esp-idf (v5.1.2).
We deviate from the esp-idf implementation where it doesn't fit into our current architecture:
The difference is, that in our case, the configured wakeup sources modify the sleep config directly, instead of an after-the-fact setup down the line. This, in theory, enables us to simplify the config structure from its current "in-memory register block" representation. This is not done for the sake of reducing porting effort.
Only LP_IO is implemented as a wakeup source, and probably only deep sleep works.
Status:
Must
errors
orwarnings
.cargo fmt
was run.CHANGELOG.md
in the proper section.Nice to have