-
-
Notifications
You must be signed in to change notification settings - Fork 85
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
Add optional rzCOBS encoding+framing #539
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.
left some inline comments / questions. does probe-run
need changes after this has landed? IOW, will landing this break (e.g. not compile / fail to decode) probe-run
even if it uses the right decoder version?
EDIT: would sticking to the "raw" encoder / decoder for a bit not immediately break probe-run
?
I think it'll still build because I've left
Yes, |
In that case, it seems fine to "vendor" that code. This looks good to me. bors r+ |
Build succeeded: |
540: Separate "crate version" from "wire format version" r=jonas-schievink a=Dirbaio Depends on #539. Fixes #287. This decouples the "wire format version" from the crate version (Cargo package version or git commit). Wire format version can now be bumped independently. This alleviates pains listed in #539., and more importantly it will allow making breaking changes to the wire format in a semver-minor `defmt` crate release. See #426. Version is `3` to be able to retroactively number `0.1.x = 1, 0.2.x = 2`. A followup PR will add support to `defmt-decoder` to decode both version 2 and 3 concurrently. Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net> Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
@Dirbaio Can you please fill the empty doc-comments on the methods of the encoder? |
Added missing docs in #568 |
Part of #492
Encoding is chosen with the
encoding-raw
,encoding-rzcobs
features. If no encoding is chosen,rzcobs
is used.The used encoding is stored in the ELF symbol table, and the decoder automatically picks the correct version.