GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LATC / dev > latc_wb / mv2304


Interface   Data Structures   File List   Data Fields   Globals  

latp_p.h File Reference

Private definition of structures and functions used for LAT interactions. More...

#include <LATC/latc.h>
#include <latp.h>
#include <imm.h>
#include <descriptions_p.h>
#include <lem_p.h>
#include <LEM/list_structs.h>

Classes

struct  LEM_load
 Command and response lists for loading configuration to LAT. More...
struct  LEM_read
 Command and response lists for reading configuration from LAT. More...

Enumerations

enum  {
  LATC_NO_LOW = -1,
  LATC_NO_HIGH = 24
}

Functions

unsigned loadAfeConfig (LATC_imm *imm, unsigned int mask, unsigned int value0, unsigned int value1, unsigned int rcMask, unsigned int feMask, LEM_micr *cr)
 Load the AFE configuration register.
unsigned loadCfeConfig0 (LATC_imm *imm, unsigned int mask, unsigned int value, LEM_micr *cr)
 Load CFE configuration register 0.
unsigned loadCfeConfig1 (LATC_imm *imm, unsigned int mask, unsigned int value0, unsigned int value1, unsigned int cMask, LEM_micr *cr)
 Load CFE configuration register 1.
unsigned loadTkrSplits (LATC_imm *imm, int nLow, int nHigh, LEM_micr *cr)
 Load TKR splits values.
unsigned loadTfeDac (LATC_imm *imm, unsigned int mask, unsigned int value, int nLow, int nHigh, LEM_micr *cr)
 Load the TFE DAC register.
unsigned setTrigger (LATC_imm *imm, int enable, int marker, LEM_micr *cr)
 Enable or disable triggers.


Detailed Description

Private definition of structures and functions used for LAT interactions.

Author:
James Swain & Owen Saxton
Id
latp_p.h,v 1.16 2011/04/08 00:20:45 apw Exp

Enumeration Type Documentation

anonymous enum

Enumerator:
LATC_NO_LOW  TFE "ID" indicating that there are no TFEs on the low side of the split.
LATC_NO_HIGH  TFE "ID" indicating that there are no TFEs on the high side of the split.


Function Documentation

unsigned loadAfeConfig ( LATC_imm *  imm,
unsigned int  mask,
unsigned int  value0,
unsigned int  value1,
unsigned int  rcMask,
unsigned int  feMask,
LEM_micr *  cr 
)

Load the AFE configuration register.

The AFE configuration register is loaded with a modified version of the value from the LAT configuration, with the specified bits replaced.

Parameters:
imm Pointer to the cached in-memory model of the LATC registers
mask Mask of bits to be changed from the configuration.
value0 The value to be masked and merged with the configuration value for front-ends not selected by the RC and FE masks.
value1 The value to be masked and merged with the configuration value for front-ends selected by the RC and FE masks.
rcMask Mask of bits, one per RC, specifying which RCs are selected.
feMask Mask of bits, one per FE, specifying which FEs within selected RCs are selected.
cr Multi-item command-response list used to load the modified registers
Return values:
LATC_SUCCESS if all goes well
LEM_* if there is an error arising from one of the register load commands

References LATC_addr::acd, checkBit(), LEM_load::cr, ACD_addr::fe, LEM_load::ldfn, loadReg(), and ACD_addr::rc.

Referenced by LATC_loadAfeConfig().

unsigned loadCfeConfig0 ( LATC_imm *  imm,
unsigned int  mask,
unsigned int  value,
LEM_micr *  cr 
)

Load CFE configuration register 0.

CFE configuration register 0 is loaded with a modified version of the value from the LAT configuration, with the specified bits replaced.

Parameters:
imm Pointer to the cached in-memory model of the LATC registers
mask Mask of bits to be changed from the configuration.
value The value to be masked and merged with the configuration value.
cr Multi-item command-response list used to load the modified registers
Return values:
LATC_SUCCESS if all goes well
LEM_* if there is an error arising from one of the register load commands

