Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

ccdLcuInternal.h File Reference

#include "vxWorks.h"
#include "envLib.h"
#include "ioLib.h"
#include "math.h"
#include "semLib.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "sysLib.h"
#include "taskLib.h"
#include "tickLib.h"
#include "vxLib.h"
#include "ctype.h"
#include "usrLib.h"
#include "errnoLib.h"
#include "ccdInternal.h"
#include "too.h"
#include "lccTaskLib.h"

Include dependency graph for ccdLcuInternal.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Compounds

struct  ccdFIS
struct  ccdHWDESC
struct  ccdSUBSYS
struct  ccdTELESTAT
struct  ccdTEMPSTAT
struct  ccdTIMES
struct  ccdTIMRQST
struct  ccdTIMDESC
struct  ccdDESCRIPTION
struct  ccdIMAGELIST
struct  ccdImageBuffer
struct  ccdNFSFITSIMAGE

Defines

#define ccdACE_B016_DRV   "/bxvi00"
#define ccdACE_ARC0_DRV   "/arcdrv0"
#define ccdACE_ARC1_DRV   "/arcdrv1"
#define ccdTASK_FLAGS   (VX_FP_TASK)
#define ccdTASK_STACK_30K   30000
#define ccdTASK_STACK_40K   40000
#define ccdTASK_STACK_50K   50000
#define ccdTASK_STACK_80K   80000
#define ccdTASK_STACK_SRV   ccdTASK_STACK_50K
#define ccdTASK_STACK_SML   ccdTASK_STACK_30K
#define ccdTASK_STACK_ACT   ccdTASK_STACK_40K
#define ccdTASK_STACK_BIG   ccdTASK_STACK_50K
#define ccdTASK_STACK_XXL   ccdTASK_STACK_80K
#define ccdTASK_STACK_TIME   ccdTASK_STACK_SML
#define ccdTASK_STACK_CTRL   ccdTASK_STACK_BIG
#define ccdTASK_STACK_READ   ccdTASK_STACK_ACT
#define ccdTASK_STACK_WIPE   ccdTASK_STACK_SML
#define ccdTASK_STACK_SHUT   ccdTASK_STACK_ACT
#define ccdTASK_STACK_TRAN   ccdTASK_STACK_XXL
#define ccdTASK_STACK_PROC   ccdTASK_STACK_ACT
#define ccdTASK_STACK_TELE   ccdTASK_STACK_SML
#define ccdTASK_STACK_TEMP   ccdTASK_STACK_SML
#define ccdMOD_NAME_CON   "ccdcon"
#define ccdMOD_NAME_IT   "ccdit"
#define ccdMOD_NAME_IP   "ccdip"
#define ccdMOD_NAME_RDT   "ccdrdt"
#define ccdMOD_NAME_SHT   "ccdsht"
#define ccdMOD_NAME_TEL   "ccdtel"
#define ccdMOD_NAME_TMP   "ccdtmp"
#define ccdMOD_NAME_AUX   "ccdaux"
#define ccdFUNC_MAIN_FMT   "_%sMainTask"
#define ccdFUNC_NAME_SRV_FMT   "_%sStartServer"
#define ccdTASK_NAME_SRV_FMT   "%s_%s"
#define ccdTASK_NAME_TIM_FMT   "ccdTim_%s"
#define ccdTASK_NAME_WIP_FMT   "%sWip_%s"
#define ccdTASK_NAME_MON_FMT   "%sMon_%s"
#define ccdCITASK_REGISTER(brkHdlr, kilHdlr, priority)
#define ccdSTARTUP_TIMEOUT   6000
#define ccdSYNC_TIMEOUT   500
#define ccdUS_TO_TICKS(m)   ((m) / 10000)
#define ccdMS_TO_TICKS(m)   ((m) / 10)
#define ccdTICKS_TO_MS(t)   ((t) * 10)
#define ccdENV_CPU   "CPU"
#define ccdENV_CCDNAME   "CCDNAME"
#define ccdENV_LOCALENV   "LOCALENV"
#define ccdENV_INSROOT   "INS_ROOT"
#define ccdENV_INSHOST   "INS_HOST"
#define ccdENV_INSUSER   "INS_USER"
#define ccdDIR_CONFIG_FMT   "%s/%s/COMMON/CONFIGFILES"
#define ccdDIR_BINARY_FMT   "vw/bin/%s/%s"
#define ccdSTATUS_FMT   "opMode %d,opState %d,status %d"
#define ccdDBCFG_FMT   "%s.dbcfg"
#define ccdDBCFG_CWP_FMT   "%s=@%s<alias>%s"
#define ccdDBCFG_DCS_FIXED   "ccdDcsFixed"
#define ccdDBCFG_CWP   "<CWP>: "
#define ccdTIMER_SLEEP_OVERHEAD   200
#define ccdONE_SECOND_EXPTIME   1000000
#define ccdFRAME_BASEBIAS   "bias"
#define ccdFRAME_BASEDARK   "dark"
#define ccdFRAME_BASEFLAT   "flat"
#define ccdFRAME_FITSFMT   "%s/%s_%s.fits"
#define ccdJDToSec(jd)   ((vltDOUBLE)(jd) * 86400.0)
#define ccdSecToJD(s)   ((vltDOUBLE)(s) / 86400.0)
#define ccdUTCtoSec(utc)   (vltDOUBLE)((double)((utc)->tv_sec) + (double)((utc)->tv_usec) / 1e6)
#define ccdUTCtoUSec(utc)   (vltINT32)(1000000 * (utc)->tv_sec + (utc)->tv_usec)
#define ccdSecToUTC(sec, utc)
#define ccdAddSecToUTC(sec, utc)
#define ccdSubSecFromUTC(sec, utc)
#define ccdTEL_CLOCK_FMT   "CLOCK_%d_%c"
#define ccdTEL_CLOCK_LOW   'L'
#define ccdTEL_CLOCK_HIGH   'H'
#define ccdTEL_BIAS_FMT   "BIAS_%d"
#define ccdTMP_CHIP_FMT   "CHIP_%d"
#define ccdTMP_HOUSE_FMT   "HOUSE_%d"
#define ccdEVT_EXPIRED   1
#define ccdEVT_ENDED   2
#define ccdEVT_ABORTED   4
#define ccdEVT_PAUSED   8
#define ccdEVT_CONTINUED   16
#define ccdEVT_ERROR   32
#define ccdEVT_STOP   256
#define ccdDB_RETRY_COUNT   1
#define ccdDB_RETRY_DELAY   0
#define ccdDB_OPSTATE   0
#define ccdDB_FAILURE   1
#define ccdDB_INITDONE   2
#define ccdDB_IMG_LST   3
#define ccdDB_IMG_DIR   4
#define ccdCMD_WAIT_NONE   1
#define ccdCMD_WAIT_ONCE   2
#define ccdCMD_WAIT_LAST   3
#define ccdProtectTimes(desc)   semTake(desc->times.updateSem,2)
#define ccdUnProtectTimes(desc)   semGive(desc->times.updateSem)
#define ccdEVT_IMAGE_OK   0x01
#define ccdEVT_IMAGE_ERR   0x02
#define ccdEVT_IMAGE_LAST   0x04
#define ccdDBPACK(t, s, b)   ccdDbAlign(t,ccsTRUE, s,b)
#define ccdUNPACK(t, b, s)   ccdDbAlign(t,ccsFALSE,s,b)
#define _ccd_tostr(a)   #a
#define _ccd_tostr_pass2(a)   _ccd_tostr(a)
#define __FILE_LINE__   __FILE__ ":" _ccd_tostr_pass2(__LINE__)
#define ccdERR_ADD(errNum, params...)   errAdd(error,ccdMODULE,errNum,__FILE_LINE__,"",##params)
#define ccdERR_RETURN(errNum, params...)

