GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LSEP / dev > lsepw / linux-gcc
#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. |
CVS $Id: LSEPW.h,v 1.9 2011/03/26 23:32:30 russell Exp $
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.
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.
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 |
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.
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.
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.
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.
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.
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.
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.
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().