GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LSE / V2-2-3 > lsew / rhel5-32


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 TKR overflows followed by the TEM TKR bug. Statistically speaking the the error records fall into the following categories Code
  • TKR oveflow 99% 0
the rest are (and are prefixed by a 1
  • 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 1 00 35% list of phasing errors RCs
  • Pure phasing errors CC == 0x1ff0 1 01 35% none
  • Pure TO CC == 0x1ff0 1 10 0 10% none
  • TKR CC errors CC == 0x1000 1 10 1 15% none
  • Nonconforming bug a CC == 0x1ff0 1 11 10 5%
Copy
  • Copy 1 11 10
Exceptions
  • Mixed phasing + TO CC != 0x1ff0 1 11 10 Copy
  • Pure phasing CC != 0x1ff0 1 11 10 Copy
  • Pure TO CC != 0x1ff0 11 10 Copy
  • TKR CC errors CC != 0x1000 11 10 Copy
  • Nonconforming bug a CC != 0x1ff0 11 10 Copy

References cdf_err_tem_classify(), _CDF_err::map, _CDF_err::tag, and _CDF_err::tems.

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 Fri Nov 30 11:07:28 2012 by  doxygen 1.5.8