CMS 3D CMS Logo

FEDTrailer.cc
Go to the documentation of this file.
1 
8 
9 FEDTrailer::FEDTrailer(const unsigned char* trailer) : theTrailer(reinterpret_cast<const fedt_t*>(trailer)) {}
10 
12 
14 
15 uint16_t FEDTrailer::crc() const { return FED_CRCS_EXTRACT(theTrailer->conscheck); }
16 
18 
20 
22 
24 
26 
28 
29 uint32_t FEDTrailer::conscheck() const { return theTrailer->conscheck; }
30 
32  unsigned char* trailer, uint32_t lenght, uint16_t crc, uint8_t evtStatus, uint8_t ttsBits, bool moreTrailers) {
33  // FIXME: should check that input ranges are OK!!!
34  fedt_t* t = reinterpret_cast<fedt_t*>(trailer);
35 
36  t->eventsize = (FED_SLINK_END_MARKER << FED_TCTRLID_SHIFT) | ((lenght << FED_EVSZ_SHIFT) & FED_EVSZ_MASK);
37 
38  t->conscheck = ((crc << FED_CRCS_SHIFT) & FED_CRCS_MASK) | ((evtStatus << FED_STAT_SHIFT) & FED_STAT_MASK) |
40 
41  if (moreTrailers)
43 }
44 
46 
47 const uint32_t FEDTrailer::length = sizeof(fedt_t);
FED_CRC_MODIFIED_EXTRACT
#define FED_CRC_MODIFIED_EXTRACT(a)
Definition: fed_trailer.h:59
fed_trailer.h
FED_CRCS_MASK
#define FED_CRCS_MASK
Definition: fed_trailer.h:38
FED_MORE_TRAILERS_WIDTH
#define FED_MORE_TRAILERS_WIDTH
Definition: fed_trailer.h:51
FEDTrailer::wrongFedId
bool wrongFedId() const
True if the FED_ID given by the FED is not the one expected by the FRL.
Definition: FEDTrailer.cc:27
FED_EVSZ_SHIFT
#define FED_EVSZ_SHIFT
Definition: fed_trailer.h:32
FEDTrailer::crc
uint16_t crc() const
Cyclic Redundancy Code of the event fragment including header and trailer.
Definition: FEDTrailer.cc:15
FED_MORE_TRAILERS_SHIFT
#define FED_MORE_TRAILERS_SHIFT
Definition: fed_trailer.h:52
FEDTrailer::evtStatus
uint8_t evtStatus() const
Event fragment status information.
Definition: FEDTrailer.cc:17
watchdog.const
const
Definition: watchdog.py:83
fedt_struct::conscheck
uint32_t conscheck
Definition: fed_trailer.h:23
fedt_struct
Definition: fed_trailer.h:19
FED_STAT_MASK
#define FED_STAT_MASK
Definition: fed_trailer.h:43
FEDTrailer::check
bool check() const
Check that the trailer is OK.
Definition: FEDTrailer.cc:45
fedt_t
struct fedt_struct fedt_t
FED_SLINK_END_MARKER
#define FED_SLINK_END_MARKER
Definition: fed_trailer.h:24
FED_MORE_TRAILERS_EXTRACT
#define FED_MORE_TRAILERS_EXTRACT(a)
Definition: fed_trailer.h:54
FEDTrailer::slinkError
bool slinkError() const
True if the FRL has detected a transmission error over the s-link cable.
Definition: FEDTrailer.cc:25
FEDTrailer::FEDTrailer
FEDTrailer(const unsigned char *trailer)
Constructor.
Definition: FEDTrailer.cc:9
FED_EVSZ_MASK
#define FED_EVSZ_MASK
Definition: fed_trailer.h:33
fedt_struct::eventsize
uint32_t eventsize
Definition: fed_trailer.h:24
FED_TCTRLID_EXTRACT
#define FED_TCTRLID_EXTRACT(a)
Definition: fed_trailer.h:29
FEDTrailer::moreTrailers
bool moreTrailers() const
Definition: FEDTrailer.cc:21
FED_TCTRLID_SHIFT
#define FED_TCTRLID_SHIFT
Definition: fed_trailer.h:27
FEDTrailer::crcModified
bool crcModified() const
True if the CRC value has been modified by the S-link sender card.
Definition: FEDTrailer.cc:23
FEDTrailer::set
static void set(unsigned char *trailer, uint32_t lenght, uint16_t crc, uint8_t evt_stat, uint8_t tts, bool moreTrailers=false)
Set all fields in the trailer.
Definition: FEDTrailer.cc:31
FED_EVSZ_EXTRACT
#define FED_EVSZ_EXTRACT(a)
Definition: fed_trailer.h:34
FED_TTSI_MASK
#define FED_TTSI_MASK
Definition: fed_trailer.h:48
FEDTrailer::conscheck
uint32_t conscheck() const
Return the word containing the consistency checks.
Definition: FEDTrailer.cc:29
FED_CRCS_EXTRACT
#define FED_CRCS_EXTRACT(a)
Definition: fed_trailer.h:39
FED_TTSI_SHIFT
#define FED_TTSI_SHIFT
Definition: fed_trailer.h:47
FEDTrailer::length
static const uint32_t length
Definition: FEDTrailer.h:57
FEDTrailer::theTrailer
const fedt_struct * theTrailer
Definition: FEDTrailer.h:60
FED_SLINK_ERROR_EXTRACT
#define FED_SLINK_ERROR_EXTRACT(a)
Definition: fed_trailer.h:64
FEDTrailer::ttsBits
uint8_t ttsBits() const
Current value of the Trigger Throttling System bits.
Definition: FEDTrailer.cc:19
FED_STAT_EXTRACT
#define FED_STAT_EXTRACT(a)
Definition: fed_trailer.h:44
FEDTrailer::~FEDTrailer
virtual ~FEDTrailer()
Destructor.
Definition: FEDTrailer.cc:11
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644
FED_TTSI_EXTRACT
#define FED_TTSI_EXTRACT(a)
Definition: fed_trailer.h:49
FED_WRONG_FEDID_EXTRACT
#define FED_WRONG_FEDID_EXTRACT(a)
Definition: fed_trailer.h:69
FED_CRCS_SHIFT
#define FED_CRCS_SHIFT
Definition: fed_trailer.h:37
FED_STAT_SHIFT
#define FED_STAT_SHIFT
Definition: fed_trailer.h:42
FEDTrailer::fragmentLength
uint32_t fragmentLength() const
The length of the event fragment counted in 64-bit words including header and trailer.
Definition: FEDTrailer.cc:13
FEDTrailer.h