Typedefs

typedef ccdImageBuffer ccdIMAGEBUFFER

Enumerations

enum  ccdMOD_INDEX {
  ccdMOD_INDEX_CON = 0, ccdMOD_INDEX_IT, ccdMOD_INDEX_IP, ccdMOD_INDEX_RDT,
  ccdMOD_INDEX_SHT, ccdMOD_INDEX_TEL, ccdMOD_INDEX_TMP, ccdMOD_INDEX_AUX,
  ccdMAXSUBSYS
}
enum  ccdCCD_TYPE { ccdCCD_SCI = 0, ccdCCD_TEC }
enum  ccdFRM_ACQ_TYPE { ccdFRM_ACQ_NORM = 0, ccdFRM_ACQ_FILE, ccdFRM_ACQ_SIMU }
enum  ccdFRM_STO_TYPE {
  ccdFRM_STO_NORM = ccdFRM_NORMAL, ccdFRM_STO_BIAS = ccdFRM_BIAS, ccdFRM_STO_DARK = ccdFRM_DARK, ccdFRM_STO_FLAT = ccdFRM_FLAT,
  ccdFRM_STO_TEMP, ccdFRM_STO_SIMU, ccdMAXFRMSTOTYPE
}

Functions

void ccdVersion (void)
void ccdCompiledDate (const char *date, const char *time, char *comp)
void ccdModuleVersion (const char *rev, const char *mod, const char *txt, const char *cmp, char *version)
void ccdModuleVersionDCL (const char *prefix)
ccsCOMPL_STAT ccdconStartupCamera (char *parStr)
STATUS ccdKill (char *taskNamePart)
void ccdShowSetup (ccdSETUP *setup)
void ccdPrintConfig (const char *camera, const ccdCONFIG *config)
ccsCOMPL_STAT ccdSwitchAce (char mode)
ccsCOMPL_STAT ccdTestAce (void)
ccsCOMPL_STAT ccdCheckAceDriver (char *channel, ccsERROR *error)
ccsCOMPL_STAT ccdCheckLcuAceCom (char *channel, ccsERROR *error)
ccsCOMPL_STAT ccdCheckId (vltINT32 id)
ccsCOMPL_STAT ccdSetOpState (ccdDESCRIPTION *ccdDesc, vltINT32 opState, ccsERROR *error)
ccsCOMPL_STAT ccdInstall (char *parStr, ccdDESCRIPTION **pccdDesc, ccsERROR *error)
ccsCOMPL_STAT ccdDeinstall (ccdDESCRIPTION *ccdDesc, ccsERROR *error)
ccsCOMPL_STAT ccdStartSystem (ccdDESCRIPTION *ccdDesc, char *module, ccsERROR *error)
ccsCOMPL_STAT ccdStartServer (ccdDESCRIPTION *ccdDesc, int module, vltINT32 priority, ccsERROR *error)
void ccdParseRunString (char *runStr, char *ccdName, char *insHost, char *insRoot, char *insUser)
ccsCOMPL_STAT ccdShutdown (ccdDESCRIPTION *ccdDesc, char *module, ccsERROR *error)
ccsCOMPL_STAT ccdReadAttr (char *ccdName, const dbSYMADDRESS attrName, void *buffer, ccsERROR *error)
ccsCOMPL_STAT ccdWriteAttr (char *ccdName, const dbSYMADDRESS attrName, void *buffer, ccsERROR *error)
ccsCOMPL_STAT ccdInitDb (vltBYTES20 camera, vltBYTES20 lcu, ccsERROR *error)
ccsCOMPL_STAT ccdCreaImBuf (ccdDESCRIPTION *ccdDesc, ccdSETUP *setup, vltINT32 expId, vltINT32 dataType, vltINT32 storageType, vltINT32 *imageId, ccsERROR *error)
ccsCOMPL_STAT ccdDumpImBuf (ccdDESCRIPTION *ccdDesc, vltINT32 imageId, char *fileName, ccsERROR *error)
ccsCOMPL_STAT ccdFindImBuf (ccdDESCRIPTION *ccdDesc, vltINT32 expId, vltINT32 dataType, vltINT32 storageType, vltINT32 *imageId, ccsERROR *error)
ccsCOMPL_STAT ccdFreeImBuf (ccdDESCRIPTION *ccdDesc, vltINT32 imageId, vltLOGICAL force, ccsERROR *error)
ccsCOMPL_STAT ccdListImBuf (ccdDESCRIPTION *ccdDesc, vltINT32 dataType, vltINT32 storageType, ccdIMAGELIST **imgList, ccsERROR *error)
ccsCOMPL_STAT ccdLoadImBuf (ccdDESCRIPTION *ccdDesc, char *fileName, vltINT32 storageType, vltINT32 *imageId, ccsERROR *error)
ccsCOMPL_STAT ccdOpenFits (ccdNFSFITSIMAGE *desc, ccsERROR *error)
ccsCOMPL_STAT ccdCreaFits (ccdNFSFITSIMAGE *desc, ccsERROR *error)
ccsCOMPL_STAT ccdReadFitsHeader (ccdNFSFITSIMAGE *desc, ccsERROR *error)
ccsCOMPL_STAT ccdReadFitsData (ccdNFSFITSIMAGE *desc, ccsERROR *error)
ccsCOMPL_STAT ccdReadFitsTrailer (ccdNFSFITSIMAGE *desc, ccsERROR *error)
ccsCOMPL_STAT ccdWriteFitsHeader (ccdNFSFITSIMAGE *desc, ccsERROR *error)
ccsCOMPL_STAT ccdWriteFitsData (ccdNFSFITSIMAGE *desc, ccsERROR *error)
ccsCOMPL_STAT ccdWriteFitsTrailer (ccdNFSFITSIMAGE *desc, ccsERROR *error)
ccsCOMPL_STAT ccdWriteFitsDataBlock (ccdNFSFITSIMAGE *desc, void *pData, int len, ccsERROR *error)
ccsCOMPL_STAT ccdCloseFits (ccdNFSFITSIMAGE *desc, ccsERROR *error)
ccsCOMPL_STAT ccdSetFailure (ccdDESCRIPTION *ccdDesc, ccsERROR *error)
ccsCOMPL_STAT ccdResetFailure (ccdDESCRIPTION *ccdDesc, ccsERROR *error)
ccsCOMPL_STAT ccdEnvVarChk (char *camera, ccsERROR *error)
ccsCOMPL_STAT ccdEnvVarDel (ccdDESCRIPTION *ccdDesc, ccsERROR *error)
ccsCOMPL_STAT ccdEnvVarGet (ccdDESCRIPTION **pccdDesc, ccsERROR *error)
ccsCOMPL_STAT ccdEnvVarSet (ccdDESCRIPTION *ccdDesc, ccsERROR *error)
ccsCOMPL_STAT ccdGetDescriptor (const char *camera, ccdDESCRIPTION **pCcdDesc, ccsERROR *error)
ccsCOMPL_STAT ccdCheckDescriptor (ccdDESCRIPTION *ccdDesc, ccsERROR *error)
ccsCOMPL_STAT ccdCreaFis (ccdFIS *fis, vltINT32 timeout, ccsERROR *error)
ccsCOMPL_STAT ccdCheckFisCmd (ccdFIS *fis, vltINT32 cmd, vltLOGICAL wait, vltLOGICAL *got, ccsERROR *error)
ccsCOMPL_STAT ccdFreeFis (ccdFIS *fis, ccsERROR *error)
ccsCOMPL_STAT ccdResetFis (ccdFIS *fis, ccsERROR *error)
ccsCOMPL_STAT ccdSendFisCmd (ccdFIS *fis, vltINT32 cmd, vltLOGICAL wait, ccsERROR *error)
ccsCOMPL_STAT ccdSendFisReply (ccdFIS *fis, vltINT32 reply, ccsERROR *error)
ccsCOMPL_STAT ccdSetFisTimeout (ccdFIS *fis, vltINT32 timeout, ccsERROR *error)
ccsCOMPL_STAT ccdWaitFisReply (ccdFIS *fis, ccsERROR *error)
ccsCOMPL_STAT ccdStoreTime (char *attrTable, int attrIndex, ccsTIMEVAL *startTime, vltDOUBLE *duration, ccsERROR *error)
ccsCOMPL_STAT ccdSendCmdAck (msgMSG *msg, ccsERROR *error)
ccsCOMPL_STAT ccdSendCmdAll (const msgCMD command, const char *params, ccdDESCRIPTION *ccdDesc, ccsERROR *error)
ccsCOMPL_STAT ccdSendCmd (ccsPROCNAME dest, const msgCMD command, const char *params, char *reply, ccdDESCRIPTION *ccdDesc, vltINT32 waitMode, ccsERROR *error)
ccsCOMPL_STAT ccdWaitReply (ccsPROCNAME dest, vltINT32 timeout, char *reply, vltLOGICAL *lastReply, vltLOGICAL *errReply, ccsERROR *error)
vltINT32 ccdGetNextExpId (vltINT32 expId, vltINT32 expIndex)
vltINT32 ccdGetPrevExpId (vltINT32 expId, vltINT32 expIndex)
ccsCOMPL_STAT ccdTimerSleep (vltINT32 us, ccsERROR *error)
ccsCOMPL_STAT ccdStartTimerTask (ccdDESCRIPTION *ccdDesc, ccsERROR *error)
ccsCOMPL_STAT ccdStopTimerTask (ccdDESCRIPTION *ccdDesc, ccsERROR *error)
ccsCOMPL_STAT ccdTimerReqActive (ccdDESCRIPTION *ccdDesc, vltINT32 rid, ccsERROR *error)
ccsCOMPL_STAT ccdTimerReqCreate (ccdDESCRIPTION *ccdDesc, ccsTIMEVAL *utc, ccsTIMEVAL *per, vltINT32 cnt, vltINT32 *rid, ccsERROR *error)
ccsCOMPL_STAT ccdTimerReqDelete (ccdDESCRIPTION *ccdDesc, vltINT32 rid, ccsERROR *error)
ccsCOMPL_STAT ccdTimerReqUpdate (ccdDESCRIPTION *ccdDesc, vltINT32 rid, ccsTIMEVAL *utc, ccsTIMEVAL *per, vltINT32 cnt, ccsERROR *error)
ccsCOMPL_STAT ccdWaitTimerDue (ccdDESCRIPTION *ccdDesc, vltINT32 rid, ccsERROR *error)
ccsCOMPL_STAT ccdTimerReqRelease (ccdDESCRIPTION *ccdDesc, vltINT32 rid, ccsERROR *error)
void ccdPrintTimer (ccdDESCRIPTION *ccdDesc)
ccsCOMPL_STAT ccdDecodeIsoTime (char *str, ccsTIMEVAL *utc, ccsERROR *err)
void ccdDbAlign (const char *type, vltLOGICAL pack, void *s, char *b)

