GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LCBD / V1-5-0 > lcbd / rad750
#include "PBI/Endianness.h"
Classes | |
struct | _LATP_tx_bf |
Structure that defines the LATp transmitter statistics word. More... | |
union | _LATP_tx |
Union for 16-bit LATp transmitter statistics word. More... | |
struct | _LATP_rx_bf |
Structure that defines the LATp receiver statistics word. More... | |
union | _LATP_rx |
Union for 16-bit LATp receiver statistics word. More... | |
struct | _LATP_cell_hdr_bf |
Layout of a control cell header. More... | |
union | _LATP_cell_hdr |
union for 16-bit control cell header More... | |
struct | _LATP_ebm_hdr_bf |
Layout of 16-bit field header word added by the EBM. More... | |
union | _LATP_ebm_hdr |
union for 16-bit field header word added by the EBM More... | |
struct | _LATP_pckt_hdr_us |
The LATP packet header as two unsigned shorts. More... | |
struct | _LATP_pckt_hdr_bf |
The LATP packet header as ebm and header by bitfields. More... | |
union | _LATP_pckt_hdr |
Union of the subfield, bit field and unsigned int representations of a packet header word. More... | |
struct | _LATP_evt_summary_bf |
Map of 32-bit event summary, this is the trigger message. More... | |
union | _LATP_evt_summary |
Union for 32-bit event summary word, also known as the trigger message. More... | |
Defines | |
#define | LATP_CELL_SIZE (4) |
Number of 32-bit words in a LATp cell. | |
#define | LATP_CELL_SIZE_BYTES 16 |
Number of bytes in a LATp cell. | |
#define | LATP_CELL_SIZE_INTS 4 |
Number of ints in a LATp cell. | |
#define | LATP_NCELLS_BYTES(_nbytes) ((_nbytes + LATP_CELL_SIZE_BYTES - 1)/LATP_CELL_SIZE_BYTES) |
Rounds _nbytes to the nearest cell size. | |
#define | LATP_EVT_TAG(_evt_summary_word) |
Constructs the event tag/number from a 32-bit representation of the event summary word. | |
#define | LATP_EVT_TAG_LO_HI(_tagLo, _tagHi) (((_tagHi) << LATP_EVT_SUMMARY_S_TAG_LO) | (_tagLo)) |
Constructs the event tag/number from the low (least significant) bits and the high (most significant) bits of the fields found in the event summary word. | |
Typedefs | |
typedef enum _LATP_TX_S | LATP_TX_S |
Typedef for enum _LATP_TX_S. | |
typedef enum _LATP_TX_V | LATP_TX_V |
Typedef for enum _LATP_TX_V. | |
typedef enum _LATP_TX_M | LATP_TX_M |
Typedef for enum _LATP_TX_M. | |
typedef struct _LATP_tx_bf | LATP_tx_bf |
Typedef for struct _LATP_tx_bf. | |
typedef union _LATP_tx | LATP_tx |
Typedef for union _LATP_t. | |
typedef enum _LATP_RX_S | LATP_RX_S |
Typedef for enum _LATP_RX_S. | |
typedef enum _LATP_RX_V | LATP_RX_V |
Typedef for enum _LATP_RX_V. | |
typedef enum _LATP_RX_M | LATP_RX_M |
Typedef for enum _LATP_RX_M. | |
typedef struct _LATP_rx_bf | LATP_rx_bf |
Typedef for struct _LATP_rx_bf. | |
typedef union _LATP_rx | LATP_rx |
typedef for union _LATP_rx | |
typedef enum _LATP_CELL_HDR_S | LATP_CELL_HDR_S |
Typedef for enum _LATP_CELL_HDR_S. | |
typedef enum _LATP_CELL_HDR_V | LATP_CELL_HDR_V |
Typedef for enum _LATP_CELL_HDR_V. | |
typedef enum _LATP_CELL_HDR_M | LATP_CELL_HDR_M |
Typedef for enum _LATP_CELL_HDR_M. | |
typedef struct _LATP_cell_hdr_bf | LATP_cell_hdr_bf |
typedef for union _LATP_cell_hdr_bf | |
typedef union _LATP_cell_hdr | LATP_cell_hdr |
typedef for union LATP_cell_hdr | |
typedef enum _LATP_EBM_HDR_S | LATP_EBM_HDR_S |
Typedef for enum _LATP_EBM_HDR_S. | |
typedef enum _LATP_EBM_HDR_V | LATP_EBM_HDR_V |
Typedef for enum _LATP_EBM_HDR_V. | |
typedef enum _LATP_EBM_HDR_M | LATP_EBM_HDR_M |
Typedef for enum _LATP_EBM_HDR_M. | |
typedef struct _LATP_ebm_hdr_bf | LATP_ebm_hdr_bf |
Typedef for union LATP_ebm_hdr_bf. | |
typedef union _LATP_ebm_hdr | LATP_ebm_hdr |
Typedef for union _LATP_ebm_hdr. | |
typedef struct _LATP_pckt_hdr_us | LATP_pckt_hdr_us |
Typedef for struct _LATP_pckt_hdr_us. | |
typedef struct _LATP_pckt_hdr_bf | LATP_pckt_hdr_bf |
Typedef for struct _LATP_pckt_hdr_bf. | |
typedef union _LATP_pckt_hdr | LATP_pckt_hdr |
Typedef for union _LATP_pckt_hdr. | |
typedef enum _LATP_EVT_SUMMARY_S | LATP_EVT_SUMMARY_S |
typedef enum _LATP_EVT_SUMMARY_V | LATP_EVT_SUMMARY_V |
typedef enum _LATP_EVT_SUMMARY_M | LATP_EVT_SUMMARY_M |
typedef struct _LATP_evt_summary_bf | LATP_evt_summary_bf |
Typedef for struct _LATP_event_summary_bf. | |
typedef union _LATP_evt_summary | LATP_evt_summary |
Typedef fof union _LATP_event_summary. | |
Enumerations | |
enum | _LATP_TX_S { LATP_TX_S_CNT = 14, LATP_TX_S_BUSY_ASSERT = 1, LATP_TX_S_UNUSED1 = 1 } |
The bit fields of the LATP transmit status/statistics register size in bits. More... | |
enum | _LATP_TX_V { LATP_TX_V_CNT = 0, LATP_TX_V_BUSY_ASSERT = 14, LATP_TX_V_UNUSED1 = 15 } |
The bit fields of the LATP transmit status/statistics register right bit offset. More... | |
enum | _LATP_TX_M { LATP_TX_M_CNT = MASK (LATP_TX, CNT), LATP_TX_M_BUSY_ASSERT = MASK (LATP_TX, BUSY_ASSERT), LATP_TX_M_UNUSED1 = MASK (LATP_TX, UNUSED1) } |
The bit fields of the LATP transmit status/statistics register inplace masks. More... | |
enum | _LATP_RX_S { LATP_RX_S_CNT = 14, LATP_RX_S_CELL_PARITY = 1, LATP_RX_S_HEADER_PARITY = 1 } |
The bit fields of the LATP receivet status/statistics register size in bits. More... | |
enum | _LATP_RX_V { LATP_RX_V_CNT = 0, LATP_RX_V_CELL_PARITY = 14, LATP_RX_V_HEADER_PARITY = 15 } |
The bit fields of the LATP receivet status/statistics register right bit offset. More... | |
enum | _LATP_RX_M { LATP_RX_M_CNT = MASK (LATP_RX, CNT), LATP_RX_M_CELL_PARITY = MASK (LATP_RX, CELL_PARITY), LATP_RX_M_HEADER_PARITY = MASK (LATP_RX, HEADER_PARITY) } |
The bit fields of the LATP receivet status/statistics register right bit offset. More... | |
enum | _LATP_CELL_HDR_S { LATP_CELL_HDR_S_PARITY = 1, LATP_CELL_HDR_S_SRC = 6, LATP_CELL_HDR_S_PROTO = 2, LATP_CELL_HDR_S_DST = 6, LATP_CELL_HDR_S_RSP = 1 } |
Bit fields of the LATP cell header, size in bits. More... | |
enum | _LATP_CELL_HDR_V { LATP_CELL_HDR_V_PARITY = 0, LATP_CELL_HDR_V_SRC = 1, LATP_CELL_HDR_V_PROTO = 7, LATP_CELL_HDR_V_DST = 9, LATP_CELL_HDR_V_RSP = 15 } |
Bit fields of the LATP cell header, right offset. More... | |
enum | _LATP_CELL_HDR_M { LATP_CELL_HDR_M_PARITY = MASK (LATP_CELL_HDR, PARITY), LATP_CELL_HDR_M_SRC = MASK (LATP_CELL_HDR, SRC), LATP_CELL_HDR_M_PROTO = MASK (LATP_CELL_HDR, PROTO), LATP_CELL_HDR_M_DST = MASK (LATP_CELL_HDR, DST), LATP_CELL_HDR_M_RSP = MASK (LATP_CELL_HDR, RSP) } |
Bit fields of the LATP cell header, in place mask. More... | |
enum | _LATP_EBM_HDR_S { LATP_EBM_HDR_S_LEN = 8, LATP_EBM_HDR_S_SEQ = 5, LATP_EBM_HDR_S_ERR = 3 } |
Bit fields of the EBM header word, size in bits. More... | |
enum | _LATP_EBM_HDR_V { LATP_EBM_HDR_V_LEN = 0, LATP_EBM_HDR_V_SEQ = 8, LATP_EBM_HDR_V_ERR = 13 } |
Bit fields of the EBM header word, right offset. More... | |
enum | _LATP_EBM_HDR_M { LATP_EBM_HDR_M_LEN = MASK (LATP_EBM_HDR, LEN), LATP_EBM_HDR_M_SEQ = MASK (LATP_EBM_HDR, SEQ), LATP_EBM_HDR_M_ERR = MASK (LATP_EBM_HDR, ERR) } |
Bit fields of the EBM header word, in place masks. More... | |
enum | _LATP_EVT_SUMMARY_S { LATP_EVT_SUMMARY_S_TRG_PARITY_ERR = 1, LATP_EVT_SUMMARY_S_TAG_HI = 15, LATP_EVT_SUMMARY_S_UNUSED1 = 4, LATP_EVT_SUMMARY_S_DIAG = 1, LATP_EVT_SUMMARY_S_ERROR = 1, LATP_EVT_SUMMARY_S_MARKER = 3, LATP_EVT_SUMMARY_S_ZERO_SUPPRESS = 1, LATP_EVT_SUMMARY_S_READOUT_4 = 1, LATP_EVT_SUMMARY_S_TACK = 1, LATP_EVT_SUMMARY_S_TAG_LO = 2, LATP_EVT_SUMMARY_S_CAL_STROBE = 1, LATP_EVT_SUMMARY_S_START_BIT = 1 } |
The event summary word fields, size in bits. More... | |
enum | _LATP_EVT_SUMMARY_V { LATP_EVT_SUMMARY_V_TRG_PARITY_ERR = 0, LATP_EVT_SUMMARY_V_TAG_HI = 1, LATP_EVT_SUMMARY_V_UNUSED1 = 16, LATP_EVT_SUMMARY_V_DIAG = 20, LATP_EVT_SUMMARY_V_ERROR = 21, LATP_EVT_SUMMARY_V_MARKER = 22, LATP_EVT_SUMMARY_V_ZERO_SUPPRESS = 25, LATP_EVT_SUMMARY_V_READOUT_4 = 26, LATP_EVT_SUMMARY_V_TACK = 27, LATP_EVT_SUMMARY_V_TAG_LO = 28, LATP_EVT_SUMMARY_V_CAL_STROBE = 30, LATP_EVT_SUMMARY_V_START_BIT = 31 } |
The event summary word fields, right offsets. More... | |
enum | _LATP_EVT_SUMMARY_M { LATP_EVT_SUMMARY_M_TRG_PARITY_ERR = MASK (LATP_EVT_SUMMARY, TRG_PARITY_ERR), LATP_EVT_SUMMARY_M_TAG_HI = MASK (LATP_EVT_SUMMARY, TAG_HI), LATP_EVT_SUMMARY_M_UNUSED1 = MASK (LATP_EVT_SUMMARY, UNUSED1), LATP_EVT_SUMMARY_M_DIAG = MASK (LATP_EVT_SUMMARY, DIAG), LATP_EVT_SUMMARY_M_ERROR = MASK (LATP_EVT_SUMMARY, ERROR), LATP_EVT_SUMMARY_M_MARKER = MASK (LATP_EVT_SUMMARY, MARKER), LATP_EVT_SUMMARY_M_ZERO_SUPPRESS = MASK (LATP_EVT_SUMMARY, ZERO_SUPPRESS), LATP_EVT_SUMMARY_M_READOUT_4 = MASK (LATP_EVT_SUMMARY, READOUT_4), LATP_EVT_SUMMARY_M_TACK = MASK (LATP_EVT_SUMMARY, TACK), LATP_EVT_SUMMARY_M_TAG_LO = MASK (LATP_EVT_SUMMARY, TAG_LO), LATP_EVT_SUMMARY_M_CAL_STROBE = MASK (LATP_EVT_SUMMARY, CAL_STROBE), LATP_EVT_SUMMARY_M_START_BIT = MASK (LATP_EVT_SUMMARY, START_BIT) } |
The event summary word fields, in place masks. More... |
CVS $Id
Name | Description | Fields of Interest
| |
LATP_tx | Transmission Statistics and Status | None
| |
LATP_rx | Received Statistics and Status | None
| |
LATP_cell_hdr | The 16-bit cell header | The protocol field is used to dispatch data packets on the event fabric to the proper destination. The respond, destination and source fields are used when composing commands items and parsing result items, neither of which is a driver activity. The parity field is strictly the purvey of the harware
| |
LATP_ebm_hdr | The 16-bit Event Builder Module Header | This is slapped on by the EBM and, other than absorbing space, the fields in the data structure are not of any interest to the driver |
|
LATP_pckt_hdr | The 32-bit combination of the 16-bit LATp cell header and the EBM header | Not defined explicitly by LATP-SS-606, but is a convenience so that the driver and software can pass and manipulate the value as a coherent object |
|
LATP_evt_summary | The 32-bit summary word assembled by each hardware contributor. It is composed from the bits and pieces of the trigger message and contributor's data | None. These data structure is aimed at software the decodes the event contributor
|
#define LATP_EVT_TAG | ( | _evt_summary_word | ) |
Value:
((((_evt_summary_word) & LATP_EVT_SUMMARY_M_TAG_HI) \ >> (LATP_EVT_SUMMARY_V_TAG_HI - \ LATP_EVT_SUMMARY_S_TAG_LO)) \ (((_evt_summary_word) & LATP_EVT_SUMMARY_M_TAG_LO) \ >> LATP_EVT_SUMMARY_V_TAG_LO))
The | 17 event tag/number |
_evt_summary_word | The 32-bit representation of the event summary word. |
#define LATP_EVT_TAG_LO_HI | ( | _tagLo, | |||
_tagHi | ) | (((_tagHi) << LATP_EVT_SUMMARY_S_TAG_LO) | (_tagLo)) |
Constructs the event tag/number from the low (least significant) bits and the high (most significant) bits of the fields found in the event summary word.
The | 17 event tag/number |
_tagLo | The low (least significant) bits of the event tag/number | |
_tagHi | The high ( most significant) bits of the event tag/number |
#define LATP_NCELLS_BYTES | ( | _nbytes | ) | ((_nbytes + LATP_CELL_SIZE_BYTES - 1)/LATP_CELL_SIZE_BYTES) |
Rounds _nbytes to the nearest cell size.
Typedef for enum _LATP_EBM_HDR_M.
LAT_ebm_hdr_bf
Typedef for enum _LATP_EBM_HDR_S.
LAT_ebm_hdr_bf
Typedef for enum _LATP_EBM_HDR_V.
LAT_ebm_hdr_bf
Typedef fof union _LATP_event_summary.
Typedef for union _LATP_pckt_hdr.
latp.ui = 0; // Zero all 32-bits latp.us.ebm = 0; // Zero just the ebm word latp.us.hdr = 0; // Zero just the LATp cell header latp.bf.ebm.len = 0; // Zero just the ebm length field latp.bf.hdr.proto = 1; // Set the proto field
enum _LATP_CELL_HDR_M |
Bit fields of the LATP cell header, in place mask.
enum _LATP_CELL_HDR_S |
Bit fields of the LATP cell header, size in bits.
enum _LATP_CELL_HDR_V |
Bit fields of the LATP cell header, right offset.
enum _LATP_EBM_HDR_M |
enum _LATP_EBM_HDR_S |
enum _LATP_EBM_HDR_V |
enum _LATP_EVT_SUMMARY_M |
The event summary word fields, in place masks.
enum _LATP_EVT_SUMMARY_S |
The event summary word fields, size in bits.
enum _LATP_EVT_SUMMARY_V |
The event summary word fields, right offsets.
enum _LATP_RX_M |
The bit fields of the LATP receivet status/statistics register right bit offset.
enum _LATP_RX_S |
The bit fields of the LATP receivet status/statistics register size in bits.
enum _LATP_RX_V |
The bit fields of the LATP receivet status/statistics register right bit offset.
enum _LATP_TX_M |
enum _LATP_TX_S |
enum _LATP_TX_V |