GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> EDS / dev > edsprint / rad750


Interface   Data Structures   File List   Data Fields   Globals  

EBF_ebw.h File Reference

Layouts out the fields of the Event Builder Word. More...

#include <PBI/Endianness.h>

Classes

struct  _EBF_ebw_bf
 Layout of a LATP cell + EBM word. More...
struct  _EBF_ebw_us
 Layout of a LATP cell + EBM word as unsigned short ints. More...
union  _EBF_ebw
 Defines the LATP cell header and EBM word as a union between an unsigned int and the bit field structure. More...

Defines

#define EBF_EBW_LEN_TO_BYTES(_len)   ((_len) << 4)
 Converts the contributor length found in the Event Builder word to bytes.

Typedefs

typedef enum _EBF_EBW_S EBF_EBW_S
 Typedef for enum _EBF_EBW_S.
typedef enum _EBF_EBW_V EBF_EBW_V
 Typedef for enum _EBF_EBW_V.
typedef enum _EBF_EBW_M EBF_EBW_M
 Typedef for enum _EBF_EBW_M.
typedef struct _EBF_ebw_bf EBF_ebw_bf
 typedef for union _EBF_ebw_bf
typedef struct _EBF_ebw_us EBF_ebw_us
 typedef for union _EBF_ebw_us
typedef union _EBF_ebw EBF_ebw
 Typedef for union _EBF_ebw.

Enumerations

enum  _EBF_EBW_S {
  EBF_EBW_S_LEN = 8,
  EBF_EBW_S_SEQ = 5,
  EBF_EBW_S_ERR = 3,
  EBF_EBW_S_PARITY = 1,
  EBF_EBW_S_SRC = 6,
  EBF_EBW_S_PROTO = 2,
  EBF_EBW_S_DST = 6,
  EBF_EBW_S_DSTU = 5,
  EBF_EBW_S_DSTMB1 = 1,
  EBF_EBW_S_RSP = 1
}
 Bit fields of the LATP cell header + EBM word, size in bits. More...
enum  _EBF_EBW_V {
  EBF_EBW_V_LEN = 0,
  EBF_EBW_V_SEQ = SHIFT (EBF_EBW, LEN),
  EBF_EBW_V_ERR = SHIFT (EBF_EBW, SEQ),
  EBF_EBW_V_PARITY = SHIFT (EBF_EBW, ERR),
  EBF_EBW_V_SRC = SHIFT (EBF_EBW, PARITY),
  EBF_EBW_V_PROTO = SHIFT (EBF_EBW, SRC),
  EBF_EBW_V_DST = SHIFT (EBF_EBW, PROTO),
  EBF_EBW_V_DSTU = SHIFT (EBF_EBW, PROTO),
  EBF_EBW_V_DSTMB1 = SHIFT (EBF_EBW, DSTU),
  EBF_EBW_V_RSP = SHIFT (EBF_EBW, DST)
}
 Bit fields of the LATP cell + EBM word, right offset. More...
enum  _EBF_EBW_M {
  EBF_EBW_M_LEN = MASK (EBF_EBW, LEN),
  EBF_EBW_M_SEQ = MASK (EBF_EBW, SEQ),
  EBF_EBW_M_ERR = MASK (EBF_EBW, ERR),
  EBF_EBW_M_PARITY = MASK (EBF_EBW, PARITY),
  EBF_EBW_M_SRC = MASK (EBF_EBW, SRC),
  EBF_EBW_M_PROTO = MASK (EBF_EBW, PROTO),
  EBF_EBW_M_DST = MASK (EBF_EBW, DST),
  EBF_EBW_M_DSTU = MASK (EBF_EBW, DSTU),
  EBF_EBW_M_DSTMB1 = MASK (EBF_EBW, DSTMB1),
  EBF_EBW_M_RSP = MASK (EBF_EBW, RSP)
}
 Bit fields of the LATP cell + EBM word, in place mask. More...


Detailed Description

Layouts out the fields of the Event Builder Word.

