-
Notifications
You must be signed in to change notification settings - Fork 59
Refactor #53
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
Conversation
Also added some TODOs and FIXMEs Changed some `use` statements to be more sane
Many TODOs in code now
Output now looks like this ```text In field `EN` Bit range invalid, ParseError invalid digit found in string ``` Next is to do the same with registers and peripherals, however, one problem is that if the object doesn't have a name, we have to tell which "index" it is at. This causes some problems in how to actually send this info over. I've added my test for checking the output to make it easier for people that want to see the progress.
Output now looks like the following ```text In peripheral `TIMER0` In register `CR` In field `EN` Bit range invalid, ParseError invalid digit found in string ```
Some things that are still not implemented * enumeration on: * peripherals * cluster children * fields * remove all "unsafe" unwraps * Improve error messages by manually formatting `Display` on `SVDErrorKind` * etc. This commit also fixes a regression on enumerated values where an error would go by silently
Still needs parse->ElementExt unification, some erro handling, and a fair bit of encoding work
Made the u32 parse use the Parse trait
…should be done with parse::optional::<BoolParse>
Applied requested changes to parse::optional
Trying out merge extension for non-element objects
Also added unproven feature to encoding
There are some usages of |
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.
Tests don't compile and I don't like the way we currently hide Encode
behind unproven. I'm working on changing it
I wasn't sure whether to do it everywhere or just at the top level, this seems better. |
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!
Oh oops, should I have used bors to do this..? :-/ |
@ryankurte yes, because we don't run CI on PRs. But it's OK, if you haven't break the build. |
Yep, because it's redundant with what bors tests before landing the PR.
I have way too many repos and CI capacity (about 5 parallel builds) is shared across all of them. In my case, having a build trigger everything time PR is open or updated severely bottlenecked landing PRs using bors so I disabled PR builds across the board long time ago (before that I had to manually kill some still under review PR builds to land approved PRs). I have PR builds enabled on the rust-embedded repos (*) because the org has its own build capacity (also 5 parallel builds) and there aren't too many repos there. (*) Except for Cross because the build time is longer than 1 hour and has many jobs. If it was enabled each build would block the bors queue for at least 1 hour. |
Ahh, that's a very relatable problem ^_^
I appreciate the change on rust-embedded! Is the plan to move this over at some point or keep it here? |
Work In Progress PR for SVD refactor (#46) so that we get CI build/test going.