\input manualMacros.tex
\manBegin
\manPageInfo{RCCL Reference Manual}{}{}
\manTitle{numMotionsQueued}{3}
\manSection{NAME}
{\rightskip=0ptplus1fil
{\tt \manName{numMotionsQueued}},
{\tt \manName{checkMotionQueue}}
-- get information about the RCCL motion queue.

}
\manSection{USAGE}
\cverbatim
#include <rccl.h>

numMotionsQueued (mnp)
  MANIP *mnp;

checkMotionQueue (mnp, pos)
  MANIP *mnp;
  POS *pos;
@endcverbatim
\manSection{ARGUMENTS}
\manItem{{\tt mnp} --}
Manipulator reference structure.
\manItem{{\tt pos} --}
Target position data structure.
\manSection{RESTRICTIONS}
{\tt checkMotionQueue()} can only be called from the planning level.
\manSection{DESCRIPTION}
{\tt numMotionsQueued()} returns, for a particular manipulator,
the number of motion requests on the motion queue awaiting execution.

{\tt checkMotionQueue()} returns true if there is enough space on the motion
queue to contain a motion request
\cverbatim
        move (mnp, pos)
@endcverbatim
The position structure needs to be included in the calculation because
the motion request will contain a copy of the position structure, and
the size of this can vary.
If the proposed motion request is {\tt movej()}, then {\tt pos} can
be given as {\tt NULL}.
If the proposed motion request is {\tt stop()}, then {\tt pos} should
be the position structure for the
most recent {\tt move()} command, or {\tt NULL} if the most recent
non-stop request is a {\tt movej()}.

\manSection{DIAGNOSTICS}
{\tt checkMotionQueue()} will abort the program if called from the
control level.
\manSection{SEE ALSO}
\rightskip=0ptplus1fil
{\tt rcclCreate(3)}, {\tt setMotionQueueSize(3)},
{\tt move(3)}, {\tt rcclSetOptions(3)}.
\manEnd
\end
