GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LSEP / V1-3-6 > lsepw / sun-gcc


Interface   Data Structures   File List   Data Fields   Globals  

LSEPW.h File Reference

Interface to the physics context specific information structures and routines. More...

#include <LSF/LSF_cpu.h>
#include <LSF/LSF_mode.h>
#include <LSF/LSF_origin.h>
#include <LSF/LSF_reason.h>
#include <LSE/LSEW_dgmFw.h>
#include <EDS/EDS_cfg.h>

Functions

int LSEPW_sizeof (int level)
 Return the size of the LSEP data structure.
const EDS_fwPostServices * LSEPW_constructC (LSEPW *lsepw, int level, const void *cfg, unsigned short int apid, unsigned int dgm_id, LSF_CPU_K cpu, LSF_ORIGIN_K origin, unsigned int sw_key, LSEW_dgmFwPoster postRtn, void *postPrm, unsigned int *buf, int buf_size)
 Constructs/initializes the physics application specific context.
const EDS_fwPostServices * LSEPW_construct (LSEPW *lsepw, int level, unsigned short int apid, unsigned int dgm_id, LSF_CPU_K cpu, LSF_ORIGIN_K origin, unsigned int sw_key, LSEW_dgmFwPoster postRtn, void *postPrm, unsigned int *buf, int buf_size)
 Constructs/initializes the physics application specific context.
int LSEPW_start (LSEPW *lsepw, LSF_REASON_OPEN_K reason, unsigned int run_id, unsigned int startTime, LSF_MODE_K mode, unsigned int hw_key, unsigned int lpa_key)
 Start or more accurately, prepare a posting stream to receive events.
int LSEPW_notify (LSEPW *lsepw, unsigned int mode, unsigned int active, const EDS_cfgInfo cfgs[32], const EDS_rsdTbl *rsdTbl)
 Called when the configuration has changed, for example by a mode change.
int LSEPW_flush (LSEPW *lsepw, int reason)
 Flushes the current datagram.
int LSEPW_levelSet (LSEPW *lsepw, int level)
 Modifies to the current working level to the minimum of level and the maximum allowable compression level that LSEPW is configured to.
unsigned int * LSEPW_ctbAdd (LSEPW *lsepw, unsigned int *cur, int len32)
 Adds the Physics specific context contribution to the datagram.
int LSEPW_evtAdd (LSEPW *lsepw, EDS_fwIxb *ixb)
 Formats the event specified in by the EDS_fw Information Exchange block, flushing the current record to the output stream if the datagram is full.


Detailed Description

Interface to the physics context specific information structures and routines.

Author:
JJRussell - russell@slac.stanford.edu

   CVS $Id: LSEPW.h,v 1.9 2011/03/26 23:32:30 russell Exp $

Function Documentation

const EDS_fwPostServices * LSEPW_construct ( LSEPW lsepw,
int  level,
unsigned short int  apid,
unsigned int  dgm_id,
LSF_CPU_K  cpu,
LSF_ORIGIN_K  origin,
unsigned int  sw_key,
LSEW_dgmFwPoster  postRtn,
void *  postPrm,
unsigned int *  buf,
int  buf_size 
)

Constructs/initializes the physics application specific context.

Parameters:
lsepw The physics application specific context to construct
level The maximum compression level that will be used
apid The application id to use in the CCSDS packets
dgm_id The LAT Science Format Data Id (LSF) to use
cpu The originating CPU
origin The data source type
sw_key The master software configuration key; this is the key to the Secondary Boot File.
postRtn Routine used to post a formatted event
postPrm Parameter passed to the post routine
buf The first, preallocated buffer to fill
buf_size The size, in bytes, of the ouptut buffer. Events will be packed into this buffer until full

References LSEPW_constructC().

const EDS_fwPostServices * LSEPW_constructC ( LSEPW lsepw,
int  level,
const void *  cfg,
unsigned short int  apid,
unsigned int  dgm_id,
LSF_CPU_K  cpu,
LSF_ORIGIN_K  origin,
unsigned int  sw_key,
LSEW_dgmFwPoster  postRtn,
void *  postPrm,
unsigned int *  buf,
int  buf_size 
)

Constructs/initializes the physics application specific context.

Parameters:
lsepw The physics application specific context to construct
level The maximum compression level that will be used
cfg Level level specific configuration parameters
apid The application id to use in the CCSDS packets
dgm_id The LAT Science Format Data Id (LSF) to use
cpu The originating CPU
origin The data source type
sw_key The master software configuration key; this is the key to the Secondary Boot File.
postRtn Routine used to post a formatted event
postPrm Parameter passed to the post routine
buf The first, preallocated buffer to fill
buf_size The size, in bytes, of the ouptut buffer. Events will be packed into this buffer until full
This routine is something of a royal kludge. The original call for LSEPW_construct did not include a configuration parameter. To keep things backwardly compatiable, this routine was invented. It should be become LSEPW_construct if a reorganization permits it.

