/*=-=-=-=-=-=-=-=-=-=-=-  RCI/RCCL Notice of Copyright -=-=-=-=-=-=-=-=-=-=-*
 *									    *
 *	Copyright (C) 1987 by John E. Lloyd. Permission to use, distribute  *
 *	and copy is granted for non-commercial and research purposes only,  *
 *	providing the authors are acknowledged and this copyright notice is *
 *	displayed. The authors provide this software in hope that it will   *
 *	useful, but do not assume responsibility for its use.		    *
 *									    *
 *	This software was developed using the facilities of the McGill 	    *
 *	University Research Center for Intelligent Machines, Montreal,	    *
 *	Canada, for a project undertaken and supported by the RCA Advanced  *
 *	Technology Laboratories, Moorestown, New Jersey.		    *
 *									    *
 *=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/

#include <rci.h>

/* Current control options for a_drive() */

#define C_CURRENT	1	/* normal current control of joints	    */
#define C_ZEROG		2	/* specifies zero gravity control of joints */
#define C_TORQUE	3	/* specifies torque control of joints	    */

typedef struct comblk {
	int destination[MAXJNTS];	/* Final encoder destination values */
	int current[MAXJNTS];		/* Current value to send to joint   */
	float torque[MAXJNTS];		/* Torque value to set at joint	    */
	char current_mode[MAXJNTS];	/* Type of current control to use   */
					/* (such as current, zerograv, etc) */
	int step_size;			/* Velocity, encoder counts / sample*/
	char stop, 			/* Stop the arm where it is	    */
	     block,			/* Mask otu the drive routine	    */
	     compcode;			/* Bits 0-5 set when joints 0-5 are */
					/*  at their destination position   */
	float scale;			/* gravity scaling constant	    */
  } COMBLK;
