GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > GRBU / V0-0-2

Constituent: grbu     Tag: rad750


Interface   Data Structures   File List   Data Fields   Globals  

GRBU_pubdefs.h File Reference

Public definitions for GRBU. More...

#include "GRB/GRB_pktdef.h"
#include "GRB/GRB_siu.h"

Include dependency graph for GRBU_pubdefs.h:

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


Typedefs

typedef _GRBU_pktMerge GRBU_pktMerge
typedef void(* GRBU_mrgDisposeRtn )(void *prm, GRBU_pktMerge *mrg)
 Signature for a routine to dispose of a GRB merge packet.

Functions

unsigned int GRBU_mergePacket (GRBU_pktMerge *mrg, GRB_pktHdr *hdr, GRBU_mrgDisposeRtn rtn, void *prm)
 Add a new merge packet to the merge process.
void GRBU_mergeReset (void)
 Reset the merge machine.
unsigned int GRBU_mergeSizeof (void)
 Size of a merge packet structure.
unsigned int GRBU_mergeStart (unsigned int msk, GRB_siuStartRtn start_rtn, void *start_prm, GRB_siuProcessRtn exec_rtn, void *exec_prm, GRB_siuStopRtn stop_rtn, void *stop_prm)
 Start the merging process.

Detailed Description

Public definitions for GRBU.

CVS $Id: GRBU_pubdefs.h,v 1.1.1.1 2007/05/08 21:40:18 apw Exp $
Author:
A.P.Waite

Function Documentation

unsigned int GRBU_mergePacket GRBU_pktMerge mrg,
GRB_pktHdr *  hdr,
GRBU_mrgDisposeRtn  rtn,
void *  prm
 

Add a new merge packet to the merge process.

Parameters:
mrg (in) A merge packet header
hdr (in) Pointer to the header of the real data packet
rtn (in) Callback routine to dispose of the merge packet
prm (in) User parameter to the disposal routine
Return values:
GRBU_ENDMERGE End of merge run
GRBU_NULLPARM NULL parameter in calling sequence
GRBU_SRCOFF No merge packets expected from this source
GRBU_SRCEND Source has sent stop packet, then another packet
GRBU_SUCCESS Success
Receive a new GRB packet and push it through merging.

unsigned int GRBU_mergeStart unsigned int  msk,
GRB_siuStartRtn  start_rtn,
void *  start_prm,
GRB_siuProcessRtn  exec_rtn,
void *  exec_prm,
GRB_siuStopRtn  stop_rtn,
void *  stop_prm
 

Start the merging process.

Parameters:
msk [in] Mask of sources (CPUs) to merge
start_rtn [in] Callback to inform photon processor of "start"
start_prm [in] User parameter to "start_rtn()"
exec_rtn [in] Callback for each photon
exec_prm [in] User parameter to "start_rtn()"
stop_rtn [in] Callback to inform photon processor of "stop"
stop_prm [in] User parameter to "start_rtn()"
Return values:
GRBU_SRCMSK Invalid source (CPU) mask
GRBU_STARTPRM No photon processing routine provided
GRBU_SUCCESS Success
GRBU_mergeStart() starts a new merge process. It clears out any previous context and resets for the new CPU mask set and callback definitions. The CPU mask set uses the ITC CPU definitions and the provided mask must make sense (i.e. define at least one valid CPU and must not define any invalid CPUs). A photon processing routine must be defined with the exec_rtn parameter. The "start" and "stop" callbacks are optional and will not be called if defined as NULL.


Generated on Tue Jun 5 01:39:58 2007 by  doxygen 1.4.4