GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LATC / dev > latc_wb / mv2304
#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. |
anonymous enum |
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.
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 |
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.
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 |
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.
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 |
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.
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 |
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.
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 |
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.
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. |
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().