otsdaq_components
v2_04_01
Return to top level
Main Page
Classes
Files
File List
FSSRPurdueFirmware.h
1
#ifndef _ots_FSSRPurdueFirmware_h_
2
#define _ots_FSSRPurdueFirmware_h_
3
4
#include <string>
5
#include "otsdaq-components/DAQHardware/FSSRFirmwareBase.h"
6
//#include "otsdaq-components/DAQHardware/FirmwareSequence.h"
7
//#include "otsdaq-components/DetectorConfiguration/ROCStream.h"
8
//#include "otsdaq-components/DAQHardware/OtsUDPFirmwareCore.h"
9
10
namespace
ots
11
{
12
class
FrontEndFirmwareBase;
13
14
class
FSSRPurdueFirmware
:
public
FSSRFirmwareBase
15
{
16
public
:
17
FSSRPurdueFirmware
(std::string communicationFirmwareType,
18
unsigned
int
communicationFirmwareVersion = -1,
19
unsigned
int
applicationFirmwareVersion = -1);
20
virtual
~
FSSRPurdueFirmware
(
void
);
21
virtual
void
init(
void
);
22
23
protected
:
24
/*
25
//FEW specific methods
26
std::string configureClocks(std::string source, double frequency);
27
std::string resetDetector (int channel=-1);
28
std::string enableTrigger (void);
29
30
void readBurstDestinationIP(std::string& buffer);
31
void readBurstDestinationMAC(std::string& buffer);
32
void readBurstDestinationPort(std::string& buffer);
33
34
void writeBurstDestinationIP (std::string& buffer, const uint64_t value);
35
void writeBurstDestinationMAC (std::string& buffer, const uint64_t value);
36
void writeBurstDestinationPort(std::string& buffer, const uint64_t value);
37
38
39
void makeDACSequence (FirmwareSequence<uint64_t>& sequence, unsigned
40
int channel, const ROCStream& rocStream); void makeMaskSequence
41
(FirmwareSequence<uint64_t>& sequence, unsigned int channel, const ROCStream& rocStream);
42
void makeDACSequence (FirmwareSequence<uint32_t>& sequence, unsigned
43
int channel, const ROCStream& rocStream); void makeDACBuffer (std::string&
44
buffer, unsigned int channel, const ROCStream& rocStream); void makeDACBuffer
45
(std::vector<std::string>& buffer, unsigned int channel, const ROCStream& rocStream); void
46
makeMaskSequence (FirmwareSequence<uint32_t>& sequence, unsigned int
47
channel, const ROCStream& rocStream);
48
void makeMaskBuffer (std::string& buffer, unsigned int channel, const
49
ROCStream& rocStream); void setFrequencyFromClockState (std::string& buffer,
50
double frequency); bool isClockStateExternal (void);
51
52
//FER specific methods
53
std::string resetBCO (void);
54
std::string startStream (bool channel0, bool channel1, bool channel2, bool
55
channel3, bool channel4, bool channel5); std::string stopStream (void);
56
57
//protected:
58
void makeMaskSequence(FirmwareSequence<uint64_t>& sequence, unsigned int channel,
59
const ROCStream& rocStream, const std::string& registerName); void
60
makeMaskSequence(FirmwareSequence<uint32_t>& sequence, unsigned int channel, const
61
ROCStream& rocStream, const std::string& registerName); void makeMaskBuffer (std::string&
62
buffer, unsigned int channel, const ROCStream& rocStream, const std::string&
63
registerName);
64
65
void setCSRRegister (uint32_t total);
66
void writeCSRRegister (std::string& buffer);
67
68
uint32_t stripCSRRegisterValue_;
69
//Set values for register STRIP_CSR (Strip Control Register)
70
void setPacketSizeStripCSR (uint32_t size);
71
void enableChannelsStripCSR (bool channel0, bool channel1, bool channel2,
72
bool channel3, bool channel4, bool channel5); void
73
setExternalBCOClockSourceStripCSR(std::string clockSource); void setHaltStripCSR
74
(bool set); void enableBCOStripCSR (bool enable); void flushBuffersStripCSR
75
(void); void resetTriggerCounterStripCSR (std::string& buffer); void
76
resetBCOCounterStripCSR (void); void enableTriggerStripCSR (bool
77
enable); void sendTriggerDataStripCSR (bool send); void sendTriggerNumberStripCSR
78
(bool send); void sendBCOStripCSR (bool send); void enableStreamStripCSR
79
(bool enable); void resetDCMStripCSR (bool clear); uint32_t
80
waitDCMResetStripCSR (void); std::string readCSRRegister (void);
81
82
uint32_t stripResetRegisterValue_;
83
//Set values for register STRIP_RESET (Strip Reset)
84
void resetStripResetRegisterValue(void)
85
{
86
stripResetRegisterValue_ = 0;
87
}
88
void resetDAC (void);
89
void resetLink (bool channel0, bool channel1, bool channel2, bool
90
channel3, bool channel4, bool channel5); void clearErrors (bool channel0,
91
bool channel1, bool channel2, bool channel3, bool channel4, bool channel5); void clearFIFO
92
(bool channel0, bool channel1, bool channel2, bool channel3, bool channel4, bool
93
channel5); void resetChip (bool channel0, bool channel1, bool channel2,
94
bool channel3, bool channel4, bool channel5);
95
96
uint32_t stripBCODCMRegisterValue_;
97
void setFrequencyRatio (std::string& buffer, int numerator, int
98
denominator);
99
100
void configureStripTriggerUnbiased (std::string& buffer);
101
void configureTriggerInputs (std::string& buffer);
102
103
uint32_t stripTriggerCSRRegisterValue_;
104
//Registers setters
105
void BCOOffset(uint32_t offset);
106
void selectSpyFIFO(uint32_t input);
107
void halt(bool halt);
108
109
110
std::string resetSlaveBCO(void);
111
*/
112
};
113
}
114
115
#endif
ots::FSSRFirmwareBase
Definition:
FSSRFirmwareBase.h:54
ots::FSSRPurdueFirmware
Definition:
FSSRPurdueFirmware.h:14
src
otsdaq-components
DAQHardware
FSSRPurdueFirmware.h
Generated on Fri Jun 28 2019 14:53:17 for otsdaq_components by
1.8.5