Closed de-vri-es closed 6 months ago
I can't say much because I'm not familiar with the project enough. But the PR in general looks complete with comprehensive description, useful comments and passed tests.
Sorry its taken me a few days. I've tested all the functions you changed and all immediately return a Response<()>
as expected. I confirmed the Dynamixel had also received and processed the broadcast packet as well.
It all looks good to me.
Sorry its taken me a few days. I've tested all the functions you changed and all immediately return a
Response<()>
as expected. I confirmed the Dynamixel had also received and processed the broadcast packet as well.It all looks good to me.
Awesome. Thanks for testing!
Released as v0.8.0
:rocket:
This PR changes the functions for instructions that do not return any data.
If the motor ID is the broadcast ID, the functions will no longer wait for a response (and then get a timeout). Instead, the functions will return directly after writing the command with a fake response from the broadcast ID.
Additionally (but unrelated), this PR removes the
ReadBuffer
andWriteBuffer
generic arguments fromStatusPacket
, which should make it a more friendly type to work with. It moves the bookkeeping for used bytes into theBus
struct to allow for this.Also unrelated, this PR handles full buffers by returning a
BufferFullError
instead of panicking.@omelia-iliffe: When you have the time, could you verify that communication is still working with this PR? The changes to
StatusPacket
are a bit risky considering this kind of bookkeeping is error prone.