Variables

vltBYTES32 ccdDoFitsConfLog
vltINT32 ccdDebugLevel
int ccdCmdInitTimeout


Define Documentation

#define ccdACE_B016_DRV   "/bxvi00"
 

#define ccdACE_ARC0_DRV   "/arcdrv0"
 

#define ccdACE_ARC1_DRV   "/arcdrv1"
 

#define ccdTASK_FLAGS   (VX_FP_TASK)
 

#define ccdTASK_STACK_30K   30000
 

#define ccdTASK_STACK_40K   40000
 

#define ccdTASK_STACK_50K   50000
 

#define ccdTASK_STACK_80K   80000
 

#define ccdTASK_STACK_SRV   ccdTASK_STACK_50K
 

#define ccdTASK_STACK_SML   ccdTASK_STACK_30K
 

#define ccdTASK_STACK_ACT   ccdTASK_STACK_40K
 

#define ccdTASK_STACK_BIG   ccdTASK_STACK_50K
 

#define ccdTASK_STACK_XXL   ccdTASK_STACK_80K
 

#define ccdTASK_STACK_TIME   ccdTASK_STACK_SML
 

#define ccdTASK_STACK_CTRL   ccdTASK_STACK_BIG
 

#define ccdTASK_STACK_READ   ccdTASK_STACK_ACT
 

