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.
Global overview:
Although I liked the idea of not exposing too much time details in the trait, having a stateful timeout requires the
Transport
implementation to always store the deadline. This means that you basically always need a wrapper type to implement theTransport
trait.So instead I made the timeout non-stateful so we can implement the trait directly for
serial2::SerialPort
.This also opened the way for renaming the trait to
SerialPort
again.I didn't want the
SerialPort
impls to returndynamixel2
errors, but only their own error. So I removed theTimeout
error variant and instead added a staticis_timeout_error()
function to theSerialPort
trait. Similarly I removed theInitializeError
and just have the functions returnSerialPort::Error
.So far, these are the high level changes. I also want to rename
Bus
,Device
andMessenger
, but I'm out of time for today :p@omelia-iliffe: Could you look over the changes and see what you think?