-
Type: Task
-
Status: Done (View Workflow)
-
Priority: Normal
-
Resolution: Done
-
Component/s: ics_xcuActor
-
Labels:
The FPA arms are named A, B, and C. A is defined to be the arm which runs straight up (the visible cameras) or straight down (NIR). B and C are then defined to run clockwise from A.
The motor controller uses motors 1, 2, and 3. The xcuActor was written assuming that arm A is driven by motor 1, etc. as it is for the visible cameras, but recent n1 work exposed that the NIR cameras have motor 1 at 02h00, or arm C. Arm A is motor 2 and Arm B is motor 3.
In the tradeoff between wiring/documentation simplicity and code simplicity, we chose to change code. So add a mapping between arm names and physical motor ids, both forward and back.
The ugly part is the MHS/archiver/header keywords. Regrettably, I used ccdMotorN and W_XMOT*N for the ones which describe the limit switches and positions. These are used in enough places and with enough history that I worry about redefining them. I think that the mapping should be entirely within the actor, effectively mapping the published "ccdMotor" 1,2,3 to an internal "controllerMotor" – 2,3,1 for the NIR, and 1,2,3 for the visible.