\input manualMacros.tex
\manBegin
\manPageInfo{RCI Reference Manual}{}{}
\manTitle{SET STOP}{3}
\manSection{NAME}
{\tt \manName{SET_STOP}},
{\tt \manName{SET_STOP_ALL}}
-- RCI {\it CHG} macros to stop the robot.
\manSection{USAGE}
\cverbatim
#include <rci.h>

SET_STOP(rbt, jnt)
   RCI_RBT *rbt;
   int jnt;   

SET_STOP_ALL(rbt)
   RCI_RBT *rbt; @endcverbatim
\manSection{ARGUMENTS}
\manItem{{\tt rbt} --}
Pointer to RCI robot structure.
\manItem{{\tt jnt} --}
Robot joint number.
\manSection{DESCRIPTION}
These macros stop the current robot motion at wherever it currently
happens to be. 
They may be called from any part of an RCI program.
The difference between executing one of these macros
and doing a {\tt MOVE_ENCODER()} or {\tt MOVE_ANGLE()} to the
present position is slight, except for the fact that one does not
have to refer to the current position here, and the robot control
algorithm may respond to a ``stop'' command differently than it does
to a ``move'' command. These macros also cause the {\tt angSet} and
{\tt encSet} fields of the {\tt HOW} structure to be updated to
the observed robot position.

{\tt SET_STOP()} causes the robot {\tt jnt} to stop during the next
control cycle. This command will override all previous motion
commands given to {\tt jnt} during the same cycle.

{\tt SET_STOP_ALL()} causes all robot joints to stop during the
next control cycle. This command will override all other motion
request commands entered during the same cycle.

\manSection{SEE ALSO}
\raggedright
{\tt CHG(3)}, {\tt HOW(3)}.
\manEnd
\end
