Skip to content
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

Pipette+: Configure Smoothie Timeouts #3300

Closed
Laura-Danielle opened this issue Apr 3, 2019 · 0 comments · Fixed by #3389
Closed

Pipette+: Configure Smoothie Timeouts #3300

Laura-Danielle opened this issue Apr 3, 2019 · 0 comments · Fixed by #3389
Labels
api Affects the `api` project extra-large firmware

Comments

@Laura-Danielle
Copy link
Contributor

overview

As a robot user, I would expect the robot to be able to complete tasks without encountering a smoothie timeout error. With the introduction of the pipette+ certain behaviors will take longer to complete than they had before due to the longer travel distance of the new pipettes (motor lead screw is now ~60mm versus the original 20mm)

current behavior

The current timeouts are hardcoded into our smoothie driver/firmware.

expected behavior

Instead we should make the firmware intelligent by using interrupts and designing our driver decisions around that.

@Laura-Danielle Laura-Danielle added this to the Pipette+ Support milestone Apr 3, 2019
@Laura-Danielle Laura-Danielle added the api Affects the `api` project label Apr 22, 2019
sfoster1 added a commit that referenced this issue Apr 26, 2019
Currently, after every command we send an M400, which delays until the
smoothie's queue is empty. We couple this with retrying unacked commands. The
problem is, this couples command acknowledgement with command execution. The
timeouts need to be short enough to be responsive if a command isn't
acknowledged, but short timeouts cause problems with commands that take a long
time - like long motions at low speeds.

Instead, write the command and retry it if not acknowledged, but do not do an
M400 until the command is acknowledged. Once that's done, you can use a very
long timeout for the M400 without worrying about having to retry.

Closes #3300, closes #2822
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api Affects the `api` project extra-large firmware
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant