Race condition in using ?DR and !PX commands

7 years 8 months ago #29527725 by hudson
Is there a safe way to use the !PX (position chaining) command that doesn\'t involve a race condition with the ?DR query? If the motors are not currently in transit, !PX appears to do nothing, but instead will cause an undesired move after the next !P command. This is documented in the datasheet. but is unhelpful in figuring out how to use it safely:

\"Beware that the next commands must be entered while the motor is moving, since the next commands will only be taken into account at the end of the current motion.\"

Additionally, ?DR in a telemetry string does not appear to have the desired effect. It always reports as 0. Sending a ?DR command by itself will report correctly, but also halts the telemetry updates.

Please Log in or Create an account to join the conversation.

7 years 3 months ago #29528117 by hudson
Is there any chance of a firmware update that will fix this limitation to add a race-free way to use the controller with position chaining? A simple modification to the !PX command that either queued the command if one was currently in transit, or became the current command if the controller was not currently in transit would make this usable.

Please Log in or Create an account to join the conversation.

Moderators: tonysantoni
Time to create page: 0.126 seconds