GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> QSE / dev > qse / rhel5-64
#include <PBI/Endianness.h>
Classes | |
struct | _QSE_aem_chn_af |
Maps out the information for one ADC channel as an alternative bit field representation, where the end bit is paired with the tile address to form the extended tile address and where all the fields of the PHA vector (ADC range, ADC value and PHA parity error fields are presented as a single PHA vector field. More... | |
struct | _QSE_aem_chn_bf |
Maps out the information for one ADC channel as the most primitve bit fields possible. More... | |
struct | _QSE_aem_chn_cf |
Maps out the information for one channel, as alternative bit field representation favoring consolidating all the state information as a single field and combining the ADC range and ADC value field as a single PHA field. More... | |
union | _QSE_aem_chn_u |
Maps out the information for one channel, union of bit field with unsigned int. More... | |
struct | _QSE_aem_cableStatus |
Summary cable bit status masks. More... | |
struct | _QSE_aem |
Holds the unpacked QSE_aem information. More... | |
Defines | |
#define | ALWAYS_INLINE |
#define | QSE_AEM_CHN_COMPOSE(_field, _val) ((_val) & QSE_AEM_CHN_N_ ## _field) << (QSE_AEM_CHN_V_ ## _field) |
Composes the in-place value for the specified field and _val. This can be used to assemble an QSE_aem_chn by ORing the resulting values. | |
#define | QSE_AEM_CHN_EXTRACT(_chn, _field) ((_chn) >> QSE_AEM_CHN_V_ ## _field) & (QSE_AEM_CHN_N_ ## _field) |
Extracts the specified bit field, _field from the specified QSE_aem_chn word, _chn. | |
Typedefs | |
typedef enum _QSE_AEM_K | QSE_AEM_K |
Typedef for enum _AEM_K. | |
typedef enum _QSE_AEM_STATUS_M | QSE_AEM_STATUS_M |
Typedef for enum _QSE_AEM_STATUS_M. | |
typedef enum _QSE_AEM_CHN_S | QSE_AEM_CHN_S |
Typedef for enum _QSE_AEM_CHN_S. | |
typedef enum _QSE_AEM_CHN_V | QSE_AEM_CHN_V |
Typedef for enum _QSE_AEM_CHN_V. | |
typedef enum _QSE_AEM_CHN_N | QSE_AEM_CHN_N |
Typedef for enum _QSE_AEM_CHN_N. | |
typedef enum _QSE_AEM_CHN_M | QSE_AEM_CHN_M |
Typedef for enum _QSE_AEM_CHN_M. | |
typedef unsigned int | QSE_aem_chn |
Typedef for the 32-bit word containing information about a channel. | |
typedef struct _QSE_aem_chn_af | QSE_aem_chn_af |
Typedef for struct _QSE_aem_chn_af. | |
typedef struct _QSE_aem_chn_bf | QSE_aem_chn_bf |
Typedef for struct _QSE_aem_chn_bf. | |
typedef struct _QSE_aem_chn_cf | QSE_aem_chn_cf |
Typedef for struct _QSE_aem_chn_cf. | |
typedef union _QSE_aem_chn_u | QSE_aem_chn_u |
Typedef for union _QSE_aem_chn_u. | |
typedef struct _QSE_aem_cableStatus | QSE_aem_cableStatus |
Typedef for _QSE_aem_cableStatus;. | |
typedef struct _QSE_aem | QSE_aem |
typedef for struct _QSE_aem | |
Enumerations | |
enum | _QSE_AEM_K { QSE_AEM_K_NCHNS_PER_CABLE = 18, QSE_AEM_K_NCABLES = 12, QSE_AEM_K_NCHNS } |
Enumerates the attributes of the AEM EBF record. More... | |
enum | _QSE_AEM_STATUS_M { QSE_AEM_STATUS_M_FATAL = 0x80000000, QSE_AEM_STATUS_M_ABSENT = 0x40000000, QSE_AEM_STATUS_M_ABORTED = 0x20000000, QSE_AEM_STATUS_M_RSVD_27 = 0x10000000, QSE_AEM_STATUS_M_DAT_OVRRUN = 0x08000000, QSE_AEM_STATUS_M_DAT_UNDRUN = 0x04000000, QSE_AEM_STATUS_M_CBL_PARITY = 0x02000000, QSE_AEM_STATUS_M_CBL_ILL = 0x01000000, QSE_AEM_STATUS_M_CBL_ORDER = 0x00800000, QSE_AEM_STATUS_M_CBL_DUP = 0x00400000, QSE_AEM_STATUS_M_CBL_OVRRUN = 0x00200000, QSE_AEM_STATUS_M_CBL_TIMEOUT = 0x00100000, QSE_AEM_STATUS_M_PHA_OVRRUN = 0x00080000, QSE_AEM_STATUS_M_PHA_UNDRUN = 0x00040000, QSE_AEM_STATUS_M_PHA_PARITY = 0x00020000 } |
QSE_AEM status bits. More... | |
enum | _QSE_AEM_CHN_S { QSE_AEM_CHN_S_HIT = 1, QSE_AEM_CHN_S_ACCEPT = 1, QSE_AEM_CHN_S_VALID = 1, QSE_AEM_CHN_S_PE = 1, QSE_AEM_CHN_S_ADC = 12, QSE_AEM_CHN_S_RNG = 1, QSE_AEM_CHN_S_RSVD = 6, QSE_AEM_CHN_S_ECABLE = 4, QSE_AEM_CHN_S_ECHN = 5, QSE_AEM_CHN_S_VAH = 3, QSE_AEM_CHN_S_PVAH = 4, QSE_AEM_CHN_S_PHA = 13, QSE_AEM_CHN_S_PHAVEC = 14 } |
The size, in bits, of the various bit fields in the channel information word. More... | |
enum | _QSE_AEM_CHN_V { QSE_AEM_CHN_V_HIT = 0, QSE_AEM_CHN_V_ACCEPT = 1, QSE_AEM_CHN_V_VALID = 2, QSE_AEM_CHN_V_PE = 3, QSE_AEM_CHN_V_ADC = 4, QSE_AEM_CHN_V_RNG = 16, QSE_AEM_CHN_V_RSVD = 17, QSE_AEM_CHN_V_ECHN = 23, QSE_AEM_CHN_V_ECABLE = 28, QSE_AEM_CHN_V_VAH = QSE_AEM_CHN_V_HIT, QSE_AEM_CHN_V_PVAH = QSE_AEM_CHN_V_HIT, QSE_AEM_CHN_V_PHA = QSE_AEM_CHN_V_ADC, QSE_AEM_CHN_V_PHAVEC = QSE_AEM_CHN_V_PE } |
The right justified bit offset, of the various bit fields in the channel information word. More... | |
enum | _QSE_AEM_CHN_N { QSE_AEM_CHN_N_HIT = ((1 << QSE_AEM_CHN_S_HIT ) - 1), QSE_AEM_CHN_N_ACCEPT = ((1 << QSE_AEM_CHN_S_ACCEPT) - 1), QSE_AEM_CHN_N_VALID = ((1 << QSE_AEM_CHN_S_VALID ) - 1), QSE_AEM_CHN_N_PE = ((1 << QSE_AEM_CHN_S_PE ) - 1), QSE_AEM_CHN_N_ADC = ((1 << QSE_AEM_CHN_S_ADC ) - 1), QSE_AEM_CHN_N_RNG = ((1 << QSE_AEM_CHN_S_RNG ) - 1), QSE_AEM_CHN_N_RSVD = ((1 << QSE_AEM_CHN_S_RSVD ) - 1), QSE_AEM_CHN_N_ECHN = ((1 << QSE_AEM_CHN_S_ECHN ) - 1), QSE_AEM_CHN_N_ECABLE = ((1 << QSE_AEM_CHN_S_ECABLE) - 1), QSE_AEM_CHN_N_VAH = ((1 << QSE_AEM_CHN_S_VAH ) - 1), QSE_AEM_CHN_N_PVAH = ((1 << QSE_AEM_CHN_S_PVAH ) - 1), QSE_AEM_CHN_N_PHA = ((1 << QSE_AEM_CHN_S_PHA ) - 1), QSE_AEM_CHN_N_PHAVEC = ((1 << QSE_AEM_CHN_S_PHAVEC) - 1) } |
The right justified bit masks of the various bit fields in the channel information word. More... | |
enum | _QSE_AEM_CHN_M { QSE_AEM_CHN_M_HIT, QSE_AEM_CHN_M_ACCEPT, QSE_AEM_CHN_M_VALID, QSE_AEM_CHN_M_PE, QSE_AEM_CHN_M_ADC, QSE_AEM_CHN_M_RNG, QSE_AEM_CHN_M_RSVD, QSE_AEM_CHN_M_ECHN, QSE_AEM_CHN_M_ECABLE, QSE_AEM_CHN_M_VAH, QSE_AEM_CHN_M_PVAH, QSE_AEM_CHN_M_PHA, QSE_AEM_CHN_M_PHAVEC } |
The in place bit masks of the various bit fields in the channel information word. More... | |
Functions | |
static __inline unsigned int | QSE_aem_chn__hit (unsigned int chn) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__accept (unsigned int chn) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__valid (unsigned int chn) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__pe (unsigned int chn) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__adc (unsigned int chn) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__rng (unsigned int chn) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__end (unsigned int chn) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__ecable (unsigned int chn) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__echn (unsigned int chn) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__vah (unsigned int chn) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__pvah (unsigned int chn) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__pha (unsigned int chn) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__hit_compose (unsigned int hit) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__accept_compose (unsigned int accept) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__valid_compose (unsigned int valid) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__pe_compose (unsigned int pe) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__adc_compose (unsigned int adc) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__rng_compose (unsigned int rng) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__ecable_compose (unsigned int ecable) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__echn_compose (unsigned int ecable) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__vah_compose (unsigned int vah) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__pvah_compose (unsigned int pvah) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__pha_compose (unsigned int pha) ALWAYS_INLINE |
static __inline unsigned int | QSE_aem_chn__phavec (unsigned int chn) |
static __inline unsigned int | QSE_aem_chn__phavec_compose (unsigned int phavec) |
CVS $Id: QSE_aem.h,v 1.4 2011/03/27 01:45:43 russell Exp $
#define QSE_AEM_CHN_COMPOSE | ( | _field, | |||
_val | ) | ((_val) & QSE_AEM_CHN_N_ ## _field) << (QSE_AEM_CHN_V_ ## _field) |
Composes the in-place value for the specified field and _val. This can be used to assemble an QSE_aem_chn by ORing the resulting values.
_field | The name of the field to compose. This is just the suffix of the enum QSE_AEM_CHN_M. | |
_val | The value of the field. This value will be masked to fit in the width of the field and then shifted into the proper bit position. |
acd_chn = QSE_AEM_CHN_COMPOSE (ECABLE, 1) | QSE_AEM_CHN_COMPOSE (ECHN, 12) | QSE_AEM_CHN_COMPOSE (RNG, 0) | QSE_AEM_CHN_COMPOSE (ADC, 100) | QSE_AEM_CHN_COMPOSE (PE, 0) | QSE_AEM_CHN_COMPOSE (VALID, 1) | QSE_AEM_CHN_COMPOSE (ACCEPT, 1) | QSE_AEM_CHN_COMPOSE (HIT, 1)
#define QSE_AEM_CHN_EXTRACT | ( | _chn, | |||
_field | ) | ((_chn) >> QSE_AEM_CHN_V_ ## _field) & (QSE_AEM_CHN_N_ ## _field) |
Extracts the specified bit field, _field from the specified QSE_aem_chn word, _chn.
_chn | The QSE_aem_chn word to extract the field from | |
_field | The name of the field to compose. This is just the suffix of the enum QSE_AEM_CHN_M. |
ecable = QSE_AEM_CHN_EXTRACT (chn, ECABLE); echn = QSE_AEM_CHN_EXTRACT (chn, ECHN); rng = QSE_AEM_CHN_EXTRACT (chn, RNG); adc = QSE_AEM_CHN_EXTRACT (chn, ADC); adc_pe = QSE_AEM_CHN_EXTRACT (chn, PE); adc_valid = QSE_AEM_CHN_EXTRACT (chn, VALID); accept = QSE_AEM_CHN_EXTRACT (chn, ACCEPT); hit = QSE_AEM_CHN_EXTRACT (chn, HIT);
Typedef for _QSE_aem_cableStatus;.
For the most part this structure captures the various errors that can be encountered when serially unpacking the data. The unpacker generally classifies errors into 3 classes
enum _QSE_AEM_CHN_M |
The in place bit masks of the various bit fields in the channel information word.
enum _QSE_AEM_CHN_N |
The right justified bit masks of the various bit fields in the channel information word.
enum _QSE_AEM_CHN_S |
The size, in bits, of the various bit fields in the channel information word.
enum _QSE_AEM_CHN_V |
The right justified bit offset, of the various bit fields in the channel information word.
enum _QSE_AEM_K |
enum _QSE_AEM_STATUS_M |
QSE_AEM status bits.