#define ccdTASK_STACK_WIPE   ccdTASK_STACK_SML
 

#define ccdTASK_STACK_SHUT   ccdTASK_STACK_ACT
 

#define ccdTASK_STACK_TRAN   ccdTASK_STACK_XXL
 

#define ccdTASK_STACK_PROC   ccdTASK_STACK_ACT
 

#define ccdTASK_STACK_TELE   ccdTASK_STACK_SML
 

#define ccdTASK_STACK_TEMP   ccdTASK_STACK_SML
 

#define ccdMOD_NAME_CON   "ccdcon"
 

#define ccdMOD_NAME_IT   "ccdit"
 

#define ccdMOD_NAME_IP   "ccdip"
 

#define ccdMOD_NAME_RDT   "ccdrdt"
 

#define ccdMOD_NAME_SHT   "ccdsht"
 

#define ccdMOD_NAME_TEL   "ccdtel"
 

#define ccdMOD_NAME_TMP   "ccdtmp"
 

#define ccdMOD_NAME_AUX   "ccdaux"
 

#define ccdFUNC_MAIN_FMT   "_%sMainTask"
 

#define ccdFUNC_NAME_SRV_FMT   "_%sStartServer"
 

#define ccdTASK_NAME_SRV_FMT   "%s_%s"
 

