home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Between Heaven & Hell 2
/
BetweenHeavenHell.cdr
/
500
/
471
/
rccl172
< prev
next >
Wrap
Text File
|
1987-03-02
|
10KB
|
159 lines
/*
* MAC Version 2.0 Author : Vincent Hayward
* School of Electrical Engineering
* Purdue University
* Dir : h
* File : addefs.h
* Remarks : Not quite clean yet.
* Usage : Included in lsi11 pgs to control joint processors
*/
/* This section contains all of the hardware address definitions */
/* needed for software communication to the joint microprocessors. */
/* Control Register Bits */
#define SELECT 00 /* sets up data transfer */
#define CMDVLD 01 /* command validation */
#define REQA 0200 /* request a, acknowledge transfer */
#define REQB 0100000 /* request b, signal attention request */
/* External Communication by the Host */
/* The external I/O control and front panel switches are defined by */
/* data values sent to or read from a latched buffer when the output */
/* buffer of the parellel interface is sent the value of 07. */
#define CNTRLR 07 /* enable external communication */
#define EXTERN0 01 /* external input/output */
#define EXTERN1 02 /* bit definitions */
#define EXTERN2 04 /* */
#define EXTERN3 010 /* */
#define EXTERN4 020 /* */
#define EXTERN5 040 /* */
#define EXTERN6 0100 /* */
#define EXTERN7 0200 /* */
#define ARMPWR 0400 /* high power on/off bit (high/low) */
#define OFFL 01000 /* external low signal to stop the arm */
#define RUN 02000 /* front panel switch - run bit low */
#define RESTART 04000 /* front panel switch - restart bit low */
#define HNDOH 01000 /* close pneumatic hand/release (high/low) */
#define HNDCH 02000 /* open pneumatic hand/release (high/low) */
#define EXTRA4 04000 /* spare output bit (not wired) */
#define EXTRA0 010000 /* spare I/O bit (not wired) */
#define EXTRA1 020000 /* spare I/O bit (not wired) */
#define EXTRA2 040000 /* spare I/O bit (not wired) */
#define EXTRA3 0100000 /* spare I/O bit (not wired) */
/* Host Commands to the Joints */
#define POSET 000 /* 16 bit unsigned position set point */
#define DACSET 010 /* 12 bit signed dac setpoint */
/* 000000 minimum positive value */
/* 001777 halfway positive value */
/* 003777 maximum positive value */
/* 777777 minimum negative value */
/* 775777 halfway negative value */
/* 774000 maximum negative value */
#define TOLBND 020 /* position tolerance */
#define STOPM 030 /* enter stop mode and set position */
#define CALIB 040 /* calibrate */
#define GRAVTY 050 /* 16 bit signed gravity term */
#define INTBND 060 /* set integration band */
#define SETPAR 070 /* setup joint servo parameters */
#define STOPP 0100 /* stop w/o changing position count */
#define UNSD1 0110 /* undefined */
#define UNSD2 0120 /* undefined */
#define UNSD3 0130 /* undefined */
#define READ 0140 /* read 16 bit unsigned position */
#define JSTAT 0150 /* read joint status definitions */
#define JRSERVO 0100000 /* servoing enabled */
#define JRINTBD 0040000 /* integration enabled */
#define JRTRQSV 0020000 /* torque servo enabled */
#define JRHLFCT 0010000 /* 1/2 count enabled */
#define JRPOSSV 0004000 /* position servo enabled */
/* 002000 undefined */
#define JFNDIXS 0001000 /* index found and halted */
#define JLOOKZI 0000400 /* looking for index */
#define JLOSTSY 0000200 /* lost synch with encoder */
#define JFIXFND 0000100 /* first index found */
/* 000040 undefined */
/* 000020 undefined */
/* 000010 undefined */
/* 000004 undefined */
/* 000002 undefined */
/* 000001 undefined */
#define READP 0160 /* read joint pot */
#define READM 0170 /* read micro memory set in location 2 */
#define SEQUENT 0200 /* sequential (to address all joints) */
/* RAM Parameters */
#ifdef STAN
#define STATUS 00000 /* index status register */
/* 0200 lost synch with encoder */
/* 0100 set after first index found */
#define MODE 00400 /* joint control and status register */
#define MESERVO 0200 /* | enable servoing */
#define MEINTBD 0100 /* | enable integration band */
#define METRQSV 040 /* | enable torque servo */
#define MEHLFCT 020 /* | enable half count mode */
#define MEPOSSV 010 /* | enable position servo */
#define MFNDIXS 02 /* | set when found zero index */
#define MLOOKZI 01 /* | look for zero index */
#define ADDR 001000 /* memory address to read with readm */
#define PGAIN 001400 /* position error servo gain (0 to 7) */
#define VGAIN 002000 /* velocity error servo gain (0 to 7) */
#define IGAIN 002400 /* integrated position error gain (0 to 7) */
#define SCALE 003000 /* final output error gain (0 to 7) */
#define NINTER 003400 /* number of interps. default 32 */
#define INTSCL 004000 /* see instructions. default 3 */
#define TICK 004400 /* number of 8 micro second ticks */
#define WHLSIZ 005000 /* no. of encoder counts times four */
#define OFFSET 006000 /* gravity compensation term (2 bytes) */
#define POSTOL 007000 /* position tolerance (2 bytes) */
#define INTTOL 010000 /* integration tolerance (2 bytes) */
#define CURPOS 023000 /* current position (2 bytes) */
#define LSTPOS 024000 /* last servo position (2 bytes) */
#define CURVEL 027000 /* current velocity (2 bytes) */
#endif
#ifdef PUMA
#define STATUS 00000 /* index status register */
/* 0200 lost synch with encoder */
/* 0100 set after first index found */
#define MODE 00400 /* joint control and status register */
#define MESERVO 0200 /* | enable servoing */
#define MEINTBD 0100 /* | enable integration band */
#define MELSBSV 040 /* | enable lsb servo */
#define MEHLFCT 020 /* | enable half count mode */
#define MEPOSSV 010 /* | enable position servo */
#define MFNDIXS 02 /* | set when found zero index */
#define MLOOKZI 01 /* | look for zero index */
#define ADDR 001000 /* memory address to read with readm */
#define PGAIN 001400 /* position error servo gain (0 to 7) */
#define VGAIN 002000 /* velocity error servo gain (0 to 7) */
#define SCALE 002400 /* final output error gain (0 to 7) */
#define NINTER 003000 /* number of interps. default 32 */
#define INTSCL 003400 /* see instructions. default 3 */
#define TICK 004000 /* number of 8 micro second ticks */
#define WHLSIZ 004400 /* no. of encoder counts times four */
#define OFFSET 010000 /* gravity compensation term (2 bytes) */
#define POSERR 011000 /* curr pos err */
#define CURVEL 012400 /* curr vel */
#define DACSIG 014000 /* composite dac ouput */
#define POSTOL ?????? /* position tolerance (2 bytes) */
#define INTTOL ?????? /* integration tolerance (2 bytes) */
#define CURPOS ?????? /* current position (2 bytes) */
#define LSTPOS ?????? /* last servo position (2 bytes) */
#endif