GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > PIG / V10-0-1

Constituent: pig_flying     Tag: linux-gcc


Interface   Data Structures   File List   Data Fields   Globals  

event.c File Reference

Implementation of the event fabric configuration routines. More...

#include "state_p.h"
#include "pig_macro_p.h"
#include "PIG/PIG_msgs.h"
#include "PIG/structs.h"
#include "LEM/msg_macros.h"
#include "LEM/defs.h"
#include "LEM/list.h"
#include <string.h>

Include dependency graph for event.c:


Functions

static void gem_ins (PIG_evt_cfg *cfg, PIG_ebmState *state)
 If indicated by the cfg structure, insert GEM to the event fabric.
static void epus_ins (PIG_evt_cfg *cfg, PIG_ebmState *state)
 Add the EPUs to the output mask.
static void sius_ins (PIG_evt_cfg *cfg, PIG_ebmState *state)
 Add the SIUs to the output mask.
static void tems_ins (PIG_evt_cfg *cfg, PIG_ebmState *state)
 Insert one or more TEMs into the event fabric.
static void acd_ins (PIG_evt_cfg *cfg, PIG_ebmState *state)
 Insert the AEM into the event fabric.
static void gem_ext (PIG_evt_cfg *cfg, PIG_ebmState *state)
 If indicated by the cfg structure, extract GEM from the event fabric.
static void epus_ext (PIG_evt_cfg *cfg, PIG_ebmState *state)
 Extract one or more EPUs from the event fabric.
static void sius_ext (PIG_evt_cfg *cfg, PIG_ebmState *state)
 Extract one or more SIUs from the event fabric.
static void tems_ext (PIG_evt_cfg *cfg, PIG_ebmState *state)
 Extract one or more TEMs from the event fabric.
static void acd_ext (PIG_evt_cfg *cfg, PIG_ebmState *state)
 Extract the ACD from the event fabric.
unsigned int PIG_get_ebmState (unsigned int *inputs, unsigned int *contributors, unsigned int *destinations)
 Return the EBM configuration masks.
unsigned PIG_insert_evt (PIG_evt_cfg *cfg)
 Insert one or more nodes into the event fabric.
unsigned PIG_extract_evt (PIG_evt_cfg *cfg)
 Extract one or more nodes from the event fabric.

Variables

static PIG_ebmState ebmState
 Cache of the EBM state registers.
static const unsigned epu_output [N_EPU] = {0x8, 0x10, 0x20}
 Masks for the three EPUs.
static const unsigned epu_input [N_EPU]
 Masks for the three EPUs.
static const unsigned siu_output [N_SIU] = {0x1, 0x2, 0x4}
 Masks for the three SIUs.
static const unsigned siu_input [N_SIU]
 Masks for the three SIUs.
static const unsigned tem_ebm_mask [N_TEM]
 Masks for the TEMs.

Detailed Description

Implementation of the event fabric configuration routines.

Author:
James Swain & Owen Saxton
Id
event.c,v 1.25 2007/09/20 20:08:15 saxton Exp

Function Documentation

void acd_ext PIG_evt_cfg cfg,
PIG_ebmState state
[inline, static]
 

Extract the ACD from the event fabric.

Parameters:
cfg Pointer to a PIG configuration structure
state Pointer to the state of the EBM registers

void acd_ins PIG_evt_cfg cfg,
PIG_ebmState state
[inline, static]
 

Insert the AEM into the event fabric.

Parameters:
cfg Pointer to a PIG configuration structure
state Pointer to the state of the EBM registers

void epus_ext PIG_evt_cfg cfg,
PIG_ebmState state
[inline, static]
 

Extract one or more EPUs from the event fabric.

Parameters:
cfg Pointer to a PIG configuration structure
state Pointer to the state of the EBM registers

void epus_ins PIG_evt_cfg cfg,
PIG_ebmState state
[inline, static]
 

Add the EPUs to the output mask.

Parameters:
cfg Pointer to a PIG configuration structure
state Pointer to the state of the EBM registers

void gem_ext PIG_evt_cfg cfg,
PIG_ebmState state
[inline, static]
 

If indicated by the cfg structure, extract GEM from the event fabric.

Parameters:
cfg Pointer to a PIG configuration structure
state Pointer to the state of the EBM registers

void gem_ins PIG_evt_cfg cfg,
PIG_ebmState state
[inline, static]
 

If indicated by the cfg structure, insert GEM to the event fabric.

Parameters:
cfg Pointer to a PIG configuration structure
state Pointer to the state of the EBM registers

unsigned PIG_extract_evt PIG_evt_cfg cfg  ) 
 

Extract one or more nodes from the event fabric.

Parameters:
cfg Pointer to a PIG configuration structure
Returns:
one of the PIG_msgs

unsigned int PIG_get_ebmState unsigned int *  inputs,
unsigned int *  contributors,
unsigned int *  destinations
 

Return the EBM configuration masks.

Parameters:
inputs Source processor input enables
contributors EBM scheduler contributor enables
destinations Broadcast masks (round-robin, ...)
Return values:
PIG_INMUD Success

unsigned PIG_insert_evt PIG_evt_cfg cfg  ) 
 

Insert one or more nodes into the event fabric.

Parameters:
cfg Pointer to a PIG configuration structure
Returns:
one of the PIG_msgs

void sius_ext PIG_evt_cfg cfg,
PIG_ebmState state
[inline, static]
 

Extract one or more SIUs from the event fabric.

Parameters:
cfg Pointer to a PIG configuration structure
state Pointer to the state of the EBM registers

void sius_ins PIG_evt_cfg cfg,
PIG_ebmState state
[inline, static]
 

Add the SIUs to the output mask.

Parameters:
cfg Pointer to a PIG configuration structure
state Pointer to the state of the EBM registers

void tems_ext PIG_evt_cfg cfg,
PIG_ebmState state
[inline, static]
 

Extract one or more TEMs from the event fabric.

Parameters:
cfg Pointer to a PIG configuration structure
state Pointer to the state of the EBM registers

void tems_ins PIG_evt_cfg cfg,
PIG_ebmState state
[inline, static]
 

Insert one or more TEMs into the event fabric.

Parameters:
cfg Pointer to a PIG configuration structure
state Pointer to the state of the EBM registers


Variable Documentation

const unsigned epu_input[N_EPU] [static]
 

Initial value:

 {EBM_MASK_EPU_0,
                                          EBM_MASK_EPU_1,
                                          EBM_MASK_EPU_2}
Masks for the three EPUs.

const unsigned siu_input[N_SIU] [static]
 

Initial value:

 {EBM_MASK_SIU_EXT,
                                          EBM_MASK_SIU_0,
                                          EBM_MASK_SIU_1}
Masks for the three SIUs.

const unsigned tem_ebm_mask[N_TEM] [static]
 

Initial value:

 {EBM_MASK_TEM_0,
                                             EBM_MASK_TEM_1,
                                             EBM_MASK_TEM_2,
                                             EBM_MASK_TEM_3,
                                             EBM_MASK_TEM_4,
                                             EBM_MASK_TEM_5,
                                             EBM_MASK_TEM_6,
                                             EBM_MASK_TEM_7,
                                             EBM_MASK_TEM_8,
                                             EBM_MASK_TEM_9,
                                             EBM_MASK_TEM_A,
                                             EBM_MASK_TEM_B,
                                             EBM_MASK_TEM_C,
                                             EBM_MASK_TEM_D,
                                             EBM_MASK_TEM_E,
                                             EBM_MASK_TEM_F}
Masks for the TEMs.


Generated on Thu Oct 11 05:40:42 2007 by  doxygen 1.4.4