#define ccdTASK_NAME_TIM_FMT   "ccdTim_%s"
 

#define ccdTASK_NAME_WIP_FMT   "%sWip_%s"
 

#define ccdTASK_NAME_MON_FMT   "%sMon_%s"
 

#define ccdCITASK_REGISTER brkHdlr,
kilHdlr,
priority   
 

Value:

{                                           \
  char        vxProcName[7];                  \
  ccsPROCNAME ccsProcName;                    \
                                              \
  taskPrioritySet(taskIdSelf(),priority);     \
                                            \
  strncpy(vxProcName,taskName(taskIdSelf()),7);                        \
  vxProcName[7] = 0;                                                   \
  sprintf(ccsProcName,"%s%x",vxProcName,taskIdSelf());                 \
  if (ccsInit(ccsProcName,0,brkHdlr,kilHdlr,error) != SUCCESS)         \
    { errAdd(error,ccdMODULE,ccdERR_LCC_CALL,__FILE__,"%s","ccsInit"); \
      return FAILURE; }                                                \
  }

#define ccdSTARTUP_TIMEOUT   6000
 

#define ccdSYNC_TIMEOUT   500
 

#define ccdUS_TO_TICKS      ((m) / 10000)
 

#define ccdMS_TO_TICKS      ((m) / 10)
 

#define ccdTICKS_TO_MS      ((t) * 10)
 

#define ccdENV_CPU   "CPU"
 

#define ccdENV_CCDNAME   "CCDNAME"
 

#define ccdENV_LOCALENV   "LOCALENV"
 

#define ccdENV_INSROOT   "INS_ROOT"
 

#define ccdENV_INSHOST   "INS_HOST"
 

#define ccdENV_INSUSER   "INS_USER"
 

#define ccdDIR_CONFIG_FMT   "%s/%s/COMMON/CONFIGFILES"
 

#define ccdDIR_BINARY_FMT   "vw/bin/%s/%s"
 

#define ccdSTATUS_FMT   "opMode %d,opState %d,status %d"
 

#define ccdDBCFG_FMT   "%s.dbcfg"
 

#define ccdDBCFG_CWP_FMT   "%s=@%s<alias>%s"
 

#define ccdDBCFG_DCS_FIXED   "ccdDcsFixed"
 

#define ccdDBCFG_CWP   "<CWP>: "
 

#define ccdTIMER_SLEEP_OVERHEAD   200
 

#define ccdONE_SECOND_EXPTIME   1000000
 

#define ccdFRAME_BASEBIAS   "bias"
 

#define ccdFRAME_BASEDARK   "dark"
 

#define ccdFRAME_BASEFLAT   "flat"
 

