Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages

fxnProto_sct.h

00001 #ifndef SCT_FXN_PROTOS_H     /* multiple inclusion protection */
00002 #define SCT_FXN_PROTOS_H
00003 
00004 #include "processor.h"
00005 #include "ABCDchip.h"
00006 #include "sctStructure.h"
00007 
00008 #if defined(I_AM_MASTER_DSP)
00009     /* serialStreams_sct.c: */
00010     INT32 sendConfigSet(UINT8 sp, UINT8 modIn[2], UINT8 chip, UINT8 loop,
00011                         UINT8 setLinks, UINT8 cfgSet, UINT8 groupId,
00012                         UINT32 dataType, UINT8 activeOnly, UINT8 enableDataTaking);
00013 
00014     INT32 addCommand(CmdBuff *cb, UINT8 cmd, UINT8 chipAddress,
00015                      UINT32 *data, UINT32 dataLen, UINT8 fibre);
00016     INT32 addCmdDelay(CmdBuff *cb, UINT32 numDelayBits);
00017     INT32 addFastCmd(CmdBuff *cb, FAST_CMD_ID fastCmd);
00018     INT32 addSlowCmd(CmdBuff *cb, SLOW_CMD_ID slowCmd, UINT8 chipAddress);
00019     INT32 addDataCmd(CmdBuff *cb, DATA_CMD_ID dataCmd, UINT8 chipAddress,
00020                      UINT16 registerValue);
00021     INT32 addMaskCmd(CmdBuff *cb, UINT8 chipAddress, UINT32 mask[4]);
00022 
00023     void maskAllChannels  (UINT32 mask[4]);
00024     void unmaskAllChannels(UINT32 mask[4]);
00025     void maskChannel      (UINT32 mask[4], UINT32 channel);
00026     void unmaskChannel    (UINT32 mask[4], UINT32 channel);
00027     UINT32 getChannelMask (UINT32 mask[4], UINT32 channel);
00028     
00029     UINT16 biasDACRegValue(UINT8 preamp, UINT8 shaper);
00030     UINT16 trimDACRegValue(UINT8 channel, UINT8 trim);
00031     UINT16 thresholdRegValue(UINT8 vthr, UINT8 vcal);
00032 
00033     INT32 addConfigChipMask (CmdBuff *cb, ABCDChip *chip);
00034     INT32 addConfigChipBasic(CmdBuff *cb, ABCDChip *chip);
00035     INT32 addConfigChipTrim (CmdBuff *cb, ABCDChip *chip);
00036     INT32 addConfigChip     (CmdBuff *cb, ABCDChip *chip);
00037     
00038     INT32 addConfigModuleMask (CmdBuff *cb, ABCDModule *module);
00039     INT32 addConfigModuleBasic(CmdBuff *cb, ABCDModule *module);
00040     INT32 addConfigModuleTrim (CmdBuff *cb, ABCDModule *module);
00041     INT32 addConfigModule     (CmdBuff *cb, ABCDModule *module);
00042 
00043     INT32 setChipRole(ABCDModule *module, UINT32 theChip, ABCD_ROLES role);
00044     void setToken(ABCDModule* module, unsigned token, int link0, int link1);
00045 
00046     INT32 setChipVariable(ABCDModule *module, UINT32 theChip, UINT32 typ, FLOAT32 val);
00047     INT32 getChipVariable(ABCDModule *module, UINT32 theChip, UINT32 typ, FLOAT32 *val);
00048     
00049     //validate_sct.c:
00050     INT32 histoCtrl_convert(TaskInput *tsi_v107, TaskInput *tsi);
00051 
00052 #elif defined(I_AM_SLAVE_DSP)
00053     //histogram_sct.c:
00054     INT32 initHistos(void);
00055     void setHistoModuleBase(UINT8 init, UINT8 bin);
00056     UINT8 getHistoBin(void);
00057     void  setHistoBin(UINT8);
00058 
00059     INT32 histoSetup(UINT32 *base, UINT32 nBins, UINT32 binSize,  UINT32 routineType,
00060                      UINT32 dataType[2], UINT32 opt[4], UINT32 validModules[2],
00061                      UINT32 moduleRangeMap[2][2], MDAT32 *xPtr[2]);
00062 
00063     //c histogramming engines:
00064     void  histoEvent_c(struct EventData *);
00065     void  histoEvent_c_chipocc(struct EventData *);
00066     void  histoEvent_c_full(struct EventData *);
00067     void  histoError_c(struct EventData *);
00068 
00069     //assembly language engines:
00070     void  histoEvent_asm(struct EventData *);
00071     void  histoEvent_asm_chipocc(struct EventData *);
00072 
00073 #endif
00074 
00075 #endif /* SCT_FXN_PROTOS_H */

Generated on Thu Dec 22 20:17:02 2005 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5