GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> QSSP / V1-1-1 > qssp / linux-gcc


Interface   Data Structures   File List   Data Fields   Globals  

QSSP_span.h File Reference

Defines a standard sample span. More...

#include <QSSP/QSSP_point.h>

Classes

struct  _QSSP_spanV0
 Defines the beginning and ending of when the sample was taken. More...
struct  _QSSP_spanV1
 Defines the beginning and ending of when the sample was taken, version 2. More...

Typedefs

typedef struct _QSSP_spanV0 QSSP_spanV0
 Typedef for struct _QSSP_spanV0.
typedef struct _QSSP_spanV1 QSSP_spanV1
 Typedef for struct _QSSP_spanV1.

Functions

const unsigned int * QSSP_spanV0DecodeTwo (int *diff_p, QSSP_spanV0 *cumulative, QSSP_spanV0 *current, const unsigned int *dat, unsigned char bridge)
 Decodes two headers that are just straight copies.
const unsigned int * QSSP_spanV0DecodeOne (int *diff_p, QSSP_spanV0 *cumulative, QSSP_spanV0 *current, const unsigned int *dat, unsigned char bridge)
 Decodes one header that is just a straight copy.
const unsigned int * QSSP_spanV0DecodeDiff (int *diff_p, QSSP_spanV0 *cumulative, QSSP_spanV0 *current, const unsigned int *dat, unsigned char bridge)
 Decodes the sample point information when it is encoded as a difference from the previous point to the current point.
void QSSP_spanV0Complete (QSSP_spanV0 *span)
 Completes the derived values of the QSSP_spanV0 structure.
void QSSP_spanV0Update (QSSP_spanV0 *dst, const QSSP_spanV0 *src)
 Logically combines the source span record with the destination span record.
const unsigned int * QSSP_spanV1DecodeTwo (int *diff_p, QSSP_spanV1 *cumulative, QSSP_spanV1 *current, const unsigned int *dat, unsigned char bridge)
 Decodes two headers that are just straight copies.
const unsigned int * QSSP_spanV1DecodeOne (int *diff_p, QSSP_spanV1 *cumulative, QSSP_spanV1 *current, const unsigned int *dat, unsigned char bridge)
 Decodes one header that is just a straight copy.
const unsigned int * QSSP_spanV1DecodeDiff (int *diff_p, QSSP_spanV1 *cumulative, QSSP_spanV1 *current, const unsigned int *dat, unsigned char bridge)
 Decodes the sample point information when it is encoded as a difference from the previous point to the current point.
void QSSP_spanV1Complete (QSSP_spanV1 *span)
 Completes the derived values of the QSSP_spanV1 structure.
void QSSP_spanV1Update (QSSP_spanV1 *dst, const QSSP_spanV1 *src)
 Logically combines the source span record with the destination span record.


Detailed Description

Defines a standard sample span.

Author:
JJRussell - russell@slac.stanford.edu

   CVS $Id: QSSP_span.h,v 1.2 2011/03/29 00:14:57 russell Exp $

A sample span captures the conditions at both the beginning or ending of a sample, defining the conditions and duration of the sample


Function Documentation

void QSSP_spanV0Complete ( QSSP_spanV0 span  ) 

Completes the derived values of the QSSP_spanV0 structure.

Parameters:
span The sample span structure to complete

References _QSSP_spanV0::esequence, _QSSP_spanV0::etime, _QSSP_spanV0::points, qssp_pointV0_esequence_compute(), and qssp_pointV0_etime_compute().

Referenced by QSSP_spanV0DecodeOne(), QSSP_spanV0DecodeTwo(), QSSP_spanV0Update(), qstd_sampleV0_add(), and qstd_sampleV0_decode().

const unsigned int* QSSP_spanV0DecodeDiff ( int *  diff_p,
QSSP_spanV0 cumulative,
QSSP_spanV0 current,
const unsigned int *  dat,
unsigned char  bridge 
)

Decodes the sample point information when it is encoded as a difference from the previous point to the current point.

Returns:
The next location to continue the decoding
Parameters:
diff_p Pointer to the current sequence number difference
cumulative The cumulative span
current The current span
dat The input data to decode from
bridge The record's bridge word

References _QSSP_pointV0::gemClock, _QSSP_spanV0::points, QSSP_pointV0Complete(), QSSP_spanV0Update(), qssp_timetones_decode(), _QSSP_pointV0::relative, _QSSP_pointV0::sequence, and _QSSP_pointV0::timetones.

Referenced by decode_sampleV0_2().

const unsigned int* QSSP_spanV0DecodeOne ( int *  diff_p,
QSSP_spanV0 cumulative,
QSSP_spanV0 current,
const unsigned int *  dat,
unsigned char  bridge 
)