#define ccdFRAME_FITSFMT   "%s/%s_%s.fits"
 

#define ccdJDToSec jd       ((vltDOUBLE)(jd) * 86400.0)
 

#define ccdSecToJD      ((vltDOUBLE)(s) / 86400.0)
 

#define ccdUTCtoSec utc       (vltDOUBLE)((double)((utc)->tv_sec) + (double)((utc)->tv_usec) / 1e6)
 

#define ccdUTCtoUSec utc       (vltINT32)(1000000 * (utc)->tv_sec + (utc)->tv_usec)
 

#define ccdSecToUTC sec,
utc   
 

Value:

(utc)->tv_sec = (int)(sec); \
    (utc)->tv_usec = (int)(((sec) - (utc)->tv_sec) * 1e6)

#define ccdAddSecToUTC sec,
utc   
 

Value:

{ int s,us; s = (int)(sec); us = ((sec) - s) * 1000000; \
      (utc)->tv_sec += s; (utc)->tv_usec += us;     \
      while ((utc)->tv_usec >= 1000000)              \
        { (utc)->tv_usec -= 1000000; (utc)->tv_sec++; }}

#define ccdSubSecFromUTC sec,
utc   
 

Value:

{ int s,us; s = (int)(sec); us = ((sec) - s) * 1000000; \
      (utc)->tv_sec -= s; (utc)->tv_usec -= us;     \
      while ((utc)->tv_usec < 0)                    \
        { (utc)->tv_usec += 1000000; (utc)->tv_sec--; }}

#define ccdTEL_CLOCK_FMT   "CLOCK_%d_%c"
 

#define ccdTEL_CLOCK_LOW   'L'
 

#define ccdTEL_CLOCK_HIGH   'H'
 

#define ccdTEL_BIAS_FMT   "BIAS_%d"
 

#define ccdTMP_CHIP_FMT   "CHIP_%d"
 

#define ccdTMP_HOUSE_FMT   "HOUSE_%d"
 

#define ccdEVT_EXPIRED   1
 

#define ccdEVT_ENDED   2
 

#define ccdEVT_ABORTED   4
 

#define ccdEVT_PAUSED   8
 

#define ccdEVT_CONTINUED   16
 

#define ccdEVT_ERROR   32
 

#define ccdEVT_STOP   256
 

#define ccdDB_RETRY_COUNT   1
 

#define ccdDB_RETRY_DELAY   0
 

#define ccdDB_OPSTATE   0
 

#define ccdDB_FAILURE   1
 

#define ccdDB_INITDONE   2
 

#define ccdDB_IMG_LST   3
 

#define ccdDB_IMG_DIR   4
 

#define ccdCMD_WAIT_NONE   1
 

#define ccdCMD_WAIT_ONCE   2
 

#define ccdCMD_WAIT_LAST   3
 

#define ccdProtectTimes desc       semTake(desc->times.updateSem,2)
 

#define ccdUnProtectTimes desc       semGive(desc->times.updateSem)
 

#define ccdEVT_IMAGE_OK   0x01
 

#define ccdEVT_IMAGE_ERR   0x02
 

#define ccdEVT_IMAGE_LAST   0x04
 

#define ccdDBPACK t,
s,
     ccdDbAlign(t,ccsTRUE, s,b)
 

#define ccdUNPACK t,
b,
     ccdDbAlign(t,ccsFALSE,s,b)
 

#define _ccd_tostr      #a
 

#define _ccd_tostr_pass2      _ccd_tostr(a)
 

#define __FILE_LINE__   __FILE__ ":" _ccd_tostr_pass2(__LINE__)
 

