#ifndef SCT_FXN_PROTOS_H /* multiple inclusion protection */ #define SCT_FXN_PROTOS_H #include "processor.h" #include "ABCDchip.h" #include "sctStructure.h" #if defined(I_AM_MASTER_DSP) /* serialStreams_sct.c: */ INT32 sendConfigSet(UINT8 sp, UINT8 modIn[2], UINT8 chip, UINT8 loop, UINT8 setLinks, UINT8 cfgSet, UINT8 groupId, UINT32 dataType, UINT8 activeOnly, UINT8 enableDataTaking); INT32 addCommand(CmdBuff *cb, UINT8 cmd, UINT8 chipAddress, UINT32 *data, UINT32 dataLen, UINT8 fibre); INT32 addCmdDelay(CmdBuff *cb, UINT32 numDelayBits); INT32 addFastCmd(CmdBuff *cb, FAST_CMD_ID fastCmd); INT32 addSlowCmd(CmdBuff *cb, SLOW_CMD_ID slowCmd, UINT8 chipAddress); INT32 addDataCmd(CmdBuff *cb, DATA_CMD_ID dataCmd, UINT8 chipAddress, UINT16 registerValue); INT32 addMaskCmd(CmdBuff *cb, UINT8 chipAddress, UINT32 mask[4]); void maskAllChannels (UINT32 mask[4]); void unmaskAllChannels(UINT32 mask[4]); void maskChannel (UINT32 mask[4], UINT32 channel); void unmaskChannel (UINT32 mask[4], UINT32 channel); UINT32 getChannelMask (UINT32 mask[4], UINT32 channel); UINT16 biasDACRegValue(UINT8 preamp, UINT8 shaper); UINT16 trimDACRegValue(UINT8 channel, UINT8 trim); UINT16 thresholdRegValue(UINT8 vthr, UINT8 vcal); INT32 addConfigChipMask (CmdBuff *cb, ABCDChip *chip); INT32 addConfigChipBasic(CmdBuff *cb, ABCDChip *chip); INT32 addConfigChipTrim (CmdBuff *cb, ABCDChip *chip); INT32 addConfigChip (CmdBuff *cb, ABCDChip *chip); INT32 addConfigModuleMask (CmdBuff *cb, ABCDModule *module); INT32 addConfigModuleBasic(CmdBuff *cb, ABCDModule *module); INT32 addConfigModuleTrim (CmdBuff *cb, ABCDModule *module); INT32 addConfigModule (CmdBuff *cb, ABCDModule *module); INT32 setChipRole(ABCDModule *module, UINT32 theChip, ABCD_ROLES role); void setToken(ABCDModule* module, unsigned token, int link0, int link1); INT32 setChipVariable(ABCDModule *module, UINT32 theChip, UINT32 typ, FLOAT32 val); INT32 getChipVariable(ABCDModule *module, UINT32 theChip, UINT32 typ, FLOAT32 *val); //validate_sct.c: INT32 histoCtrl_convert(TaskInput *tsi_v107, TaskInput *tsi); #elif defined(I_AM_SLAVE_DSP) //histogram_sct.c: INT32 initHistos(void); void setHistoModuleBase(UINT8 init, UINT8 bin); UINT8 getHistoBin(void); void setHistoBin(UINT8); INT32 histoSetup(UINT32 *base, UINT32 nBins, UINT32 binSize, UINT32 routineType, UINT32 dataType[2], UINT32 opt[4], UINT32 validModules[2], UINT32 moduleRangeMap[2][2], MDAT32 *xPtr[2]); //c histogramming engines: void histoEvent_c(struct EventData *); void histoEvent_c_chipocc(struct EventData *); //assembly language engines: void histoEvent_asm(struct EventData *); void histoEvent_asm_chipocc(struct EventData *); #endif #endif /* SCT_FXN_PROTOS_H */