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

Improve PCNT API (with HIL tests) #1765

Merged
merged 1 commit into from
Jul 15, 2024
Merged

Conversation

Dominaezzz
Copy link
Collaborator

Thank you for your contribution!

We appreciate the time and effort you've put into this pull request.
To help us review it efficiently, please ensure you've gone through the following checklist:

Submission Checklist 📝

  • I have updated existing examples or added new ones (if applicable).
  • I have used cargo xtask fmt-packages command to ensure that all changed code is formatted correctly.
  • My changes were added to the CHANGELOG.md in the proper section.
  • My changes are in accordance to the esp-rs API guidelines

Extra:

Pull Request Details 📖

Description

I've made a couple improvements to the API.

  • Move pin inversion logic from config into the PcntSource struct.
  • Lifetime of unit now restricted to the lifetime of the borrowed peripheral.
  • Tie the configuration of limits/thresholds with the enabling of the event. The limits do nothing if the event is disabled.
  • Provide separate unit objects so that Rust borrow checking can be taken advantage of.
  • Split out upfront config object into multiple optional methods.
  • Move counter to separate object which can be cloned. Eliminating the need for the critical section in the example.
  • Fixed the use of write when disabling interrupts.
  • Changed the interrupt check to look at INT_RAW instead of INT_ST.

Testing

I ran the HIL tests locally but CI should be good as well.
I'm unable to run the example.

Copy link
Contributor

@JurajSadel JurajSadel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

Copy link
Contributor

@bjoernQ bjoernQ left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - Thanks

@bjoernQ bjoernQ added this pull request to the merge queue Jul 15, 2024
Merged via the queue into esp-rs:main with commit 0cae79b Jul 15, 2024
30 checks passed
@Dominaezzz Dominaezzz deleted the pcnt_refactor branch July 15, 2024 19:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants