DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
flxlibs
include
flxlibs
felixcardcontroller
Structs.hpp
Go to the documentation of this file.
1
/*
2
* This file is 100% generated. Any manual edits will likely be lost.
3
*
4
* This contains struct and other type definitions for shema in
5
* namespace dunedaq::flxlibs::felixcardcontroller.
6
*/
7
#ifndef DUNEDAQ_FLXLIBS_FELIXCARDCONTROLLER_STRUCTS_HPP
8
#define DUNEDAQ_FLXLIBS_FELIXCARDCONTROLLER_STRUCTS_HPP
9
10
#include <cstdint>
11
12
#include <vector>
13
#include <string>
14
15
namespace
dunedaq::flxlibs::felixcardcontroller
{
16
17
// @brief An unsigned of 4 bytes
18
using
uint4
= uint32_t;
// NOLINT
19
20
21
// @brief list of numbers
22
using
Array
= std::vector<dunedaq::flxlibs::felixcardcontroller::uint4>;
23
24
// @brief A boolean
25
using
boolean
=
bool
;
26
27
// @brief An unsigned of 8 bytes
28
using
uint8
= uint64_t;
// NOLINT
29
30
31
// @brief
32
struct
Link
33
{
34
35
// @brief Link identifier
36
uint4
link_id
= 0;
37
38
// @brief Indicate whether the link is enabled
39
boolean
enabled
=
false
;
40
41
// @brief DMA channel
42
uint8
dma_desc
= 0;
43
44
// @brief Superchunk factor
45
uint4
superchunk_factor
= 0;
46
};
47
48
// @brief A list of links
49
using
LinksList
= std::vector<dunedaq::flxlibs::felixcardcontroller::Link>;
50
51
// @brief
52
struct
LogicalUnit
53
{
54
55
// @brief Logical unit identifier
56
uint4
log_unit_id
= 0;
57
58
// @brief Toggle emulator on/off
59
boolean
emu_fanout
=
false
;
60
61
// @brief List of links in the logical unit
62
LinksList
links
= {};
63
64
// @brief Elinks to ignore when checking alignment.
65
Array
ignore_alignment_mask
= {5};
66
};
67
68
// @brief A list of logical units
69
using
LogicalUnitList
= std::vector<dunedaq::flxlibs::felixcardcontroller::LogicalUnit>;
70
71
// @brief Upstream FELIX CardController DAQ Module Configuration
72
struct
Conf
73
{
74
75
// @brief Physical card identifier (in the same host)
76
uint4
card_id
= 0;
77
78
// @brief Superlogic regions of selected card
79
LogicalUnitList
logical_units
= {};
80
};
81
82
// @brief A string field
83
using
String
= std::string;
84
85
// @brief A list of registers
86
using
RegList
= std::vector<dunedaq::flxlibs::felixcardcontroller::String>;
87
88
// @brief Bitfield access parameters
89
struct
GetBFs
90
{
91
92
// @brief Physical card identifier (in the same host)
93
uint4
card_id
= 0;
94
95
// @brief Logical unit identifier
96
uint4
log_unit_id
= 0;
97
98
// @brief A list of bitfields
99
RegList
bf_names
= {};
100
};
101
102
// @brief Register access parameters
103
struct
GetRegisters
104
{
105
106
// @brief Physical card identifier (in the same host)
107
uint4
card_id
= 0;
108
109
// @brief Logical unit identifier
110
uint4
log_unit_id
= 0;
111
112
// @brief A list of registers
113
RegList
reg_names
= {};
114
};
115
116
// @brief
117
struct
RegValPair
118
{
119
120
// @brief The name of a register
121
String
reg_name
=
""
;
122
123
// @brief The value of a register
124
uint8
reg_val
= 0;
125
};
126
127
// @brief A list of registers and values
128
using
RegValList
= std::vector<dunedaq::flxlibs::felixcardcontroller::RegValPair>;
129
130
// @brief Bitfield access parameters
131
struct
SetBFs
132
{
133
134
// @brief Physical card identifier (in the same host)
135
uint4
card_id
= 0;
136
137
// @brief Logical unit identifier
138
uint4
log_unit_id
= 0;
139
140
// @brief A list of bitfields and values to set
141
RegValList
bf_val_pairs
= {};
142
};
143
144
// @brief Register access parameters
145
struct
SetRegisters
146
{
147
148
// @brief Physical card identifier (in the same host)
149
uint4
card_id
= 0;
150
151
// @brief Logical unit identifier
152
uint4
log_unit_id
= 0;
153
154
// @brief A list of registers and values to set
155
RegValList
reg_val_pairs
= {};
156
};
157
158
}
// namespace dunedaq::flxlibs::felixcardcontroller
159
160
#endif
// DUNEDAQ_FLXLIBS_FELIXCARDCONTROLLER_STRUCTS_HPP
dunedaq::flxlibs::felixcardcontroller
Definition
Nljs.hpp:16
dunedaq::flxlibs::felixcardcontroller::Array
std::vector< dunedaq::flxlibs::felixcardcontroller::uint4 > Array
Definition
Structs.hpp:22
dunedaq::flxlibs::felixcardcontroller::LinksList
std::vector< dunedaq::flxlibs::felixcardcontroller::Link > LinksList
Definition
Structs.hpp:49
dunedaq::flxlibs::felixcardcontroller::boolean
bool boolean
Definition
Structs.hpp:25
dunedaq::flxlibs::felixcardcontroller::uint8
uint64_t uint8
Definition
Structs.hpp:28
dunedaq::flxlibs::felixcardcontroller::String
std::string String
Definition
Structs.hpp:83
dunedaq::flxlibs::felixcardcontroller::LogicalUnitList
std::vector< dunedaq::flxlibs::felixcardcontroller::LogicalUnit > LogicalUnitList
Definition
Structs.hpp:69
dunedaq::flxlibs::felixcardcontroller::RegValList
std::vector< dunedaq::flxlibs::felixcardcontroller::RegValPair > RegValList
Definition
Structs.hpp:128
dunedaq::flxlibs::felixcardcontroller::uint4
uint32_t uint4
Definition
Structs.hpp:18
dunedaq::flxlibs::felixcardcontroller::RegList
std::vector< dunedaq::flxlibs::felixcardcontroller::String > RegList
Definition
Structs.hpp:86
dunedaq::bool
Unknown serialization type<< t,((char) t)) template< typename T > inline std::string datatype_to_string() { return "Unknown";} namespace serialization { template< typename T > struct is_serializable :std::false_type {};enum SerializationType { kMsgPack };inline SerializationType from_string(const std::string s) { if(s=="msgpack") return kMsgPack;throw UnknownSerializationTypeString(ERS_HERE, s);} constexpr uint8_t serialization_type_byte(SerializationType stype) { switch(stype) { case kMsgPack:return 'M';default:throw UnknownSerializationTypeEnum(ERS_HERE);} } constexpr SerializationType DEFAULT_SERIALIZATION_TYPE=kMsgPack;template< class T > std::vector< uint8_t > serialize(const T &obj, SerializationType stype=DEFAULT_SERIALIZATION_TYPE) { switch(stype) { case kMsgPack:{ msgpack::sbuffer buf;msgpack::pack(buf, obj);std::vector< uint8_t > ret(buf.size()+1);ret[0]=serialization_type_byte(stype);std::copy(buf.data(), buf.data()+buf.size(), ret.begin()+1);return ret;} default:throw UnknownSerializationTypeEnum(ERS_HERE);} } template< class T, typename CharType=unsigned char > T deserialize(const std::vector< CharType > &v) { switch(v[0]) { case serialization_type_byte(kMsgPack):{ try { msgpack::object_handle oh=msgpack::unpack(const_cast< char * >(reinterpret_cast< const char * >(v.data()+1)), v.size() - 1,[](msgpack::type::object_type, std::size_t, void *) -> bool
Definition
Serialization.hpp:256
dunedaq::flxlibs::felixcardcontroller::Conf
Definition
Structs.hpp:73
dunedaq::flxlibs::felixcardcontroller::Conf::logical_units
LogicalUnitList logical_units
Definition
Structs.hpp:79
dunedaq::flxlibs::felixcardcontroller::Conf::card_id
uint4 card_id
Definition
Structs.hpp:76
dunedaq::flxlibs::felixcardcontroller::GetBFs
Definition
Structs.hpp:90
dunedaq::flxlibs::felixcardcontroller::GetBFs::card_id
uint4 card_id
Definition
Structs.hpp:93
dunedaq::flxlibs::felixcardcontroller::GetBFs::bf_names
RegList bf_names
Definition
Structs.hpp:99
dunedaq::flxlibs::felixcardcontroller::GetBFs::log_unit_id
uint4 log_unit_id
Definition
Structs.hpp:96
dunedaq::flxlibs::felixcardcontroller::GetRegisters
Definition
Structs.hpp:104
dunedaq::flxlibs::felixcardcontroller::GetRegisters::log_unit_id
uint4 log_unit_id
Definition
Structs.hpp:110
dunedaq::flxlibs::felixcardcontroller::GetRegisters::reg_names
RegList reg_names
Definition
Structs.hpp:113
dunedaq::flxlibs::felixcardcontroller::GetRegisters::card_id
uint4 card_id
Definition
Structs.hpp:107
dunedaq::flxlibs::felixcardcontroller::Link
Definition
Structs.hpp:33
dunedaq::flxlibs::felixcardcontroller::Link::dma_desc
uint8 dma_desc
Definition
Structs.hpp:42
dunedaq::flxlibs::felixcardcontroller::Link::enabled
boolean enabled
Definition
Structs.hpp:39
dunedaq::flxlibs::felixcardcontroller::Link::superchunk_factor
uint4 superchunk_factor
Definition
Structs.hpp:45
dunedaq::flxlibs::felixcardcontroller::Link::link_id
uint4 link_id
Definition
Structs.hpp:36
dunedaq::flxlibs::felixcardcontroller::LogicalUnit
Definition
Structs.hpp:53
dunedaq::flxlibs::felixcardcontroller::LogicalUnit::links
LinksList links
Definition
Structs.hpp:62
dunedaq::flxlibs::felixcardcontroller::LogicalUnit::ignore_alignment_mask
Array ignore_alignment_mask
Definition
Structs.hpp:65
dunedaq::flxlibs::felixcardcontroller::LogicalUnit::log_unit_id
uint4 log_unit_id
Definition
Structs.hpp:56
dunedaq::flxlibs::felixcardcontroller::LogicalUnit::emu_fanout
boolean emu_fanout
Definition
Structs.hpp:59
dunedaq::flxlibs::felixcardcontroller::RegValPair
Definition
Structs.hpp:118
dunedaq::flxlibs::felixcardcontroller::RegValPair::reg_name
String reg_name
Definition
Structs.hpp:121
dunedaq::flxlibs::felixcardcontroller::RegValPair::reg_val
uint8 reg_val
Definition
Structs.hpp:124
dunedaq::flxlibs::felixcardcontroller::SetBFs
Definition
Structs.hpp:132
dunedaq::flxlibs::felixcardcontroller::SetBFs::card_id
uint4 card_id
Definition
Structs.hpp:135
dunedaq::flxlibs::felixcardcontroller::SetBFs::log_unit_id
uint4 log_unit_id
Definition
Structs.hpp:138
dunedaq::flxlibs::felixcardcontroller::SetBFs::bf_val_pairs
RegValList bf_val_pairs
Definition
Structs.hpp:141
dunedaq::flxlibs::felixcardcontroller::SetRegisters
Definition
Structs.hpp:146
dunedaq::flxlibs::felixcardcontroller::SetRegisters::reg_val_pairs
RegValList reg_val_pairs
Definition
Structs.hpp:155
dunedaq::flxlibs::felixcardcontroller::SetRegisters::log_unit_id
uint4 log_unit_id
Definition
Structs.hpp:152
dunedaq::flxlibs::felixcardcontroller::SetRegisters::card_id
uint4 card_id
Definition
Structs.hpp:149
Generated on
for DUNE-DAQ by
1.17.0