APOLLO Master Program

Created May 15, 2004

Last updated May 15, 2004


The master program for APOLLO is the one that is used to acquire lunar range data. The program should:

  1. Communicate with the T/R motor (RS-232) and tell it to spin at about 20 Hz
  2. Communicate with the laser (RS-232) to place it in remote trigger mode
  3. Set up the TDCs (CAMAC) for acquisition
  4. Set ACM (CAMAC) parameters for ranging (APD gate, etc.)
  5. Set GPS clock (GPIB) into triggered time acquisition mode
  6. Remove interlock status so that the laser shutter opens
  7. Command the ACM (CAMAC) to listen to the motor encoder and send laser pulse requests to the laser
  8. Begin loop to respond to CAMAC LAMs and retrieve data from TDC and ACM on each event
  9. Calculate the lunar delay for each pulse and enter into a FIFO queue
  10. Load the free-running counter in the ACM with the next lunar delay value
  11. Grab the pulse height measurement from the photodiode integrator
  12. Periodically (once per second) retrieve time string from clock (GPIB)
  13. Periodically (every 30 seconds?) retrieve temperature status on all 32 (?) channels
  14. Periodically (every 30 seconds?) retrieve flow-meter values

I'm sure more tasks will occur to us as time goes on. The idea is that this one C program controls all the laser ranging hardware needed to run more-or-less unattended and gather all the data we need at the appropriate intervals (in a synchronized fashion).

This program will be initiated and terminated by a user interface program, described in the next task.


APOLLO To Do Task List.