References TEM_addr::cc, checkBit(), LEM_load::cr, TEM_addr::fe, LEM_load::ldfn, loadReg(), TEM_addr::rc, LATC_addr::tem, and TEM_addr::to.

Referenced by LATC_loadCfeConfig0().

unsigned loadCfeConfig1 ( LATC_imm *  imm,
unsigned int  mask,
unsigned int  value0,
unsigned int  value1,
unsigned int  cMask,
LEM_micr *  cr 
)

Load CFE configuration register 1.

CFE configuration register 1 is loaded with a modified version of the value from the LAT configuration, with the specified bits replaced.

Parameters:
imm Pointer to the cached in-memory model of the LATC registers
mask Mask of bits to be changed from the configuration.
value0 The value to be masked and merged with the configuration value for front-ends whose bit is clear in the column mask.
value1 The value to be masked and merged with the configuration value for front-ends whose bit is set in the column mask.
cMask Mask of bits, one per column, specifying which value is to be used for loading the config register.
cr Multi-item command-response list used to load the modified registers
Return values:
LATC_SUCCESS if all goes well
LEM_* if there is an error arising from one of the register load commands

References TEM_addr::cc, checkBit(), LEM_load::cr, TEM_addr::fe, LEM_load::ldfn, loadReg(), TEM_addr::rc, LATC_addr::tem, and TEM_addr::to.

Referenced by LATC_loadCfeConfig1().

unsigned loadTfeDac ( LATC_imm *  imm,
unsigned int  mask,
unsigned int  value,
int  nLow,
int  nHigh,
LEM_micr *  cr 
)

Load the TFE DAC register.

The TFE DAC register is loaded with a modified version of the value from the LAT configuration, with the specified bits replaced.

Parameters:
imm Pointer to the cached in-memory model of the LATC registers
mask Mask of bits to be changed from the configuration.
value The value to be masked and merged with the configuration value.
nLow Number of TFEs talking on the low side, or -1 if the configured values are being used.
nHigh Number of TFEs talking on the high side, or -1 if the configured values are being used.
cr Multi-item command-response list used to load the modified registers
Return values:
LATC_SUCCESS if all goes well
LEM_* if there is an error arising from one of the register load commands

References checkBit(), LEM_load::cr, Layer_addr::fe, Layer_addr::la, LATC_addr::layer, LEM_load::ldfn, loadReg(), LATC_addr::tem, and Layer_addr::to.

Referenced by LATC_loadTfeDac().

unsigned loadTkrSplits ( LATC_imm *  imm,
int  nLow,
int  nHigh,
LEM_micr *  cr 
)

Load TKR splits values.

The tracker RC and FE registers are loaded to reflect the given split values.

Parameters:
imm Pointer to the cached in-memory model of the LATC registers
nLow Number of TFEs to talk on the low side, or -1 if the configured values are to be used.
nHigh Number of TFEs to talk on the high side, or -1 if the configured values are to be used.
cr Multi-item command-response list used to load the modified registers
Return values:
LATC_SUCCESS if all goes well
LEM_* if there is an error arising from one of the register load commands

References LEM_load::cr, LEM_load::ldfn, and loadSplit().

Referenced by LATC_loadTkrSplits().

unsigned setTrigger ( LATC_imm *  imm,
int  enable,
int  marker,
LEM_micr *  cr 
)

Enable or disable triggers.

This routine enables or disables LAT triggers. If the marker parameter is non-zero, the LAT is first configured to broadcast a trigger message to all CPUs upon receipt of a solicited trigger, a solicited trigger is issued, and the configuration restored from the IMM data.

Parameters:
imm IMM structure containing LAT configuration data
enable If non-zero, triggers are anabled; otherwise disabled
marker If non-zero, causes a solicited trigger with this value in the event data.
cr Pointer to the multi-item command/response list.
Return values:
LATC_SUCCESS if all goes well
LEM_* if there is an error arising from one of the register load commands

Referenced by LATC_disableTriggers(), and LATC_enableTriggers().


Generated on Thu Apr 7 17:39:14 2011 by  doxygen 1.5.8