GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LRA / V5-2-4 > lra / sun-gcc


Interface   Data Structures   File List   Data Fields   Globals  

LRA_load.c File Reference

Register loading routines. More...

#include <MSG/MSG_pubdefs.h>
#include <LEM/defs.h>
#include <LEM/encode.h>
#include <LEM/decode.h>
#include <LEM/list.h>
#include <LEM/list_macros.h>
#include <LRA_p.h>
#include <LRA/LRA_msgs.h>

Functions

unsigned LRA_load (const LRA_regSpec *rSpec, const unsigned long long *value)
 Perform a register load operation.
unsigned LRA_doLoad (LEM_micr *crl, const LRA_regSpec *rSpec, const unsigned long long *value)
 Internal routine to handle a register load request.


Detailed Description

Register loading routines.

Author:
Owen H Saxton
$Id: LRA_load.c,v 1.13 2011/03/28 16:10:50 saxton Exp $

Function Documentation

unsigned LRA_doLoad ( LEM_micr *  crl,
const LRA_regSpec rSpec,
const unsigned long long *  value 
)

Internal routine to handle a register load request.

This routine loads the specified value into one or more instances of the specified register.

Parameters:
crl The address of a multi-item command/response list to be used in the register operations.
rSpec The register specifier, specifying which register (or set of registers) is (are) to be loaded. This contains the device, the register block, the TEM number, cable controller number, readout controller number, front-end number, and register number. The four parameters tem, cc, rc and fe may be set individually to the value LRA_WILD to cause the value to be loaded in all places.
value The address of the value to be loaded into the specified instances of the register.
Return values:
LRA_SUCCESS Load was successful
LRA_INVCMPT Invalid component number
LRA_INVREG Invalid register number
LRA_INVBLOCK Invalid register block number
LRA_INVTEM Invalid TEM number
LRA_INVCC Invalid cable controller number
LRA_INVRC Invalid readout controller number
LRA_INVFE Invalid front-end number
LCBD_RTOERR Operation timed out

References _LRA_regSpec::block, _LRA_regSpec::cc, _LRA_regSpec::cmpnt, _LRA_regSpec::fe, LRA_ACTIVE, LRA_check(), LRA_FNC_LOAD, LRA_WILD, _LRA_cmptDesc::maxTem, _LRA_regSpec::rc, _LRA_regSpec::reg, and _LRA_regSpec::tem.

Referenced by LRA_load(), and LRA_LOAD().

unsigned LRA_load ( const LRA_regSpec rSpec,
const unsigned long long *  value 
)

Perform a register load operation.

The internal routine is called to load the specified value into one or more instances of the specified register.

Parameters:
rSpec The register specifier, specifying which register (or set of registers) is (are) to be loaded. This contains the device, the register block, the TEM number, cable controller number, readout controller number, front-end number, and register number. The four parameters tem, cc, rc and fe may be set individually to the value LRA_WILD to cause the value to be loaded in all places.
value The address of the value to be loaded into the specified instances of the register.
Return values:
LRA_SUCCESS Load was successful
LRA_INVCMPT Invalid component number
LRA_INVREG Invalid register number
LRA_INVBLOCK Invalid register block number
LRA_INVTEM Invalid TEM number
LRA_INVCC Invalid cable controller number
LRA_INVRC Invalid readout controller number
LRA_INVFE Invalid front-end number
ITC_SENDTID Destination task (LRA) not started
LCBD_RTOERR Operation timed out

References LRA_doLoad().


Generated on Wed Nov 21 20:40:32 2012 by  doxygen 1.5.8