The main program is the AzCamServer application that runs on the same physical host with the PCI fiber interface to the ARC controller. This server has a TCP socket interface that allows remote client applications to connect and issue commands to control the CCD camera. The AzCamServer application runs on Windows XP systems (there is currently no Linux version of the PCI card device drivers).
The ITL also provides a version of AzCamTool, a LabView GUI application with the camera systems. This is available on both Windows and Linux versions, but requires the LabView runtime engine to execute.
To provide a general interface for the purposes of using an AzCam server-operated CCD camera with the current OSU Astronomy Department data-acquisition systems, we developed this C-language application programming interface (API) for AzCam. The features implemented in this API are more fully described in the AzCam Programmers Reference Manual available from the AzCam website.
server.c - Server Control and Database Functions
image.c - Image Writing Functions
exposure.c - Exposure and Detector Control Functions
ccdtemp.c - Temperature Control Functions
azcamutils.c - Additional Utility Functions
iosubs.c - TCP socket routines providing a common
communication layer
azcam.h - API header file
The API functions encapsulate most of the basic functions of the AzCam server, hiding the socket communications layer beneath the API layer functions, and which know how to process any status returns from the commands into data members of the azcam struct, or returned as data to the calling application. Most API function names recapitulate single AzCam server commands, while others are "meta" commands that incorporate one or more functions. Not all AzCam server functions have their own API routines, for example, the ARC Controller commands are accessed via the ARCCommand() function. Defined parameters are provided to give "macro" versions of all AzCam server numerical codes, making programming more straightforward.
The iosubs.c functions provide the TCP socket communications layer, providing commands for initializing and closing a socket connection, read, writing, and handling command transmission, including communication timeout handling.
The main camera parameters are stored in an instance of an azcam struct which provide all of the information needed to interact with the server, and carries all of the basic camera parameters.
2005 May 6 - initial development [rwp/osu] 2005 May 13 - first field-test version [rwp/osu] 2005 May 17 - final organization of the API [rwp/osu]
1.4.2