Author:
JJRussell - russell@slac.stanford.edu
   CVS $Id: EBF_ebw.h,v 1.6 2011/03/25 22:16:54 russell Exp $

The Event Builder Word is somewhat of a misnomer, since it refers to two 16 bit words. The first 16-bit word is the LATp header word and the second word is the word tacked on by the Event Builder when it ships a packet out. And here-in lies a source of much confusion. While the Event Builder Module's primary responsibility is to build events, it is also responsible for routing CPU-to-CPU packets. In both cases it tacks on this data structure.

Define Documentation

#define EBF_EBW_LEN_TO_BYTES ( _len   )     ((_len) << 4)

Converts the contributor length found in the Event Builder word to bytes.

Returns:
The equivalent number of bytes
Parameters:
_len The length to convert

Referenced by EBF__ctbSize().


Typedef Documentation

typedef for union _EBF_ebw_bf

See also:
EBF_ebw

Typedef for enum _EBF_EBW_M.

See also:
EBF_ebw

EBF_ebw_bf

Typedef for enum _EBF_EBW_S.

See also:
EBF_ebw

EBF_ebw_bf

typedef for union _EBF_ebw_us

See also:
EBF_ebw_bf

EBF_ebw

Typedef for enum _EBF_EBW_V.

See also:
EBF_ebw

EBF_ebw_bf


Enumeration Type Documentation

enum _EBF_EBW_M

Bit fields of the LATP cell + EBM word, in place mask.

Enumerator:
EBF_EBW_M_LEN  Packet length, in units of 128-bit cells, in place mask
EBF_EBW_M_SEQ  Packet sequence number, in place mask
EBF_EBW_M_ERR  Packet error, in place mask
EBF_EBW_M_PARITY  Odd parity of the header, in place mask
EBF_EBW_M_SRC  LAT source address, in place mask
EBF_EBW_M_PROTO  LATp protocol, in place mask
EBF_EBW_M_DST  LAT destination address, in place mask
EBF_EBW_M_DSTU  LAT destination address, unique piece, does not include the Must Be One bit, in place mask
EBF_EBW_M_DSTMB1  LAT Must Be One bit of the destination address, in place mask
EBF_EBW_M_RSP  Boolean, does packet expect a response, in place mask

enum _EBF_EBW_S

Bit fields of the LATP cell header + EBM word, size in bits.

Enumerator:
EBF_EBW_S_LEN  Packet length, in units of 128-bit cells, size in bits
EBF_EBW_S_SEQ  Packet sequence number, size in bits
EBF_EBW_S_ERR  Packet error, size in bits
EBF_EBW_S_PARITY  Odd parity of the header, size in bits
EBF_EBW_S_SRC  LAT source address, size in bits
EBF_EBW_S_PROTO  LATp protocol size in bits
EBF_EBW_S_DST  LAT destination address, includes Must Be One bit, size if bits
EBF_EBW_S_DSTU  The 'unique' part of the LAT destination address, does not include the Must Be One bit.
EBF_EBW_S_DSTMB1  The 'Must Be One' bit of the LAT destination address
EBF_EBW_S_RSP  Boolean, does packet expect a response, size in bits

enum _EBF_EBW_V

Bit fields of the LATP cell + EBM word, right offset.

Enumerator:
EBF_EBW_V_LEN  Packet length, in units of 128-bit cells, right offset
EBF_EBW_V_SEQ  Packet sequence number, right offset
EBF_EBW_V_ERR  Packet error, right offset
EBF_EBW_V_PARITY  Odd parity of the header, right offset
EBF_EBW_V_SRC  LAT source address, right offset
EBF_EBW_V_PROTO  LATp protocol right offset
EBF_EBW_V_DST  LAT destination address, right offset
EBF_EBW_V_DSTU  LAT destination address, unique piece, does not include the Must Be One bit, right offset
EBF_EBW_V_DSTMB1  LAT Must Be One bit of the destination address, right offset
EBF_EBW_V_RSP  Boolean, does packet expect a response, right offset


Generated on Fri Nov 30 09:37:15 2012 by  doxygen 1.5.8