GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LSE / V2-1-0 > lsew / linux-gcc


Interface   Data Structures   File List   Data Fields   Globals  

CDF_err.h File Reference

Public interface to produce Compressed Data Format for the diagnostic contributions. More...


Functions

int CDF_errCfg_sizeof (int level)
 Returns the size, in bytes of the GEM compression configuration needed to support the specified level.
int CDF_errCfg_construct (CDF_errCfg *cfg, int level, void **mem)
 Constructs the CDF_erfCfg compression configuration.
int CDF_err_sizeof (int level, const CDF_errCfg *cfg)
 Returns the size, in bytes of the ERR compression structure needed to support the specified level.
int CDF_err_construct (CDF_err *cdf, int level, const CDF_errCfg *cfg, const LSEW_dgmFw *dgmFw, void **mem)
 Constructs the CDF_err compression context.
unsigned int CDF_err_compose (CDF_err *cdf, const EDR_err *err)
 Analyzes the error contribution of TEMs.
unsigned int CDF_err_compress (CDF_err *cdf, unsigned int *buf, unsigned int pos)
 Compresses the ERR contributions.


Detailed Description

Public interface to produce Compressed Data Format for the diagnostic contributions.

Author:
JJRussell - russell@slac.stanford.edu
    CVS $Id: CDF_err.h,v 1.4 2011/03/26 17:35:23 russell Exp $


Function Documentation

unsigned int CDF_err_compose ( CDF_err cdf,
const EDR_err *  err 
)

Analyzes the error contribution of TEMs.

Returns:
A bit mask of the CAL and TKR contributions that are seriously flawed, that is, one should not trust the unpacking.
Parameters:
cdf The error context block to compose
err The unpacked error records

cdf->to = ctids;

References _CDF_err::cal, _CDF_err::map, _CDF_err::tag, _CDF_err::tems, and _CDF_err::tkr.

unsigned int CDF_err_compress ( CDF_err cdf,
unsigned int *  buf,
unsigned int  pos 
)

Compresses the ERR contributions.

Returns:
The updated write bit position
Parameters:
cdf The ERR compression data formatting handle
buf The output buffer
pos The position of the next bit to fill
Overview
The compression takes advantage of the fact that the vast majority of TEM error records are from the TEM TKR bug. Statistically speaking the the error records fall into the following categories
  • Only TKR CC errors 15%
  • TKR RC errors 85%

The 85% TKR RC errors are broken done as
  • Pure phasing errors 35%
  • Pure TO 10%
  • Mixed phasing + TO 35%
  • Zoo events 5%
This is further broken down into conforming cases and exception cases. Currently only the conforming cases are handled. All exception cases get funnelled into a copy.
Conforming
  • Mixed phasing + T0 CC == 0x1ff0 00 35% list of phasing errors RCs
  • Pure phasing errors CC == 0x1ff0 01 35% none
  • Pure TO CC == 0x1ff0 10 0 10% none
  • TKR CC errors CC == 0x1000 10 1 15% none
  • Nonconforming bug a CC == 0x1ff0 11 0 5%
Copy
  • Copy 111 0
Exceptions
  • Mixed phasing + TO CC != 0x1ff0 1111 00 summary word + list RCs
  • Pure phasing CC != 0x1ff0 1111 01 summary word
  • Pure TO CC != 0x1ff0 1111 10 0
  • TKR CC errors CC != 0x1000 1111 10 1 summary word
  • Nonconforming bug a CC != 0x1ff0 1111 11 0 summary word

References cdf_err_tem_classify(), _CDF_errTem::hdr, _CDF_err::map, _CDF_errTemHeader::phase, _CDF_errTemHeader::summary, _CDF_err::tag, _CDF_err::tems, and _CDF_errTemHeader::timeout.

int CDF_err_construct ( CDF_err cdf,
int  level,
const CDF_errCfg *  cfg,
const LSEW_dgmFw dgmFw,
void **  mem 
)

Constructs the CDF_err compression context.

Return values:
Status 
Parameters:
cdf The CDF_err compress context structure to fill
level The maximum compression level that needs to be supported
cfg Target specific configuration parameter
dgmFw The datagram framework handle
mem Pointer to free memory pointer, return as the the updated pointer. If cdf is equal to the current contents of mem, then mem will be advanced by the size of CDF_err, else this routine will believe that the only the variable allocation of cdf needs to be allocated.

int CDF_err_sizeof ( int  level,
const CDF_errCfg *  cfg 
)

Returns the size, in bytes of the ERR compression structure needed to support the specified level.

Parameters:
level The maximum compression level to support
cfg Target specific configuration

int CDF_errCfg_construct ( CDF_errCfg *  cfg,
int  level,
void **  mem 
)

Constructs the CDF_erfCfg compression configuration.

Return values:
Status 
Parameters:
cfg Target specific configuration
level The maximum compression level that needs to be supported
mem Pointer to free memory pointer, return as the the updated pointer. If cfg is equal to the current contents of mem, then mem will be advanced by the size of CDF_errCfg else this routine will believe that the only the variable allocation of cdf needs to be allocated.

int CDF_errCfg_sizeof ( int  level  ) 

Returns the size, in bytes of the GEM compression configuration needed to support the specified level.

Parameters:
level The maximum compression level to support


Generated on Sat Apr 9 18:46:36 2011 by  doxygen 1.5.8