GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > RIM / V1-0-0
Constituent: rim     Tag: rad750
#include <stdio.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_errorInfo |
Information used to record a read error occured. 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 void( | RIM_decodeFn )(unsigned short *pkt, void *ptr) |
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_errorInfo *info) |
Function that Reads one type of LAT register. | |
typedef void( | RIM_startDgm )(void *ctl) |
Function called to start a new datagram. | |
typedef unsigned( | RIM_startCtb )(void *ctl, size_t size, unsigned type) |
Function called to start a new contribution. | |
typedef void( | RIM_addData )(void *ctl, void *data, size_t size) |
Function called to add data to a contribution. | |
typedef void( | RIM_endCtb )(void *ctl) |
Function called to end a datagram. | |
typedef unsigned( | RIM_endDgm )(void *ctl) |
Function called to end (and send) a datagram. | |
Enumerations | |
enum | { LATC_MAJ = 14, 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 | { FIO_PERMS = 0666 } |
File permissions for output files. | |
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 | RIM_ERROR { RIM_SUCCESS = 0, RIM_ADDR_BCAST = -11, RIM_ADDR_RANGE = -12, RIM_ADDR_INDEX = -13, RIM_ADDR_LAYER = -14, RIM_ADDR_LSIG = -15, RIM_ADDR_LXY = -16, RIM_ADDR_LIND = -17, RIM_TYPE_UK = -21, RIM_TYPE_STR = -22, RIM_MAP_NONE = -31, RIM_DIFFER = -41, RIM_REG_ID = -42, RIM_FLD_ID = -43, RIM_NOT_SET = -44, RIM_CPT_NONE = -45, RIM_XML_PARSE = -51, RIM_FILE_END = -61, RIM_FILE_READ = -62, RIM_FILE_WRITE = -63, RIM_FILE_OPEN = -64, RIM_FILE_CLOSE = -65, RIM_BUF_SHORT = -71, RIM_FLD_RANGE = -81 } |
RIM error codes. More... | |
Functions | |
int | RIM_checkBit (const RIM_map *map, RIM_type type, const RIM_addr *addr) |
Check a bit in the map. | |
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. | |
unsigned | RIM_clearByTWR (RIM_map *map, RIM_type type, unsigned twr) |
Clear all bits in a submap corresponding to a particular tower. | |
void | RIM_clearMap (RIM_map *map) |
Clear the map. | |
int | RIM_compare (const RIM *this, const RIM *that, RIM_map *map) |
Compare all the nodes of this and that, marking differences in the map. | |
int | RIM_compareType (const char *string, RIM_type type) |
Compare string with the name of 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_consume (RIM *rim, int fd) |
Read the block of data into the RIM structure. | |
unsigned | RIM_consumeMap (RIM_map *map, int fd) |
Read map data into the map structure. | |
unsigned | RIM_contrast (const RIM *this, const RIM *that, const RIM_map *map, RIM_type *r_type, RIM_addr *r_addr) |
Compare all the nodes of this and that, 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. | |
unsigned | RIM_create (RIM *rim, RIM_type type, int fd) |
Create a single binary configuration file containing the data of one component (or the default data). | |
unsigned | RIM_createMap (RIM_map *map, int fd) |
Write out the data of a RIM_map structure. | |
unsigned | RIM_createMask (RIM *rim) |
Creates a bitmask indicating which types can successfully be used with RIM_create. | |
void | RIM_dumpMap (RIM_map *map, FILE *fp) |
Print out the map. | |
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 index, RIM_type type) |
Convert hierarchical bit addressing to flat addressing. | |
unsigned | RIM_getAddrRng (const char *string, RIM_addr *addr) |
Finds the address range associated with the type identifed by the string. | |
const char * | RIM_getErrorString (RIM_ERROR err) |
Look up descriptive string for an error code. | |
unsigned | RIM_getIndex (const RIM_addr *addr, unsigned *index, RIM_type type) |
Convert hierarchical bit addressing to flat addressing. | |
unsigned | RIM_getLayerID (char sign, char xy, char index, unsigned *layer) |
Take three characters and convert them to a layer ID. | |
unsigned | RIM_getLayerName (unsigned layer, char *sign, char *xy, char *index) |
Get the characters of the layer name from the layer ID. | |
unsigned | RIM_load (RIM *rim, void *param, RIM_loadFn **loadFn) |
Load the LAT with the configuration held in a RIM structure. | |
unsigned | RIM_loadMdfy (RIM *rim, RIM_type type, unsigned reg, unsigned feMask, void *mask, void *value, void *param, RIM_loadFn **loadFn) |
Load all instances of a register with a modified version of its value in the LAT configuration. | |
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_record (RIM *rim, void *pkt, RIM_startDgm *startDgm, RIM_startCtb *startCtb, RIM_addData *addData, RIM_endCtb *endCtb, RIM_endDgm *endDgm) |
Send the RIM to the SSR. | |
void | RIM_report (RIM *rim, FILE *fp, unsigned noDflt) |
Print a report of the contents of the RIM to a file. | |
unsigned | RIM_retrieve (RIM *rim, char *dat, size_t len, unsigned id, int verb) |
Recover a portion of the RIM from a data buffer (actually an LSF contribution). | |
unsigned | RIM_set (RIM *rim, RIM_type type, const RIM_addr *addr, int regId, const void *value) |
Set the value of a register field. | |
unsigned | RIM_setBit (RIM_map *map, RIM_type type, const RIM_addr *addr) |
Set a bit in the map. | |
unsigned | RIM_setByTWR (RIM_map *map, RIM_type type, unsigned twr) |
Set all bits in a submap corresponding to a particular tower. | |
void | RIM_setSPT (void *ptr, unsigned short value, unsigned isHigh) |
Decode the result item use 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. |
|
|
Check a bit in the map.
|
|
Clear out the map and data portions of the RIM structure.
|
|
Clear a bit in the map.
|
|
Clear all bits in a submap corresponding to a particular tower.
|
|
Clear the map.
|
|
Compare all the nodes of this and that, marking differences in the map. If a node is NULL, then the default node is used.
|
|
Compare string with the name of type.
|
|
Initialise a block of memory as a RIM object.
|
|
Initialise the supplied memory as a RIM_map object.
|
|
Read the block of data into the RIM structure.
|
|
Read map data into the map structure.
|
|
Compare all the nodes of this and that, 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.
|
|
Create a single binary configuration file containing the data of one component (or the default data).
|
|
Write out the data of a RIM_map structure.
|
|
Creates a bitmask indicating which types can successfully be used with RIM_create.
|
|
Print out the map.
|
|
Put the contents of the requested register and field into value.
|
|
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->RIM converter, but is documented here since it is a storage convention.
|
|
Finds the address range associated with the type identifed by the string.
|
|
Look up descriptive string for an error code.
|
|
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.
|
|
Take three characters and convert them to a layer ID.
|
|
Get the characters of the layer name from the layer ID.
|
|
Load the LAT with the configuration held in a RIM structure.
|
|
Load all instances of a register with a modified version of its value in the LAT configuration. This routine, in its simplest form, allows all registers of a single component of the configuration to be written to the LAT. Additionally this may be further restricted to a single register of that component. In this case, each instance of the register may also have its value modified by a supplied value under a supplied mask. Furthermore, if the register is a front-end one (AFE, CFE or TFE), the modification can be optionally restricted to only those front-ends with a corresponding bit set in the supplied front-end mask.
|
|
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.
|
|
Send the RIM to the SSR.
|
|
Print a report of the contents of the RIM to a file.
|
|
Recover a portion of the RIM from a data buffer (actually an LSF contribution).
|
|
Set the value of a register field.
|
|
Set a bit in the map.
|
|
Set all bits in a submap corresponding to a particular tower.
|
|
Decode the result item use to populate a split.
|
|
Calculate the footprint of the RIM structure.
|
|
Calculate the total size of a RIM_map object.
|