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

Implement various interfaces for trace configuration #342

Merged
merged 29 commits into from
Nov 27, 2021

Conversation

tmplt
Copy link
Contributor

@tmplt tmplt commented Apr 28, 2021

I'm working on tracing support and aim to implement functions that abstract the configuration of relevant peripherals. Of chief interest is DWT, ITM and TPIU. Some propored abstractions will go against what is established in the crate; I will ask for comments on these.

@rust-highfive
Copy link

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @thalesfragoso (or someone else) soon.

If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.

Please see the contribution instructions for more information.

@rust-highfive rust-highfive added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-cortex-m labels Apr 28, 2021
@tmplt tmplt marked this pull request as ready for review May 5, 2021 11:31
@tmplt tmplt requested a review from a team as a code owner May 5, 2021 11:31
@tmplt
Copy link
Contributor Author

tmplt commented May 5, 2021

API changes and implementations are ready for review. Some TODOs about armv6m remain. I'll resolve them after review.

@adamgreig
Copy link
Member

Hi, just a quick note to say I just saw this via the reference in probe-rs and will try and review it for you soon, it would be great to have more support for trace management in here.

@tmplt
Copy link
Contributor Author

tmplt commented Jul 6, 2021

We probably want to offer sane defaults for the added configuration structs.

Copy link
Member

@adamgreig adamgreig left a comment

Choose a reason for hiding this comment

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

Thanks, sorry this sat waiting for so long!

On the whole this looks good to me. I've made a couple of comments. Besides that, could you fix up the clippy lints, which you can see in the PR view here? Mostly just needs some #[allow] on the capitalised names and a few other minor things.

@tmplt
Copy link
Contributor Author

tmplt commented Nov 21, 2021

Ready for a second review, @newAM. (Github's re-request functionality doesn't work on my end.)

newAM
newAM previously approved these changes Nov 21, 2021
Copy link
Member

@newAM newAM left a comment

Choose a reason for hiding this comment

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

Looks good to me, thanks for all your work on this, I'm looking forward to using it 👍

@jonathanpallant
Copy link
Contributor

This looks OK to me. @newAM are you happy with the changes that arrived after your last review?

newAM
newAM previously approved these changes Nov 25, 2021
Copy link
Member

@newAM newAM left a comment

Choose a reason for hiding this comment

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

Looks good to me!

@adamgreig
Copy link
Member

Thanks! I think finally the MSRV needs to be bumped to support non_exhaustive, from 1.38 to 1.40 at least.

@adamgreig
Copy link
Member

Thanks! I meant to say, it needs updating:

  • in .github/workflows/ci.yml as you've done
  • in .github/bors.toml so bors knows to wait for the new MSRV job
  • in README.md and src/lib.rs for user-facing documentation

Required to support the #[non_exhaustive] attribute.
Copy link
Member

@adamgreig adamgreig left a comment

Choose a reason for hiding this comment

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

Perfect, thanks!

bors merge

@bors
Copy link
Contributor

bors bot commented Nov 27, 2021

Build succeeded:

@bors bors bot merged commit ae1d2a6 into rust-embedded:master Nov 27, 2021
tmplt added a commit to rtic-scope/itm that referenced this pull request Nov 27, 2021
@adamgreig adamgreig mentioned this pull request Dec 31, 2021
bors bot added a commit that referenced this pull request Jan 2, 2022
375: Prepare v0.7.4 r=thejpster a=adamgreig

I've created a new branch, `v0.7.x`, which is currently at the latest non-breaking commit (so includes #346 #349 #347 #351 #339 #352 #348 #363 #362 #361 but does not include #342), to track the 0.7 series since master now contains breaking changes for v0.8.

This PR (which targets the new branch) cherry-picks #372 #369 #374 and bumps the version to v0.7.4 (and updates CHANGELOG) ready for a new v0.7.4 release. Once complete I'll also backport the changelog entries and bump the version in master to 0.7.4.

I think this is everything that should be in 0.7 -- the only excluded PRs from master are #342 and #367 I believe, and I don't think we have any open PRs targeting 0.7 either.

Any other thoughts on items for inclusion in 0.7.4 (or other changelog entries I missed)?

Co-authored-by: bors[bot] <26634292+bors[bot]@users.noreply.github.com>
Co-authored-by: Adam Greig <adam@adamgreig.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-cortex-m
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants