GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > RIM / V2-0-1

Constituent: rim     Tag: rad750


Interface   Data Structures   File List   Data Fields   Globals  

RIM_p.h File Reference

Private definitions for the RIM facility. More...

#include "RIM/RIM.h"
#include "RIM_AG_types_p.h"
#include "MSG/MSG_pubdefs.h"
#include <stdio.h>

Include dependency graph for RIM_p.h:

This graph shows which files directly or indirectly include this file:


Data Structures

struct  FldDescription
 Parameters necessary to describe a field within a register. More...
struct  RegDescription
 Description of a register within a component. More...
struct  CptDescription
 Description of a component of the LAT. More...

Defines

#define MAX_MAP   ((N_MAX / 32) + 1)
 Number of 32 bit words guaranteed to be big enough to hold a map large enough for any component type.

Enumerations

enum  {
  RIM_RT_MAP = 0,
  RIM_RT_DFT = 0x40,
  RIM_RT_EXCP = 0x80,
  RIM_RT_MASK = 0xc0
}
 Exported data record types. More...

Functions

int RIM_addrRng (RIM_type type, int level)
 Get the address range of a component level.
const CptDescriptionRIM_cptDesc (RIM_type type)
 Get the address of a component description.
void RIM_getFld (const void *cpt, RIM_type type, int regId, int fldId, void *value)
 Puts the contents of the fldId field of register regId into value.
int RIM_number (RIM_type type)
 Get the number of instances of a component.
void RIM_getReg (const void *cpt, RIM_type type, int regId, void *value)
 Puts the contents of the target register regId into value.
void RIM_layerHigh (const Layer_addr *layer, TEM_addr *tem)
 Convert the conceptual layer addressing of a TFE to the hierarchical form used to communicate with the LAT.
void RIM_layerLow (const Layer_addr *layer, TEM_addr *tem)
 Convert the conceptual layer addressing of a TFE to the hierarchical form used to communicate with the LAT.
int RIM_regEnum (RIM_type type, int regId)
 Convert the public register ID in to the RIM internal register ID.
int RIM_setFld (void *cpt, RIM_type type, int regId, int fldId, const void *value)
 Sets the tgtId field of the regId register of cpt structure to value.
void RIM_setReg (void *cpt, RIM_type type, int regId, const void *value)
 Set the regId register of cpt structure to value.
const char * RIM_typeName (RIM_type type)
 Get the name of a component.

Detailed Description

Private definitions for the RIM facility.

Author:
James Swain & Owen Saxton
Id
RIM_p.h,v 1.3 2007/11/09 23:27:26 saxton Exp

Enumeration Type Documentation

anonymous enum
 

Exported data record types.

Enumerator:
RIM_RT_MAP  Map data.
RIM_RT_DFT  Default data.
RIM_RT_EXCP  Exception data.
RIM_RT_MASK  Record type mask.


Function Documentation

int RIM_addrRng RIM_type  type,
int  level
 

Get the address range of a component level.

This is an internal routine, so no checking is done on the type.

Parameters:
type The type ID of the component
level The address level
Returns:
The name of the component

const CptDescription* RIM_cptDesc RIM_type  type  ) 
 

Get the address of a component description.

This is an internal routine, so no checking is done on the type.

Parameters:
type The type ID of the component
Returns:
The address of the description of the component, or NULL if the type is out of range.

void RIM_getFld const void *  cpt,
RIM_type  type,
int  regId,
int  fldId,
void *  value
 

Puts the contents of the fldId field of register regId into value.

Parameters:
type Type of data sought
cpt Pointer to start of the component data.
regId Enumerated ID of the register
fldId Target field
value Location to put the contents of the target field

void RIM_getReg const void *  cpt,
RIM_type  type,
int  regId,
void *  value
 

Puts the contents of the target register regId into value.

Parameters:
cpt Pointer to start of the component data.
type Type of data sought
regId Enumerated ID of the register
value Location to put the contents of the target reg

void RIM_layerHigh const Layer_addr layer,
TEM_addr tem
 

Convert the conceptual layer addressing of a TFE to the hierarchical form used to communicate with the LAT.

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.

Parameters:
layer Address of the TFE / SPT in terms of layers
tem Address of the TFE / TRC in terms of CC/RC

void RIM_layerLow const Layer_addr layer,
TEM_addr tem
 

Convert the conceptual layer addressing of a TFE to the hierarchical form used to communicate with the LAT.

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.

Parameters:
layer Address of the TFE / SPT in terms of layers
tem Address of the TFE / TRC in terms of CC/RC

int RIM_number RIM_type  type  ) 
 

Get the number of instances of a component.

This is an internal routine, so no checking is done on the type.

Parameters:
type The type ID of the component
Returns:
The number of instances of the component, or -1 if the type is out of range.

int RIM_regEnum RIM_type  type,
int  regId
 

Convert the public register ID in to the RIM internal register ID.

Parameters:
type Component type
regId Register ID in terms of hardware numbering (the Huffer docs and LEM)
Returns:
The index of the register in the array of register descriptions within the component description, or -1 if the register ID is not recognized.

int RIM_setFld void *  cpt,
RIM_type  type,
int  regId,
int  fldId,
const void *  value
 

Sets the tgtId field of the regId register of cpt structure to value.

Parameters:
cpt Pointer to start of the component data.
type Type of component
regId Enum specifying register to write to
fldId Enum specifying field to write to
value Value to set the field to.
Return values:
RIM_SUCCESS If all goes well
RIM_FLDRANGE if the value is too big for the field

void RIM_setReg void *  cpt,
RIM_type  type,
int  regId,
const void *  value
 

Set the regId register of cpt structure to value.

Parameters:
cpt Pointer to start of the component data.
type Type of data sought
regId Enum specifing register to write to
value Value to set register to

const char* RIM_typeName RIM_type  type  ) 
 

Get the name of a component.

This is an internal routine, so no checking is done on the type.

Parameters:
type The type ID of the component
Returns:
The name of the component


Generated on Wed Nov 21 01:38:29 2007 by  doxygen 1.4.4