GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > RIM / V2-3-1
Constituent: rim     Tag: sun-gcc
#include <stdlib.h>
Include dependency graph for RIM.h:
This graph shows which files directly or indirectly include this file:
Data Structures | |
struct | _Layer_addr |
Address of a TFE/SPT node. More... | |
struct | _ACD_addr |
Address of a ARC/AFE node. More... | |
struct | _TEM_addr |
Address of a TEM/TIC/CCC/TCC/CRC/TRC/CFE node. More... | |
union | _RIM_addr |
Union of all the address structures and an array, used for hierarchical leaf identification throughout RIM. More... | |
struct | _RIM_rqstInfo |
Information describing a read request. More... | |
Typedefs | |
typedef unsigned | RIM_type |
Creates a new type used to identify components (TEM, TFE etc). | |
typedef RIM_ | RIM |
Forward declaration of the RIM structure. | |
typedef RIM_map_ | RIM_map |
Forward declaration of the RIM_map structure, a bit-map of all the LAT components. | |
typedef _Layer_addr | Layer_addr |
Address of a TFE/SPT node. | |
typedef _ACD_addr | ACD_addr |
Address of a ARC/AFE node. | |
typedef _TEM_addr | TEM_addr |
Address of a TEM/TIC/CCC/TCC/CRC/TRC/CFE node. | |
typedef _RIM_addr | RIM_addr |
Union of all the address structures and an array, used for hierarchical leaf identification throughout RIM. | |
typedef _RIM_rqstInfo | RIM_rqstInfo |
Information describing a read request. | |
typedef void | RIM_decodeFn (unsigned short *pkt, void *ptr, const RIM_rqstInfo *info) |
Function that Decodes the response from one type of LAT register. | |
typedef unsigned | RIM_loadFn (void *param, const RIM_addr *addr, unsigned regId, const void *value) |
Function that Loads one type of LAT register. | |
typedef unsigned | RIM_readFn (void *param, const RIM_addr *addr, unsigned regId, RIM_decodeFn *decodeFn, void *dst, const RIM_rqstInfo *info) |
Function that Reads one type of LAT register. | |
typedef unsigned | RIM_expRecdCB (void *parm, unsigned type, int leng) |
Function called to start the export of a new record. | |
typedef unsigned | RIM_expDataCB (void *parm, void *data, int leng) |
Function called to export data for a record. | |
typedef unsigned | RIM_impRecdCB (void *parm, unsigned *type, int *leng) |
Function called to start the import of a new record. | |
typedef unsigned | RIM_impDataCB (void *parm, void *data, int rLeng, int *leng) |
Function called to import data for a record. | |
Enumerations | |
enum | { LATC_MAJ = 15, LATC_MIN = 0 } |
Current version numbers. | |
enum | { RIM_MEM_ALIGN = sizeof(unsigned long long) } |
Memory alignment requirements on a memory block used for a RIM structure. | |
enum | LATC_CTB_BASE_ID { LATC_SSR_APID = 0x3fd, LATC_CTB_MAP = 0, LATC_CTB_DATA = 128 } |
Contribution type base ID for the two types of LATC contributions. | |
enum | { RIM_BCAST_ADDR = 255, N_RIM_ADDR_CPTS = 4 } |
Constant values associated with addressing LAT component instances. | |
enum | { RIM_BAD_TYPE = -1 } |
enum | { UID_INDEX = 0x0ffff, UID_IGN_ERROR = 0x10000, UID_SPT_HIGH = 0x20000, UID_SPT_TFE = 0x40000, UID_SPT_LAST = 0x80000 } |
Masks for fields in the read request uid value. More... | |
Functions | |
int | RIM_checkBit (const RIM_map *map, RIM_type type, const RIM_addr *addr) |
Check a bit in the map. | |
void | RIM_checkSplit (short *ptr, unsigned long long value, unsigned int uid) |
Decode a result item used to check a split. | |
void | RIM_clear (RIM *rim) |
Clear out the map and data portions of the RIM structure. | |
unsigned | RIM_clearBit (RIM_map *map, RIM_type type, const RIM_addr *addr) |
Clear a bit in the map. | |
void | RIM_clearMap (RIM_map *map) |
Clear the map. | |
int | RIM_compare (const RIM *rim1, const RIM *rim2, RIM_map *map) |
Compare all the nodes of rim1 and rim2, marking differences in map. | |
int | RIM_compareType (const char *string, RIM_type type) |
Compare string with the name of a type. | |
RIM * | RIM_construct (void *buffer) |
Initialise a block of memory as a RIM object. | |
RIM_map * | RIM_constructMap (void *buffer) |
Initialise the supplied memory as a RIM_map object. | |
unsigned | RIM_contrast (const RIM *rim1, const RIM *rim2, const RIM_map *map, RIM_type *r_type, RIM_addr *r_addr) |
Compare all the nodes of rim1 and rim2, that are not marked to be ignored. | |
void | RIM_correct (RIM *orig, RIM *capt) |
Copy select portions of an original RIM into a copy, to ensure that the subsequent comparison will succeed. | |
int | RIM_countMap (const RIM_map *map, RIM_type type) |
Count the number of set bits in the map. | |
void | RIM_dataMasks (RIM *rim, unsigned int *dMask, unsigned int *eMask) |
Get summary of data types present in a RIM. | |
unsigned | RIM_export (RIM *rim, unsigned int typMask, RIM_expRecdCB recdRtn, RIM_expDataCB dataRtn, void *parm) |
Export RIM data as a series of records. | |
unsigned | RIM_exportMap (RIM_map *map, RIM_expRecdCB recdRtn, RIM_expDataCB dataRtn, void *parm) |
Export RIM map data as a series of records. | |
unsigned | RIM_get (const RIM *rim, RIM_type type, const RIM_addr *addr, int regId, void *value) |
Put the contents of the requested register and field into value. | |
unsigned | RIM_getAddress (RIM_addr *addr, unsigned int index, RIM_type type) |
Convert flat addressing to hierarchical bit addressing. | |
unsigned | RIM_getAddrRng (const char *string, RIM_addr *addr) |
Finds the address range associated with the type identifed by the string. | |
unsigned | RIM_getIndex (const RIM_addr *addr, unsigned int *index, RIM_type type) |
Convert hierarchical bit addressing to flat addressing. | |
unsigned | RIM_getLayerID (const char *name, unsigned int *layer) |
Convert a layer name to a layer ID. | |
unsigned | RIM_getLayerName (unsigned int layer, char *name) |
Form the layer name from the layer ID. | |
unsigned | RIM_import (RIM *rim, int swap, RIM_impRecdCB recdRtn, RIM_impDataCB dataRtn, void *parm) |
Import RIM data as a series of records. | |
unsigned | RIM_importMap (RIM_map *map, int swap, RIM_impRecdCB recdRtn, RIM_impDataCB dataRtn, void *parm) |
Import RIM map data as a series of records. | |
unsigned | RIM_load (RIM *rim, void *param, RIM_loadFn **loadFn) |
Load the LAT with the configuration held in a RIM structure. | |
unsigned | RIM_loadAfeConfig (RIM *rim, unsigned int mask, unsigned int value0, unsigned int value1, unsigned int rcMask, unsigned int feMask, void *param, RIM_loadFn **loadFn) |
Load the AFE configuration register. | |
unsigned | RIM_loadCfeConfig0 (RIM *rim, unsigned int mask, unsigned int value, void *param, RIM_loadFn **loadFn) |
Load CFE configuration register 0. | |
unsigned | RIM_loadCfeConfig1 (RIM *rim, unsigned int mask, unsigned int value0, unsigned int value1, unsigned int cMask, void *param, RIM_loadFn **loadFn) |
Load CFE configuration register 1. | |
unsigned | RIM_loadSplit (RIM *rim, int nLow, int nHigh, void *param, RIM_loadFn **loadFn) |
Load TKR split values. | |
unsigned | RIM_loadTfeDac (RIM *rim, unsigned int mask, unsigned int value, int nLow, int nHigh, void *param, RIM_loadFn **loadFn) |
Load the TFE DAC register. | |
RIM_type | RIM_lookupType (const char *string) |
Hunt through the list of component types and return the index of the input string. | |
unsigned | RIM_nameType (char *string, RIM_type type) |
Place the four-character string describing this type into name. | |
unsigned | RIM_nTypes (void) |
Return the number of component types within the LAT register description. | |
unsigned | RIM_read (RIM *rim, void *param, RIM_readFn **readFn, RIM_decodeFn **decodeFn, const RIM_map *ign) |
Populate the RIM structure with the current state of the LAT. | |
unsigned | RIM_set (RIM *rim, RIM_type type, const RIM_addr *addr, int regId, const void *value) |
Set the value of a register. | |
unsigned | RIM_setBit (RIM_map *map, RIM_type type, const RIM_addr *addr) |
Set a bit in the map. | |
void | RIM_setSplit (short *ptr, unsigned long long value, unsigned int uid) |
Decode the result item used to populate a split. | |
size_t | RIM_sizeof (void) |
Calculate the footprint of the RIM structure. | |
size_t | RIM_sizeofMap (void) |
Calculate the total size of a RIM_map object. |
|
Information describing a read request. This is used mainly in handling read errors, but is also used when processing registers read during a read of the splits This structure should really be private to RIM, since the information it contains is essentially held in escrow by LATC and returned in the event that the response to a read command contains an error. However, the additional scaffold required to support an opaque handle just seems like overkill. |
|
Masks for fields in the read request uid value.
|
|
Check a bit in the map.
|
|
Decode a result item used to check a split. The read value of a TFE mode register is compared with the expected value and the split value set to indicate an error if it doesn't match
|
|
Clear out the map and data portions of the RIM structure.
|
|
Clear a bit in the map.
|
|
Clear the map.
|
|
Compare all the nodes of rim1 and rim2, marking differences in map. If a node is NULL, then the default node is used.
|
|
Compare string with the name of a type.
|
|
Initialise a block of memory as a RIM object.
|
|
Initialise the supplied memory as a RIM_map object.
|
|
Compare all the nodes of rim1 and rim2, that are not marked to be ignored. If a node is NULL then the default node is used.
|
|
Copy select portions of an original RIM into a copy, to ensure that the subsequent comparison will succeed.
|
|
Count the number of set bits in the map.
|
|
Get summary of data types present in a RIM. This routine returns two bitmasks indicating what kinds of data are present in the specified RIM structure. The first indicates the types with default data present, while the second indicates which types have exception data. The principle use of this routine is to avoid creating empty sets of exported data.
|
|
Export RIM data as a series of records. This routine provides a general way to export the data from a RIM structure. The data are presented as a series of records to the supplied callback routines. One routine is called at the start of each record to receive the record type and length of the data in the record. The second routine is called to receive data for the record, and is called as many times as necessary to receive all the data.
|
|
Export RIM map data as a series of records. This routine provides a general way to export the data from a RIM map structure. The data are presented as a series of records to the supplied callback routines. One routine is called at the start of each record to receive the record type and length of the data in the record. The second routine is called to receive data for the record, and is called as many times as necessary to receive all the data.
|
|
Put the contents of the requested register and field into value.
|
|
Convert flat addressing to hierarchical bit addressing. Note that GTFEs are usually referred to as being part of an X or Y layer. This identification is converted to an absolute layer number and stored in the rc space by addr->rc = (layerNumber << 1) | isYlayer. This conversion is performed by the XLM->RIM converter, but is documented here since it is a storage convention.
|
|
Finds the address range associated with the type identifed by the string.
|
|
Convert hierarchical bit addressing to flat addressing. Note that GTFEs are usually referred to as being part of an X or Y layer. This identification is converted to an absolute layer number and stored in the rc space by addr->rc = (layerNumber << 1) | isYlayer. This conversion is performed by the XLM->binary converter, but is documented here since it is a storage convention.
|
|
Convert a layer name to a layer ID. A three-character layer name of the form [sign][xory][index] is converted to a layer ID.
|
|
Form the layer name from the layer ID. The name has the form [sign][xory][index], e.g. +y5, -x1.
|
|
Import RIM data as a series of records. This routine provides a general way to import data into a RIM structure. The data are received as a series of records from the supplied callback routines. One routine is called to position at the start of the next record to be imported and supplies the record type and data length. The second routine is called to retrieve data for the record, and is called as many times as necessary to retrieve all the data.
|
|
Import RIM map data as a series of records. This routine provides a general way to export the data from a RIM map structure. The data are presented as a series of records to the supplied callback routines. One routine is called at the start of each record to receive the record type and length of the data in the record. The second routine is called to receive data for the record, and is called as many times as necessary to receive all the data.
|
|
Load the LAT with the configuration held in a RIM structure.
|
|
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.
|
|
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.
|
|
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.
|
|
Load TKR split values. The tracker RC and FE registers are loaded to reflect the given split values.
|
|
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.
|
|
Hunt through the list of component types and return the index of the input string.
|
|
Place the four-character string describing this type into name.
|
|
Return the number of component types within the LAT register description.
|
|
Populate the RIM structure with the current state of the LAT.
|
|
Set the value of a register.
|
|
Set a bit in the map.
|
|
Decode the result item used to populate a split. The value from the TRC register is converted and assigned to the appropriate split register.
|
|
Calculate the footprint of the RIM structure.
|
|
Calculate the total size of a RIM_map object.
|