#define ccdERR_ADD errNum,
params...       errAdd(error,ccdMODULE,errNum,__FILE_LINE__,"",##params)
 

#define ccdERR_RETURN errNum,
params...   
 

Value:

{ \
    errAdd(error,ccdMODULE,errNum,__FILE_LINE__,"",##params); \
    return FAILURE; \
    }


Typedef Documentation

typedef struct ccdImageBuffer ccdIMAGEBUFFER
 


Enumeration Type Documentation

enum ccdMOD_INDEX
 

Enumeration values:
ccdMOD_INDEX_CON 
ccdMOD_INDEX_IT 
ccdMOD_INDEX_IP 
ccdMOD_INDEX_RDT 
ccdMOD_INDEX_SHT 
ccdMOD_INDEX_TEL 
ccdMOD_INDEX_TMP 
ccdMOD_INDEX_AUX 
ccdMAXSUBSYS 

enum ccdCCD_TYPE
 

Enumeration values:
ccdCCD_SCI 
ccdCCD_TEC 

enum ccdFRM_ACQ_TYPE
 

Enumeration values:
ccdFRM_ACQ_NORM 
ccdFRM_ACQ_FILE 
ccdFRM_ACQ_SIMU 

enum ccdFRM_STO_TYPE
 

Enumeration values:
ccdFRM_STO_NORM 
ccdFRM_STO_BIAS 
ccdFRM_STO_DARK 
ccdFRM_STO_FLAT 
ccdFRM_STO_TEMP 
ccdFRM_STO_SIMU 
ccdMAXFRMSTOTYPE 


Function Documentation

void ccdVersion void   
 

void ccdCompiledDate const char *    date,
const char *    time,
char *    comp
 

void ccdModuleVersion const char *    rev,
const char *    mod,
const char *    txt,
const char *    cmp,
char *    version
 

void ccdModuleVersionDCL const char *    prefix
 

ccsCOMPL_STAT ccdconStartupCamera char *    parStr
 

STATUS ccdKill char *    taskNamePart
 

void ccdShowSetup ccdSETUP   setup
 

void ccdPrintConfig const char *    camera,
const ccdCONFIG   config
 

ccsCOMPL_STAT ccdSwitchAce char    mode
 

ccsCOMPL_STAT ccdTestAce void   
 

ccsCOMPL_STAT ccdCheckAceDriver char *    channel,
ccsERROR *    error
 

ccsCOMPL_STAT ccdCheckLcuAceCom char *    channel,
ccsERROR *    error
 

ccsCOMPL_STAT ccdCheckId vltINT32    id
 

ccsCOMPL_STAT ccdSetOpState ccdDESCRIPTION   ccdDesc,
vltINT32    opState,
ccsERROR *    error
 

ccsCOMPL_STAT ccdInstall char *    parStr,
ccdDESCRIPTION **    pccdDesc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdDeinstall ccdDESCRIPTION   ccdDesc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdStartSystem ccdDESCRIPTION   ccdDesc,
char *    module,
ccsERROR *    error
 

ccsCOMPL_STAT ccdStartServer ccdDESCRIPTION   ccdDesc,
int    module,
vltINT32    priority,
ccsERROR *    error
 

void ccdParseRunString char *    runStr,
char *    ccdName,
char *    insHost,
char *    insRoot,
char *    insUser
 

ccsCOMPL_STAT ccdShutdown ccdDESCRIPTION   ccdDesc,
char *    module,
ccsERROR *    error
 

ccsCOMPL_STAT ccdReadAttr char *    ccdName,
const dbSYMADDRESS    attrName,
void *    buffer,
ccsERROR *    error
 

ccsCOMPL_STAT ccdWriteAttr char *    ccdName,
const dbSYMADDRESS    attrName,
void *    buffer,
ccsERROR *    error
 

ccsCOMPL_STAT ccdInitDb vltBYTES20    camera,
vltBYTES20    lcu,
ccsERROR *    error
 

ccsCOMPL_STAT ccdCreaImBuf ccdDESCRIPTION   ccdDesc,
ccdSETUP   setup,
vltINT32    expId,
vltINT32    dataType,
vltINT32    storageType,
vltINT32 *    imageId,
ccsERROR *    error
 

ccsCOMPL_STAT ccdDumpImBuf ccdDESCRIPTION   ccdDesc,
vltINT32    imageId,
char *    fileName,
ccsERROR *    error
 

ccsCOMPL_STAT ccdFindImBuf ccdDESCRIPTION   ccdDesc,
vltINT32    expId,
vltINT32    dataType,
vltINT32    storageType,
vltINT32 *    imageId,
ccsERROR *    error
 

ccsCOMPL_STAT ccdFreeImBuf ccdDESCRIPTION   ccdDesc,
vltINT32    imageId,
vltLOGICAL    force,
ccsERROR *    error
 

ccsCOMPL_STAT ccdListImBuf ccdDESCRIPTION   ccdDesc,
vltINT32    dataType,
vltINT32    storageType,
ccdIMAGELIST **    imgList,
ccsERROR *    error
 

ccsCOMPL_STAT ccdLoadImBuf ccdDESCRIPTION   ccdDesc,
char *    fileName,
vltINT32    storageType,
vltINT32 *    imageId,
ccsERROR *    error
 

ccsCOMPL_STAT ccdOpenFits ccdNFSFITSIMAGE   desc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdCreaFits ccdNFSFITSIMAGE   desc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdReadFitsHeader ccdNFSFITSIMAGE   desc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdReadFitsData ccdNFSFITSIMAGE   desc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdReadFitsTrailer ccdNFSFITSIMAGE   desc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdWriteFitsHeader ccdNFSFITSIMAGE   desc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdWriteFitsData ccdNFSFITSIMAGE   desc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdWriteFitsTrailer ccdNFSFITSIMAGE   desc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdWriteFitsDataBlock ccdNFSFITSIMAGE   desc,
void *    pData,
int    len,
ccsERROR *    error
 

ccsCOMPL_STAT ccdCloseFits ccdNFSFITSIMAGE   desc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdSetFailure ccdDESCRIPTION   ccdDesc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdResetFailure ccdDESCRIPTION   ccdDesc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdEnvVarChk char *    camera,
ccsERROR *    error
 

ccsCOMPL_STAT ccdEnvVarDel ccdDESCRIPTION   ccdDesc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdEnvVarGet ccdDESCRIPTION **    pccdDesc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdEnvVarSet ccdDESCRIPTION   ccdDesc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdGetDescriptor const char *    camera,
ccdDESCRIPTION **    pCcdDesc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdCheckDescriptor ccdDESCRIPTION   ccdDesc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdCreaFis ccdFIS   fis,
vltINT32    timeout,
ccsERROR *    error
 

ccsCOMPL_STAT ccdCheckFisCmd ccdFIS   fis,
vltINT32    cmd,
vltLOGICAL    wait,
vltLOGICAL *    got,
ccsERROR *    error
 

ccsCOMPL_STAT ccdFreeFis ccdFIS   fis,
ccsERROR *    error
 

ccsCOMPL_STAT ccdResetFis ccdFIS   fis,
ccsERROR *    error
 

ccsCOMPL_STAT ccdSendFisCmd ccdFIS   fis,
vltINT32    cmd,
vltLOGICAL    wait,
ccsERROR *    error
 

ccsCOMPL_STAT ccdSendFisReply ccdFIS   fis,
vltINT32    reply,
ccsERROR *    error
 

ccsCOMPL_STAT ccdSetFisTimeout ccdFIS   fis,
vltINT32    timeout,
ccsERROR *    error
 

ccsCOMPL_STAT ccdWaitFisReply ccdFIS   fis,
ccsERROR *    error
 

ccsCOMPL_STAT ccdStoreTime char *    attrTable,
int    attrIndex,
ccsTIMEVAL *    startTime,
vltDOUBLE *    duration,
ccsERROR *    error
 

ccsCOMPL_STAT ccdSendCmdAck msgMSG *    msg,
ccsERROR *    error
 

ccsCOMPL_STAT ccdSendCmdAll const msgCMD    command,
const char *    params,
ccdDESCRIPTION   ccdDesc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdSendCmd ccsPROCNAME    dest,
const msgCMD    command,
const char *    params,
char *    reply,
ccdDESCRIPTION   ccdDesc,
vltINT32    waitMode,
ccsERROR *    error
 

ccsCOMPL_STAT ccdWaitReply ccsPROCNAME    dest,
vltINT32    timeout,
char *    reply,
vltLOGICAL *    lastReply,
vltLOGICAL *    errReply,
ccsERROR *    error
 

vltINT32 ccdGetNextExpId vltINT32    expId,
vltINT32    expIndex
 

vltINT32 ccdGetPrevExpId vltINT32    expId,
vltINT32    expIndex
 

ccsCOMPL_STAT ccdTimerSleep vltINT32    us,
ccsERROR *    error
 

ccsCOMPL_STAT ccdStartTimerTask ccdDESCRIPTION   ccdDesc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdStopTimerTask ccdDESCRIPTION   ccdDesc,
ccsERROR *    error
 

ccsCOMPL_STAT ccdTimerReqActive ccdDESCRIPTION   ccdDesc,
vltINT32    rid,
ccsERROR *    error
 

ccsCOMPL_STAT ccdTimerReqCreate ccdDESCRIPTION   ccdDesc,
ccsTIMEVAL *    utc,
ccsTIMEVAL *    per,
vltINT32    cnt,
vltINT32 *    rid,
ccsERROR *    error
 

ccsCOMPL_STAT ccdTimerReqDelete ccdDESCRIPTION   ccdDesc,
vltINT32    rid,
ccsERROR *    error
 

ccsCOMPL_STAT ccdTimerReqUpdate ccdDESCRIPTION   ccdDesc,
vltINT32    rid,
ccsTIMEVAL *    utc,
ccsTIMEVAL *    per,
vltINT32    cnt,
ccsERROR *    error
 

ccsCOMPL_STAT ccdWaitTimerDue ccdDESCRIPTION   ccdDesc,
vltINT32    rid,
ccsERROR *    error
 

ccsCOMPL_STAT ccdTimerReqRelease ccdDESCRIPTION   ccdDesc,
vltINT32    rid,
ccsERROR *    error
 

void ccdPrintTimer ccdDESCRIPTION   ccdDesc
 

ccsCOMPL_STAT ccdDecodeIsoTime char *    str,
ccsTIMEVAL *    utc,
ccsERROR *    err
 

void ccdDbAlign const char *    type,
vltLOGICAL    pack,
void *    s,
char *    b
 


Variable Documentation

vltBYTES32 ccdDoFitsConfLog
 

vltINT32 ccdDebugLevel
 

int ccdCmdInitTimeout
 


Generated on Wed Dec 3 14:54:16 2003 for ATCS API by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001