References ADVANCE, _LSEP_etxCtb::bdy, _LSEPW::cur_level, _LSEPW::defaults, _LSEPW::dgmFw, _LSEPW::etx, _LSEP_etxCtb::hdr, _LSEP_etxBdy::keys, LSEP_ID_K_ETX, LSEPW_ctbAdd(), LSEPW_evt0_construct(), LSEPW_evt0_sizeof(), LSEPW_evtAdd(), LSEPW_flush(), LSEPW_notify(), LSEPW_start(), _LSEPW::max_level, _LSEP_etxKeys::software, and _LSEPW::usrCtxs.

Referenced by LSEPW_construct().

unsigned int * LSEPW_ctbAdd ( LSEPW lsepw,
unsigned int *  cur,
int  len32 
)

Adds the Physics specific context contribution to the datagram.

Parameters:
lsepw The physics application specific context
cur Pointer to the where to add the informaton
len32 The length, in 32-bit words, of the available space in the datagram

Referenced by beg8_add(), and LSEPW_constructC().

int LSEPW_evtAdd ( LSEPW lsepw,
EDS_fwIxb *  ixb 
)

Formats the event specified in by the EDS_fw Information Exchange block, flushing the current record to the output stream if the datagram is full.

Returns:
Status
Parameters:
lsepw The physics application specific context
ixb The Information Exchange Block

References _LSEPW::dgmFw.

Referenced by LSEPW_constructC().

int LSEPW_flush ( LSEPW lsepw,
int  reason 
)

Flushes the current datagram.

Parameters:
lsepw The physics application specific context
reason The reason for the flush

References _LSEPW::dgmFw.

Referenced by LSEPW_constructC().

int LSEPW_levelSet ( LSEPW lsepw,
int  level 
)

Modifies to the current working level to the minimum of level and the maximum allowable compression level that LSEPW is configured to.

Returns:
The actual level is was set to, i.e. the minimum of level and the maximum allowable compression level. On failure this value is -1.
Parameters:
lsepw The physics application specific context
level The new compression level

References _LSEPW::cur_level, _LSEPW::defaults, _LSEPW::dgmFw, LSEPW_evt0_level_set(), _LSEPW::max_level, and _LSEPW::usrCtxs.

int LSEPW_notify ( LSEPW lsepw,
unsigned int  mode,
unsigned int  active,
const EDS_cfgInfo  cfgs[32],
const EDS_rsdTbl *  rsdTbl 
)

Called when the configuration has changed, for example by a mode change.

Returns:
0 if successful, non-zero if not
Parameters:
lsepw The physics application specific context
mode The new mode
active The list of active handlers
cfgs The current configuration information for each handler.
rsdTbl The result summary data table

References _LSEP_etxCtb::bdy, copy_pack_rsds(), _LSEPW::dgmFw, _LSEPW::eds, _LSEP_etxBdy::eds, _LSEPW::etx, _LSEP_etxCtb::hdr, LSEP_ROOTHDR_BRIDGE_M_RSD, pack_cfgs(), _LSEPW::rsdTbl, and _LSEP_etxEds::wrds.

Referenced by LSEPW_constructC().

int LSEPW_sizeof ( int  level  ) 

Return the size of the LSEP data structure.

Parameters:
level The maximum compression level that will be used. Resources will be allocated consistent with supporting events written in this and all lesser compression levels.

References LSEPW_evt0_sizeof().

int LSEPW_start ( LSEPW lsepw,
LSF_REASON_OPEN_K  reason,
unsigned int  run_id,
unsigned int  startTime,
LSF_MODE_K  mode,
unsigned int  hw_key,
unsigned int  lpa_key 
)

Start or more accurately, prepare a posting stream to receive events.

Returns:
Status, currectly what LSEW_dgmFwRunStart returns.
Parameters:
lsepw The physics application specific context
reason The reason why this run is being started
run_id The run identifier. Only the first 24-bits are used.
startTime The run start time rounded to the nearest second
mode The operational mode
hw_key The master hardware configuraion key; this is the key to the LATc file
lpa_key The LPA_DB file key

References _LSEP_etxCtb::bdy, _LSEPW::dgmFw, _LSEPW::etx, _LSEP_etxKeys::hardware, _LSEP_etxBdy::keys, and _LSEP_etxKeys::lpa_db.

Referenced by LSEPW_constructC().


Generated on Sat Apr 9 20:51:06 2011 by  doxygen 1.5.8