GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> RIM / V3-1-2 > trim / mv2304


Interface   Data Structures   File List   Data Fields   Globals  

RIM.h File Reference

Public definitions for the RIM (Register In-Memory) facility. More...

#include <stdlib.h>

Classes

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 struct RIM_ RIM
 Forward declaration of the RIM structure.
typedef struct RIM_map_ RIM_map
 Forward declaration of the RIM_map structure, a bit-map of all the LAT components.
typedef struct _Layer_addr Layer_addr
 Address of a TFE/SPT node.
typedef struct _ACD_addr ACD_addr
 Address of a ARC/AFE node.
typedef struct _TEM_addr TEM_addr
 Address of a TEM/TIC/CCC/TCC/CRC/TRC/CFE node.
typedef union _RIM_addr RIM_addr
 Union of all the address structures and an array, used for hierarchical leaf identification throughout RIM.
typedef struct _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, int iShrt, 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_OPT_SWAP = 0x01,
  RIM_OPT_CURR = 0x02
}
 Import options. More...
enum  { RIM_MEM_ALIGN = sizeof(unsigned long long) }
 Memory alignment requirements on a memory block used for a RIM structure.
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)
void RIM_checkSplit (short *ptr, unsigned long long value, unsigned int uid)
void RIM_clear (RIM *rim)
unsigned RIM_clearBit (RIM_map *map, RIM_type type, const RIM_addr *addr)
void RIM_clearMap (RIM_map *map)
int RIM_compare (const RIM *rim1, const RIM *rim2, RIM_map *map)
int RIM_compareType (const char *string, RIM_type type)
RIMRIM_construct (void *buffer)
RIM_mapRIM_constructMap (void *buffer)
unsigned RIM_contrast (const RIM *rim1, const RIM *rim2, const RIM_map *map, RIM_type *r_type, RIM_addr *r_addr)
void RIM_correct (RIM *orig, RIM *capt)
int RIM_countMap (const RIM_map *map, RIM_type type)
void RIM_dataMasks (RIM *rim, unsigned int *dMask, unsigned int *eMask)
unsigned RIM_export (RIM *rim, unsigned int typMask, RIM_expRecdCB recdRtn, RIM_expDataCB dataRtn, void *parm)
unsigned RIM_exportMap (RIM_map *map, RIM_expRecdCB recdRtn, RIM_expDataCB dataRtn, void *parm)
unsigned RIM_get (const RIM *rim, RIM_type type, const RIM_addr *addr, int regId, void *value)
unsigned RIM_getAddress (RIM_addr *addr, unsigned int index, RIM_type type)
unsigned RIM_getAddrRng (const char *string, RIM_addr *addr)
unsigned RIM_getIndex (const RIM_addr *addr, unsigned int *index, RIM_type type)
unsigned RIM_getLayerID (const char *name, unsigned int *layer)
unsigned RIM_getLayerName (unsigned int layer, char *name)
unsigned RIM_import (RIM *rim, int optns, unsigned short *versn, RIM_impRecdCB recdRtn, RIM_impDataCB dataRtn, void *parm)
unsigned RIM_importMap (RIM_map *map, int optns, unsigned short *versn, RIM_impRecdCB recdRtn, RIM_impDataCB dataRtn, void *parm)
unsigned RIM_load (RIM *rim, void *param, RIM_loadFn **loadFn)
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)
unsigned RIM_loadCfeConfig0 (RIM *rim, unsigned int mask, unsigned int value, void *param, RIM_loadFn **loadFn)
unsigned RIM_loadCfeConfig1 (RIM *rim, unsigned int mask, unsigned int value0, unsigned int value1, unsigned int cMask, void *param, RIM_loadFn **loadFn)
unsigned RIM_loadSplit (RIM *rim, int nLow, int nHigh, void *param, RIM_loadFn **loadFn)
unsigned RIM_loadTfeDac (RIM *rim, unsigned int mask, unsigned int value, int nLow, int nHigh, void *param, RIM_loadFn **loadFn)
RIM_type RIM_lookupType (const char *string)
unsigned RIM_nameType (char *string, RIM_type type)
unsigned RIM_nTypes (void)
unsigned RIM_read (RIM *rim, void *param, RIM_readFn **readFn, RIM_decodeFn **decodeFn)
unsigned RIM_set (RIM *rim, RIM_type type, const RIM_addr *addr, int regId, const void *value)
unsigned RIM_setBit (RIM_map *map, RIM_type type, const RIM_addr *addr)
void RIM_setSplit (short *ptr, unsigned long long value, unsigned int uid)
size_t RIM_sizeof (void)
size_t RIM_sizeofMap (void)


Detailed Description

Public definitions for the RIM (Register In-Memory) facility.

Author:
James Swain & Owen Saxton
$Id: RIM.h,v 1.10 2011/03/27 05:54:08 saxton Exp $

Typedef Documentation

typedef struct _RIM_rqstInfo RIM_rqstInfo

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.


Enumeration Type Documentation

anonymous enum

Import options.

Enumerator:
RIM_OPT_SWAP  Swap data bytes.
RIM_OPT_CURR  Allow only the current version.

anonymous enum

Masks for fields in the read request uid value.

Enumerator:
UID_INDEX  Index of component.
UID_IGN_ERROR  Ignore any read errors.
UID_SPT_HIGH  Set if high side split; otherwise low.
UID_SPT_TFE  Set if reading TFE; otherwise TRC.
UID_SPT_LAST  Set if last read of the group.


Generated on Wed Nov 21 19:28:11 2012 by  doxygen 1.5.8