This repository has been archived by the owner on Jan 9, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
davidlenfesty
force-pushed
the
david/ci
branch
2 times, most recently
from
October 13, 2021 16:00
1f22d92
to
ec8ff31
Compare
pavel-kirienko
approved these changes
Oct 13, 2021
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.
Basic CI is ∞ times better than no CI at all. Should we not also check rustfmt or even Clippy? We used to rely on Clippy here.
Yes, I agree to @pavel-kirienko with check on rustfmt. Clippy can be a little bit annoying, but for cleaner builds it's nice as well. |
teamplayer3
approved these changes
Oct 13, 2021
Merging because I'd rather build and testing get in right away and I want to spend some time working out how I want to configure clippy, |
davidlenfesty
added a commit
that referenced
this pull request
Oct 22, 2021
TODO is add rustfmt and/or clippy, but I want to take my time with the options set there.
davidlenfesty
added a commit
that referenced
this pull request
Oct 22, 2021
TODO is add rustfmt and/or clippy, but I want to take my time with the options set there.
davidlenfesty
added a commit
that referenced
this pull request
Oct 22, 2021
* Initial v1 work. * Removed old code, modified README, placed new stuff in. Currently code is very disorganized, needs to be split a bit. * rustfmt is magic * Split out library fairly naively. * Added simple transmission implementation * ignore service frames not sent to this node * no go away travis I don't want to talk to you * exclusive ranges are a thing * midway through a partial refactor, bringing out a SessionManager trait Nothing works yet :) * more progress on bringing out sessions into a seperate trait close to being done, basically just need to make the required changes to Node. * Remove what I'm working to remove :) * Largely completed receive transport abstractions. Last up on the list is the transmit semantics. My current plan for transport is to feature-gate different transmit functions behind `std`, but that doesn't fit nicely with my current model. More thinking when I have more sleep :) * Implement minimal iterator-based transmit * started fleshing out basic docs * starting to write testing * Toggle is UAVCAN/CAN specific, remove from general frame type * Finished tests for Can struct * finished all the CAN transport tests I'll be writing for a bit. * Added basic message reception example + some bugfixes Bugfixes: - Timeout would trigger even as a new transfer started. - Truncation issues caused by returning an incorrect length from metadata I can receive single frame transfers from pyuavcan now! * It WORKS (TM) I haven't fully tested all the possible branches and variants but I can send to/receive from a pyuavcan node. Tested both on single and multi-frame transfers. * Improved documentation * ran source through the rustfmt grinder * transport: now that GATs are a thing, move transmit() into the trait * Remove last Vec inside core of library * session/std_vec: add method to edit subscription * remove some of the easy TODOs * Add transmit function back to Node * examples/basic: fixed python code and improved DSDL search Unsure if the API changed or I was never using it correctly but the HeartbeatPublisher was incorrectly taking the presentation instead of a node. I also think you're not supposed to use the HeartbeatPublisher directly, so I made my own. Also a few little improvements * examples/basic: updated rust code, minor improvements * examples/basic: added quick README * Default to only `no_std` upport * add std feature * set no_std as default * export std_vec_session manager only in std env * import std::vec::VEc * use std feature of uavcan lib * set feature std as default for now * Generic time impl (#75) New implementation of Timestamping and clock usage. Most likely to use this crate in embedded environments. * Fix CanIter loop. (#79) * transport/can/tests: add make_generic_message_transfer Reduces boilerplate in some future tests * transport/can: add test for edge case of 13-byte payload This case fails (as it should) * transport/can: fix loop in CanIter in payload size edge cases Fixes #77 * transport/can: expand payload length testing Added a few more cases around CRC being shuffled. We should add more testing around how the iterator implementation splits data up, just not sure how to implement that atm. * Add build/testing CI (#84) TODO is add rustfmt and/or clippy, but I want to take my time with the options set there. Co-authored-by: Alexander Hübener <[email protected]> Co-authored-by: Alexander Hübener <[email protected]>
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Just runs builds and tests.
Resolves #83