DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
timing
pybindsrc
definitions.cpp
Go to the documentation of this file.
1
8
9
#include "
timing/definitions.hpp
"
10
#include "
timing/EndpointNode.hpp
"
11
#include "
timing/MasterNode.hpp
"
12
#include "
timing/IONode.hpp
"
13
#include "
timing/HSINode.hpp
"
14
15
#include <pybind11/pybind11.h>
16
#include <pybind11/stl.h>
17
18
#include <utility>
19
#include <map>
20
#include <string>
21
22
namespace
py = pybind11;
23
24
namespace
dunedaq
{
25
namespace
timing
{
26
namespace
python
{
27
28
std::map<std::string, FixedLengthCommandType>
swap_commands_map
(
const
std::map<FixedLengthCommandType, std::string>& command_map)
29
{
30
std::map<std::string, FixedLengthCommandType> swapped_map;
31
for
(
auto
& cmd: command_map) {
32
swapped_map.emplace( std::pair<std::string,FixedLengthCommandType>(cmd.second, cmd.first) );
33
}
34
return
swapped_map;
35
}
36
37
void
38
register_definitions
(py::module& m)
39
{
40
py::enum_<BoardType>(m,
"BoardType"
)
41
.value(
"kBoardFMC"
,
kBoardFMC
)
42
.value(
"kBoardSim"
,
kBoardSim
)
43
.value(
"kBoardPC059"
,
kBoardPC059
)
44
.value(
"kBoardMicrozed"
,
kBoardMicrozed
)
45
.value(
"kBoardTLU"
,
kBoardTLU
)
46
.value(
"kBoardFIB"
,
kBoardFIB
)
47
.value(
"kBoardMIB"
,
kBoardMIB
)
48
.value(
"kBoardPC069"
,
kBoardPC069
)
49
.value(
"kBoardGIB"
,
kBoardGIB
)
50
.value(
"kBoardGIBV3"
,
kBoardGIBV3
)
51
.value(
"kBoardUnknown"
,
kBoardUnknown
)
52
.export_values();
53
54
py::enum_<BoardRevision>(m,
"BoardRevision"
)
55
.value(
"kFMCRev1"
,
kFMCRev1
)
56
.value(
"kFMCRev2"
,
kFMCRev2
)
57
.value(
"kFMCRev3"
,
kFMCRev3
)
58
.value(
"kFMCRev4"
,
kFMCRev4
)
59
.value(
"kPC059Rev1"
,
kPC059Rev1
)
60
.value(
"kTLURev1"
,
kTLURev1
)
61
.value(
"kSIMRev1"
,
kSIMRev1
)
62
.value(
"kFIBRev1"
,
kFIBRev1
)
63
.value(
"kMIBRev1"
,
kMIBRev1
)
64
.value(
"kPC069a"
,
kPC069a
)
65
.value(
"kPC069b"
,
kPC069b
)
66
.value(
"kPC069c"
,
kPC069c
)
67
.value(
"kMIBRev2"
,
kMIBRev2
)
68
.value(
"kGIBRev1"
,
kGIBRev1
)
69
.value(
"kFIBRev2"
,
kFIBRev2
)
70
.export_values();
71
72
py::enum_<CarrierType>(m,
"CarrierType"
)
73
.value(
"kCarrierEnclustraA35"
,
kCarrierEnclustraA35
)
74
.value(
"kCarrierKC705"
,
kCarrierKC705
)
75
.value(
"kCarrierMicrozed"
,
kCarrierMicrozed
)
76
.value(
"kCarrierATFC"
,
kCarrierATFC
)
77
.value(
"kCarrierAFC"
,
kCarrierAFC
)
78
.value(
"kCarrierNexusVideo"
,
kCarrierNexusVideo
)
79
.value(
"kCarrierTrenzTE0712"
,
kCarrierTrenzTE0712
)
80
.value(
"kCarrierUnknown"
,
kCarrierUnknown
)
81
.export_values();
82
83
py::enum_<DesignType>(m,
"DesignType"
)
84
.value(
"kDesignMaster"
,
kDesignMaster
)
85
.value(
"kDesignOuroborosSim"
,
kDesignOuroborosSim
)
86
.value(
"kDesignOuroboros"
,
kDesignOuroboros
)
87
.value(
"kDesignTest"
,
kDesignTest
)
88
.value(
"kDesignEndpoint"
,
kDesignEndpoint
)
89
.value(
"kDesignFanout"
,
kDesignFanout
)
90
.value(
"kDesignOverlord"
,
kDesignOverlord
)
91
.value(
"kDesignEndpoBICRT"
,
kDesignEndpoBICRT
)
92
.value(
"kDesignChronos"
,
kDesignChronos
)
93
.value(
"kDesignBoreas"
,
kDesignBoreas
)
94
.value(
"kDesignKerberos"
,
kDesignKerberos
)
95
.value(
"kDesignGaia"
,
kDesignGaia
)
96
.value(
"kDesignCharon"
,
kDesignCharon
)
97
.value(
"kDesignHades"
,
kDesignHades
)
98
.value(
"kDesignUnknown"
,
kDesignUnknown
)
99
.export_values();
100
101
py::enum_<FixedLengthCommandType>(m,
"FixedLengthCommandType"
)
102
.value(
"TimeSync"
,
TimeSync
)
103
.value(
"Echo"
,
Echo
)
104
.value(
"SpillStart"
,
SpillStart
)
105
.value(
"SpillStop"
,
SpillStop
)
106
.value(
"RunStart"
,
RunStart
)
107
.value(
"RunStop"
,
RunStop
)
108
.value(
"WibCalib"
,
WibCalib
)
109
.value(
"SSPCalib"
,
SSPCalib
)
110
.value(
"FakeTrig0"
,
FakeTrig0
)
111
.value(
"FakeTrig1"
,
FakeTrig1
)
112
.value(
"FakeTrig2"
,
FakeTrig2
)
113
.value(
"FakeTrig3"
,
FakeTrig3
)
114
.value(
"BeamTrig"
,
BeamTrig
)
115
.value(
"NoBeamTrig"
,
NoBeamTrig
)
116
.value(
"ExtFakeTrig"
,
ExtFakeTrig
)
117
.export_values();
118
119
py::enum_<ClockSource>(m,
"ClockSource"
)
120
.value(
"kFreeRun"
,
kFreeRun
)
121
.value(
"kInput0"
,
kInput0
)
122
.value(
"kInput1"
,
kInput1
)
123
.value(
"kInput2"
,
kInput2
)
124
.value(
"kInput3"
,
kInput3
)
125
.export_values();
126
127
py::enum_<TimestampSource>(m,
"TimestampSource"
)
128
.value(
"kUpstream"
,
kUpstream
)
129
.value(
"kSoftware"
,
kSoftware
)
130
.value(
"kMixed"
,
kMixed
)
131
.export_values();
132
133
py::enum_<TimestampEpoch>(m,
"TimestampEpoch"
)
134
.value(
"kUNIX"
,
kUNIX
)
135
.value(
"kCustom"
,
kCustom
)
136
.export_values();
137
138
py::enum_<TimestampTimebase>(m,
"TimestampTimebase"
)
139
.value(
"kTAI"
,
kTAI
)
140
.value(
"kUTC"
,
kUTC
)
141
.export_values();
142
143
m.attr(
"kBoardNameMap"
) =
timing::IONode::get_board_type_map
();
144
m.attr(
"kCarrierNameMap"
) =
timing::IONode::get_carrier_type_map
();
145
m.attr(
"kDesignNameMap"
) =
timing::IONode::get_design_type_map
();
146
m.attr(
"kBoardRevisionMap"
) =
timing::IONode::get_board_revision_map
();
147
m.attr(
"kUIDRevisionMap"
) =
timing::IONode::get_board_uid_revision_map
();
148
m.attr(
"kClockConfigMap"
) =
timing::IONode::get_clock_config_map
();
149
m.attr(
"kEpStates"
) =
EndpointNode::get_endpoint_state_map
();
150
m.attr(
"kLibrarySupportedBoards"
) =
timing::IONode::get_library_supported_boards
();
151
m.attr(
"kLibrarySupportedDesigns"
) =
timing::IONode::get_library_supported_designs
();
152
m.attr(
"kMasterFWMajorRequired"
) =
MasterNode::required_major_firmware_version
;
153
m.attr(
"kHSIWordsNumber"
) =
HSINode::hsi_buffer_event_words_number
;
154
}
155
156
}
// namespace python
157
}
// namespace timing
158
}
// namespace dunedaq
EndpointNode.hpp
HSINode.hpp
IONode.hpp
MasterNode.hpp
dunedaq::timing::EndpointNode::get_endpoint_state_map
static std::map< uint8_t, std::string > get_endpoint_state_map()
Get the states map.
Definition
EndpointNode.hpp:91
dunedaq::timing::HSINode::hsi_buffer_event_words_number
static constexpr size_t hsi_buffer_event_words_number
Definition
HSINode.hpp:133
dunedaq::timing::IONode::get_library_supported_boards
static const std::vector< BoardType > & get_library_supported_boards()
Definition
IONode.hpp:211
dunedaq::timing::IONode::get_clock_config_map
static const std::map< std::string, std::string > & get_clock_config_map()
Definition
IONode.hpp:210
dunedaq::timing::IONode::get_library_supported_designs
static const std::vector< DesignType > & get_library_supported_designs()
Definition
IONode.hpp:212
dunedaq::timing::IONode::get_board_uid_revision_map
static const std::map< uint64_t, BoardRevision > & get_board_uid_revision_map()
Definition
IONode.hpp:208
dunedaq::timing::IONode::get_design_type_map
static const std::map< DesignType, std::string > & get_design_type_map()
Definition
IONode.hpp:209
dunedaq::timing::IONode::get_board_revision_map
static const std::map< BoardRevision, std::string > & get_board_revision_map()
Definition
IONode.hpp:207
dunedaq::timing::IONode::get_board_type_map
static const std::map< BoardType, std::string > & get_board_type_map()
Definition
IONode.hpp:203
dunedaq::timing::IONode::get_carrier_type_map
static const std::map< CarrierType, std::string > & get_carrier_type_map()
Definition
IONode.hpp:205
dunedaq::timing::MasterNode::required_major_firmware_version
static const uint32_t required_major_firmware_version
Definition
MasterNode.hpp:168
definitions.hpp
dunedaq::timing::python
Definition
definitions.cpp:26
dunedaq::timing::python::register_definitions
void register_definitions(py::module &m)
Definition
definitions.cpp:38
dunedaq::timing::python::swap_commands_map
std::map< std::string, FixedLengthCommandType > swap_commands_map(const std::map< FixedLengthCommandType, std::string > &command_map)
Definition
definitions.cpp:28
dunedaq::timing
< Message parameters
Definition
BoreasDesign.hpp:29
dunedaq::timing::kInput1
@ kInput1
Definition
definitions.hpp:117
dunedaq::timing::kInput0
@ kInput0
Definition
definitions.hpp:116
dunedaq::timing::kInput3
@ kInput3
Definition
definitions.hpp:119
dunedaq::timing::kInput2
@ kInput2
Definition
definitions.hpp:118
dunedaq::timing::kFreeRun
@ kFreeRun
Definition
definitions.hpp:120
dunedaq::timing::kDesignFanout
@ kDesignFanout
Definition
definitions.hpp:63
dunedaq::timing::kDesignOuroborosSim
@ kDesignOuroborosSim
Definition
definitions.hpp:59
dunedaq::timing::kDesignKerberos
@ kDesignKerberos
Definition
definitions.hpp:68
dunedaq::timing::kDesignCharon
@ kDesignCharon
Definition
definitions.hpp:70
dunedaq::timing::kDesignEndpoBICRT
@ kDesignEndpoBICRT
Definition
definitions.hpp:65
dunedaq::timing::kDesignGaia
@ kDesignGaia
Definition
definitions.hpp:69
dunedaq::timing::kDesignBoreas
@ kDesignBoreas
Definition
definitions.hpp:67
dunedaq::timing::kDesignOverlord
@ kDesignOverlord
Definition
definitions.hpp:64
dunedaq::timing::kDesignOuroboros
@ kDesignOuroboros
Definition
definitions.hpp:60
dunedaq::timing::kDesignHades
@ kDesignHades
Definition
definitions.hpp:71
dunedaq::timing::kDesignMaster
@ kDesignMaster
Definition
definitions.hpp:58
dunedaq::timing::kDesignEndpoint
@ kDesignEndpoint
Definition
definitions.hpp:62
dunedaq::timing::kDesignChronos
@ kDesignChronos
Definition
definitions.hpp:66
dunedaq::timing::kDesignUnknown
@ kDesignUnknown
Definition
definitions.hpp:72
dunedaq::timing::kDesignTest
@ kDesignTest
Definition
definitions.hpp:61
dunedaq::timing::kCarrierTrenzTE0712
@ kCarrierTrenzTE0712
Definition
definitions.hpp:52
dunedaq::timing::kCarrierAFC
@ kCarrierAFC
Definition
definitions.hpp:50
dunedaq::timing::kCarrierNexusVideo
@ kCarrierNexusVideo
Definition
definitions.hpp:51
dunedaq::timing::kCarrierATFC
@ kCarrierATFC
Definition
definitions.hpp:49
dunedaq::timing::kCarrierUnknown
@ kCarrierUnknown
Definition
definitions.hpp:53
dunedaq::timing::kCarrierMicrozed
@ kCarrierMicrozed
Definition
definitions.hpp:48
dunedaq::timing::kCarrierEnclustraA35
@ kCarrierEnclustraA35
Definition
definitions.hpp:46
dunedaq::timing::kCarrierKC705
@ kCarrierKC705
Definition
definitions.hpp:47
dunedaq::timing::kMixed
@ kMixed
Definition
definitions.hpp:127
dunedaq::timing::kSoftware
@ kSoftware
Definition
definitions.hpp:126
dunedaq::timing::kUpstream
@ kUpstream
Definition
definitions.hpp:125
dunedaq::timing::kFMCRev2
@ kFMCRev2
Definition
definitions.hpp:78
dunedaq::timing::kFMCRev4
@ kFMCRev4
Definition
definitions.hpp:80
dunedaq::timing::kMIBRev1
@ kMIBRev1
Definition
definitions.hpp:85
dunedaq::timing::kFMCRev1
@ kFMCRev1
Definition
definitions.hpp:77
dunedaq::timing::kGIBRev1
@ kGIBRev1
Definition
definitions.hpp:88
dunedaq::timing::kFIBRev2
@ kFIBRev2
Definition
definitions.hpp:90
dunedaq::timing::kSIMRev1
@ kSIMRev1
Definition
definitions.hpp:83
dunedaq::timing::kPC069a
@ kPC069a
Definition
definitions.hpp:86
dunedaq::timing::kTLURev1
@ kTLURev1
Definition
definitions.hpp:82
dunedaq::timing::kPC059Rev1
@ kPC059Rev1
Definition
definitions.hpp:81
dunedaq::timing::kPC069c
@ kPC069c
Definition
definitions.hpp:91
dunedaq::timing::kMIBRev2
@ kMIBRev2
Definition
definitions.hpp:87
dunedaq::timing::kPC069b
@ kPC069b
Definition
definitions.hpp:89
dunedaq::timing::kFMCRev3
@ kFMCRev3
Definition
definitions.hpp:79
dunedaq::timing::kFIBRev1
@ kFIBRev1
Definition
definitions.hpp:84
dunedaq::timing::kBoardUnknown
@ kBoardUnknown
Definition
definitions.hpp:41
dunedaq::timing::kBoardTLU
@ kBoardTLU
Definition
definitions.hpp:35
dunedaq::timing::kBoardMicrozed
@ kBoardMicrozed
Definition
definitions.hpp:34
dunedaq::timing::kBoardSim
@ kBoardSim
Definition
definitions.hpp:32
dunedaq::timing::kBoardPC069
@ kBoardPC069
Definition
definitions.hpp:38
dunedaq::timing::kBoardFIB
@ kBoardFIB
Definition
definitions.hpp:36
dunedaq::timing::kBoardGIB
@ kBoardGIB
Definition
definitions.hpp:39
dunedaq::timing::kBoardPC059
@ kBoardPC059
Definition
definitions.hpp:33
dunedaq::timing::kBoardFMC
@ kBoardFMC
Definition
definitions.hpp:31
dunedaq::timing::kBoardGIBV3
@ kBoardGIBV3
Definition
definitions.hpp:40
dunedaq::timing::kBoardMIB
@ kBoardMIB
Definition
definitions.hpp:37
dunedaq::timing::kTAI
@ kTAI
Definition
definitions.hpp:138
dunedaq::timing::kUTC
@ kUTC
Definition
definitions.hpp:139
dunedaq::timing::NoBeamTrig
@ NoBeamTrig
Definition
definitions.hpp:110
dunedaq::timing::FakeTrig1
@ FakeTrig1
Definition
definitions.hpp:106
dunedaq::timing::SSPCalib
@ SSPCalib
Definition
definitions.hpp:104
dunedaq::timing::FakeTrig2
@ FakeTrig2
Definition
definitions.hpp:107
dunedaq::timing::RunStart
@ RunStart
Definition
definitions.hpp:101
dunedaq::timing::FakeTrig3
@ FakeTrig3
Definition
definitions.hpp:108
dunedaq::timing::RunStop
@ RunStop
Definition
definitions.hpp:102
dunedaq::timing::Echo
@ Echo
Definition
definitions.hpp:98
dunedaq::timing::TimeSync
@ TimeSync
Definition
definitions.hpp:97
dunedaq::timing::SpillStop
@ SpillStop
Definition
definitions.hpp:100
dunedaq::timing::BeamTrig
@ BeamTrig
Definition
definitions.hpp:109
dunedaq::timing::FakeTrig0
@ FakeTrig0
Definition
definitions.hpp:105
dunedaq::timing::ExtFakeTrig
@ ExtFakeTrig
Definition
definitions.hpp:111
dunedaq::timing::SpillStart
@ SpillStart
Definition
definitions.hpp:99
dunedaq::timing::WibCalib
@ WibCalib
Definition
definitions.hpp:103
dunedaq::timing::kCustom
@ kCustom
Definition
definitions.hpp:133
dunedaq::timing::kUNIX
@ kUNIX
Definition
definitions.hpp:132
dunedaq
Including Qt Headers.
Definition
module.cpp:16
Generated on
for DUNE-DAQ by
1.17.0