Decodes one header that is just a straight copy.

Returns:
The next address to decode from
Parameters:
diff_p Pointer to the current sequence number difference
cumulative The cumulative span
current The current span
dat The input data to decode from
bridge The record's bridge word

References _QSSP_spanV0::points, qssp_pointV0_copy(), and QSSP_spanV0Complete().

Referenced by decode_sampleV0_1().

const unsigned int* QSSP_spanV0DecodeTwo ( int *  diff_p,
QSSP_spanV0 cumulative,
QSSP_spanV0 current,
const unsigned int *  dat,
unsigned char  bridge 
)

Decodes two headers that are just straight copies.

Returns:
The next address to decode from
Parameters:
diff_p Pointer to the current sequence number difference
cumulative The cumulative span
current The current span
dat The input data to decode from
bridge The record's bridge word

References _QSSP_spanV0::points, qssp_pointV0_copy(), and QSSP_spanV0Complete().

Referenced by decode_sampleV0_0().

void QSSP_spanV0Update ( QSSP_spanV0 dst,
const QSSP_spanV0 src 
)

Logically combines the source span record with the destination span record.

Parameters:
dst The destination span record
src The source span recode
Updatine a span record involves three operations
  • Replacing the end point in the destination span record with the end point in the source span record
  • Recalculating the delta time and delta sequence values
  • Adding the incremental fields. For V0 there are no such fields

References _QSSP_spanV0::points, and QSSP_spanV0Complete().

Referenced by QSSP_spanV0DecodeDiff().

void QSSP_spanV1Complete ( QSSP_spanV1 span  ) 

Completes the derived values of the QSSP_spanV1 structure.

Parameters:
span The sample span structure to complete

References _QSSP_spanV1::esequence, _QSSP_spanV1::etime, _QSSP_spanV1::points, qssp_pointV0_esequence_compute(), and qssp_pointV0_etime_compute().

Referenced by QSSP_spanV1DecodeOne(), QSSP_spanV1DecodeTwo(), QSSP_spanV1Update(), and span_transfer().

const unsigned int* QSSP_spanV1DecodeDiff ( int *  diff_p,
QSSP_spanV1 cumulative,
QSSP_spanV1 current,
const unsigned int *  dat,
unsigned char  bridge 
)

Decodes the sample point information when it is encoded as a difference from the previous point to the current point.

Returns:
The next location to continue the decoding
Parameters:
diff_p Pointer to the current sequence number difference
cumulative The cumulative span
current The current span
dat The input data to decode from
bridge The record's bridge word

References _QSSP_pointV0::gemClock, _QSSP_spanV1::points, QSSP_pointV0Complete(), QSSP_spanV1Update(), qssp_timetones_decode(), _QSSP_pointV0::relative, _QSSP_pointV0::sequence, and _QSSP_pointV0::timetones.

const unsigned int* QSSP_spanV1DecodeOne ( int *  diff_p,
QSSP_spanV1 cumulative,
QSSP_spanV1 current,
const unsigned int *  dat,
unsigned char  bridge 
)

Decodes one header that is just a straight copy.

Returns:
The next address to decode from
Parameters:
diff_p Pointer to the current sequence number difference
cumulative The cumulative span
current The current span
dat The input data to decode from
bridge The record's bridge word

References _QSSP_spanV1::points, qssp_pointV0_copy(), and QSSP_spanV1Complete().

const unsigned int* QSSP_spanV1DecodeTwo ( int *  diff_p,
QSSP_spanV1 cumulative,
QSSP_spanV1 current,
const unsigned int *  dat,
unsigned char  bridge 
)

Decodes two headers that are just straight copies.

Returns:
The next address to decode from
Parameters:
diff_p Pointer to the current sequence number difference
cumulative The cumulative span
current The current span
dat The input data to decode from
bridge The record's bridge word

References _QSSP_spanV1::points, qssp_pointV0_copy(), and QSSP_spanV1Complete().

void QSSP_spanV1Update ( QSSP_spanV1 dst,
const QSSP_spanV1 src 
)

Logically combines the source span record with the destination span record.

Parameters:
dst The destination span record
src The source span recode
Updatine a span record involves two operations
  • Replacing the end point in the destination span record with the end point in the source span record
  • Adding the incremental fields, such as the elapsed time and counts field

References _QSSP_spanV1::nerror, _QSSP_spanV1::nmissed, _QSSP_spanV1::ntotal, _QSSP_spanV1::nused, _QSSP_spanV1::points, and QSSP_spanV1Complete().

Referenced by add_samples(), and QSSP_spanV1DecodeDiff().


Generated on Fri Sep 30 19:02:25 2011 by  doxygen 1.5.8