How to freeze it

is there a command to freeze a servo move part way through? i would still need to poll the servos, so i can’t just cut the power. Also, I know i can set offsets, but can i invert the values? (so that if i send it 1500 it does 2500, etc.)?

any ideas?

To stop a servo at its current position you can use the “stop” command included in the latest ssc-32 firmware.

i got my SSC-32 about a month ago, so will it have that command, or do i need to do a firmware upgrade? also, what is the syntax if the command and do i have to specify which servos to stop, or will it stop all of them at once?

The below is found in the ssc-32 user’s guide in the “Miscellaneous Register Commands” section. The “ver” command should return what you have. Using lynxterm, you can give a servo a slow movement command and then tell it to stop, and see if it stops.

lynxmotion.com/images/html/build136.htm

STOP 0-31 Immediately stops the specified servo at its current position.
A space is optional before the servo number.
STOP0
STOP 31

Thanks.
I just tried that and the version is 2.01. it did respond to the stop command. but my query pulse command did not work. if i use the stop command, can i not query?

The last post in the below thread shows how I stop the servo and get its last commanded position, which should be its ~current position.

lynxmotion.net/phpbb/viewtopic.php?t=3655

The offset is only good for +/- 100uS so it can adjust from 1400 to 1600. Inverting signals should be handled in the program sending data to the SSC-32.

Query commands have their own problems dealing with getting the data from the SSC-32 without errors. If the SSC-32 sends the results too quickly, or too slowly for the device communicating with it. What are you using, a PC or a microcontroller?

I am using a Basic Stamp 2 microcontroller for my bot, and it worked fine. i have been using LynxTerm to test it. i send the command QP0 and i either get no response or a dot (.), as in the move is completed. i’ve tried both Q0 and QP0 commands with equal results. this is not an issue when i don’t use the stop command.

I have tested this as well.

I first set a servo on channel 0 to 1000.

#0P1000 cr

Then I tell it to go to 2000 in 50 seconds.

P2000T50000 cr

Then while it’s moving I type.

QP0 cr QP0 cr QP0 cr

I notice the character returned by the SSC-32 although garbage it does change telling me it’s updating the value. Now type stop0 and the servo stops, and the QP0 cr returns the same character over and over.

Note Q only tells if the move is completed. So it is supposed to return a period.

thanks. I realized why i got a . as a response for QP0 cr. turns out that the dot is actually the ascii value or whatever of the position it was at. i just didn’t bother querying at multiple locations. :blush: that was dumb of me.
well thanks for the help.

Update:

much later and my code is well on its way.

Thanks