next up previous contents
Next: CMEAS Up: Detailed Description of Commands Previous: BYE   Contents

CIL

Commands ZY to illuminate the specified cube.
Mnemonic:

Cube ILluminate
Syntax:

CIL $<$n$>$[, $<$az , el$> \vert <$x, y, z$>$]
n: Cube name or number
az: New azimuth value $-(2^{30})$ to $(2^{30}) - 1$
el: New elevation value $-(2^{30})$ to $(2^{30}) - 1$
x: New X coordinate $-(1.7 \times 10^{308})$ to $(1.7 \times 10^{308})$
y: New Y coordinate $-(1.7 \times 10^{308})$ to $(1.7 \times 10^{308})$
z: New Z coordinate $-(1.7 \times 10^{308})$ to $(1.7 \times 10^{308})$
Return values:
Success:
CIL 1, num, name, x, y, z, az, el
Failure:
CIL 0, err_msg
num: Cube number
name: Cube name
x: Cube X coordinate
y: Cube Y coordinate
z: Cube Z coordinate
az: Cube azimuth encoder coordinate
el: Cube elevation encoder coordinate
err_msg: Should the command fail, this value will be an error message string, explaining the cause of failure. Failure modes include:
  • Wrong number of parameters given
  • ZY not in `Auto' mode (see STW)
  • Az and/or El encoders not `home'
  • ZY not initialized
  • Cube name or number not in the ZYs cube collection
  • Invalid (non-numerical) parameters given for any of the x, y, z, az, or el parameters
Remarks:

Parameter n must be within the range of cubes specified when INI was called. CIL will return an error if it is called before INI is called, or if the cube is out of range. For instance:
  INI 20  ;set aside space for 20 cubes.
  CIL 25  ;error.  CIL will report the error and do nothing.
In addition, the ZY must have be initialized and the servo systems must be homed before this command can be used. There are 3 ways CIL can be used:
  1. With 1 parameter: CIL assumes the parameter is the cube number, or name. It will then use previously calculated azimuth and elevation encoder coordinates to aim the servos. If the base coordinate values have changed, or if the cube's X, Y, and/or Z coordinates where changed since the last move (with COO or a previous call to CIL), the Coordinate Transformation Module will recalculate this cube's azimuth and elevation encoder values before they are sent to the servo controllers. The only exception to this is the reference cube.
  2. With 3 parameters: CIL assumes the first parameter is the cube name/number, and that the next two are new azimuth and elevation encoder coordinates. CIL will then use these coordinates instead of the calculated ones to aim the laser at the cube. These coordinates will be wiped out the next time the Coordinate Transformation Module recalculates this cube's coordinates.
  3. With 4 parameters: CIL assumes the first parameter is the cube name/number followed by new X, Y, and Z coordinates for this cube. The Coordinate Transformation Module will then use these new coordinates to calculate a new set of encoder coordinates for this cube. CIL then uses these new encoder coordinates to aim the laser at the cube.
Example:
     send: CIL 5                          ; use current coordinates
  receive: CIL 1, 5

     send: CIL 5, -29000, -10000          ; provide new (temporary)
  receive: CIL 1, 5, -29000, -10000       ; az/el coordinates

     send: CIL 5, 82000, 540, -100034     ; provide new (permanent)
  receive: CIL 1, 5, 82000, 540, -100034  ; xyz coordinates
See also:

AXIS, CMEAS, COO, FHM, INI, STW

next up previous contents
Next: CMEAS Up: Detailed Description of Commands Previous: BYE   Contents
Ramon E. Creager 2002-03-11