GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> QSSP / dev > qssp / rhel5-32
#include <QSSP/QSSP_span.h>
#include <QSSP/QSSP_point.h>
#include <QSSP_point_p.h>
#include <LSE/LSEW_ctxTim.h>
#include <EDS/EBF_gem.h>
Functions | |
__inline void | QSSP_spanV0Complete (QSSP_spanV0 *span) |
Completes the derived values of the QSSP_spanV0 structure. | |
static const unsigned int * | qssp_timetone_decode (QSD_timetone *timetone, const QSD_timetone *base, const unsigned int *dat, int flags) |
Decodes one timetone structure based on the differences. | |
static __inline const unsigned int * | qssp_timetones_decode (QSD_timetones *timetones, const QSD_timetones *base, const unsigned int *dat, unsigned int flags) |
Decodes the next set current timetone records into current. | |
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_spanV0Update (QSSP_spanV0 *dst, const QSSP_spanV0 *src) |
Logically combines the source span record with the destination span record. | |
__inline void | QSSP_spanV1Complete (QSSP_spanV1 *span) |
Completes the derived values of the QSSP_spanV1 structure. | |
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_spanV1Update (QSSP_spanV1 *dst, const QSSP_spanV1 *src) |
Logically combines the source span record with the destination span record. |
CVS $Id: QSSP_span.c,v 1.2 2011/03/29 00:14:57 russell Exp $
__inline void QSSP_spanV0Complete | ( | QSSP_spanV0 * | span | ) |
Completes the derived values of the QSSP_spanV0 structure.
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.
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().
static 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.
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.
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.
dst | The destination span record | |
src | The source span recode |
References _QSSP_spanV0::points, and QSSP_spanV0Complete().
Referenced by QSSP_spanV0DecodeDiff().
__inline void QSSP_spanV1Complete | ( | QSSP_spanV1 * | span | ) |
Completes the derived values of the QSSP_spanV1 structure.
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.
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.
static 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.
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.
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.
dst | The destination span record | |
src | The source span recode |
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().
static const unsigned int * qssp_timetone_decode | ( | QSD_timetone * | timetone, | |
const QSD_timetone * | base, | |||
const unsigned int * | dat, | |||
int | flags | |||
) | [static] |
Decodes one timetone structure based on the differences.
timetone | The target timetone record | |
base | The base timetone record. The decoded differences will be added to this structure | |
dat | The data to be decoded | |
flags | Flags used to interpret the data to be decoded
|
Referenced by qssp_timetones_decode().
static __inline const unsigned int * qssp_timetones_decode | ( | QSD_timetones * | timetones, | |
const QSD_timetones * | base, | |||
const unsigned int * | dat, | |||
unsigned int | flags | |||
) | [static] |
Decodes the next set current timetone records into current.
timetones | The timetone structure to receive the decoded data | |
base | The base timetone structure. This is needed because the timetones are stored in a differential format | |
dat | The data stream | |
flags | Two 2-bit decoding flags, stored left-justified, the first set for the previous timetone record and the second set for the current timetone record. See |
References qssp_timetone_decode().
Referenced by QSSP_spanV0DecodeDiff(), and QSSP_spanV1DecodeDiff().