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 <string>
13
#include <vector>
14
15
namespace
dunedaq::flxlibs::felixcardcontroller
{
16
17
// @brief An unsigned of 4 bytes
18
using
uint4
= uint32_t;
// NOLINT
19
20
// @brief list of numbers
21
using
Array
= std::vector<dunedaq::flxlibs::felixcardcontroller::uint4>;
22
23
// @brief A boolean
24
using
boolean
=
bool
;
25
26
// @brief An unsigned of 8 bytes
27
using
uint8
= uint64_t;
// NOLINT
28
29
// @brief
30
struct
Link
31
{
32
33
// @brief Link identifier
34
uint4
link_id
= 0;
35
36
// @brief Indicate whether the link is enabled
37
boolean
enabled
=
false
;
38
39
// @brief DMA channel
40
uint8
dma_desc
= 0;
41
42
// @brief Superchunk factor
43
uint4
superchunk_factor
= 0;
44
};
45
46
// @brief A list of links
47
using
LinksList
= std::vector<dunedaq::flxlibs::felixcardcontroller::Link>;
48
49
// @brief
50
struct
LogicalUnit
51
{
52
53
// @brief Logical unit identifier
54
uint4
log_unit_id
= 0;
55
56
// @brief Toggle emulator on/off
57
boolean
emu_fanout
=
false
;
58
59
// @brief List of links in the logical unit
60
LinksList
links
= {};
61
62
// @brief Elinks to ignore when checking alignment.
63
Array
ignore_alignment_mask
= { 5 };
64
};
65
66
// @brief A list of logical units
67
using
LogicalUnitList
= std::vector<dunedaq::flxlibs::felixcardcontroller::LogicalUnit>;
68
69
// @brief Upstream FELIX CardController DAQ Module Configuration
70
struct
Conf
71
{
72
73
// @brief Physical card identifier (in the same host)
74
uint4
card_id
= 0;
75
76
// @brief Superlogic regions of selected card
77
LogicalUnitList
logical_units
= {};
78
};
79
80
// @brief A string field
81
using
String
= std::string;
82
83
// @brief A list of registers
84
using
RegList
= std::vector<dunedaq::flxlibs::felixcardcontroller::String>;
85
86
// @brief Bitfield access parameters
87
struct
GetBFs
88
{
89
90
// @brief Physical card identifier (in the same host)
91
uint4
card_id
= 0;
92
93
// @brief Logical unit identifier
94
uint4
log_unit_id
= 0;
95
96
// @brief A list of bitfields
97
RegList
bf_names
= {};
98
};
99
100
// @brief Register access parameters
101
struct
GetRegisters
102
{
103
104
// @brief Physical card identifier (in the same host)
105
uint4
card_id
= 0;
106
107
// @brief Logical unit identifier
108
uint4
log_unit_id
= 0;
109
110
// @brief A list of registers
111
RegList
reg_names
= {};
112
};
113
114
// @brief
115
struct
RegValPair
116
{
117
118
// @brief The name of a register
119
String
reg_name
=
""
;
120
121
// @brief The value of a register
122
uint8
reg_val
= 0;
123
};
124
125
// @brief A list of registers and values
126
using
RegValList
= std::vector<dunedaq::flxlibs::felixcardcontroller::RegValPair>;
127
128
// @brief Bitfield access parameters
129
struct
SetBFs
130
{
131
132
// @brief Physical card identifier (in the same host)
133
uint4
card_id
= 0;
134
135
// @brief Logical unit identifier
136
uint4
log_unit_id
= 0;
137
138
// @brief A list of bitfields and values to set
139
RegValList
bf_val_pairs
= {};
140
};
141
142
// @brief Register access parameters
143
struct
SetRegisters
144
{
145
146
// @brief Physical card identifier (in the same host)
147
uint4
card_id
= 0;
148
149
// @brief Logical unit identifier
150
uint4
log_unit_id
= 0;
151
152
// @brief A list of registers and values to set
153
RegValList
reg_val_pairs
= {};
154
};
155
156
}
// namespace dunedaq::flxlibs::felixcardcontroller
157
158
#endif
// DUNEDAQ_FLXLIBS_FELIXCARDCONTROLLER_STRUCTS_HPP
dunedaq::flxlibs::felixcardcontroller
Definition
Nljs.hpp:15
dunedaq::flxlibs::felixcardcontroller::Array
std::vector< dunedaq::flxlibs::felixcardcontroller::uint4 > Array
Definition
Structs.hpp:21
dunedaq::flxlibs::felixcardcontroller::LinksList
std::vector< dunedaq::flxlibs::felixcardcontroller::Link > LinksList
Definition
Structs.hpp:47
dunedaq::flxlibs::felixcardcontroller::boolean
bool boolean
Definition
Structs.hpp:24
dunedaq::flxlibs::felixcardcontroller::uint8
uint64_t uint8
Definition
Structs.hpp:27
dunedaq::flxlibs::felixcardcontroller::String
std::string String
Definition
Structs.hpp:81
dunedaq::flxlibs::felixcardcontroller::LogicalUnitList
std::vector< dunedaq::flxlibs::felixcardcontroller::LogicalUnit > LogicalUnitList
Definition
Structs.hpp:67
dunedaq::flxlibs::felixcardcontroller::RegValList
std::vector< dunedaq::flxlibs::felixcardcontroller::RegValPair > RegValList
Definition
Structs.hpp:126
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:84
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:251
dunedaq::flxlibs::felixcardcontroller::Conf
Definition
Structs.hpp:71
dunedaq::flxlibs::felixcardcontroller::Conf::logical_units
LogicalUnitList logical_units
Definition
Structs.hpp:77
dunedaq::flxlibs::felixcardcontroller::Conf::card_id
uint4 card_id
Definition
Structs.hpp:74
dunedaq::flxlibs::felixcardcontroller::GetBFs
Definition
Structs.hpp:88
dunedaq::flxlibs::felixcardcontroller::GetBFs::card_id
uint4 card_id
Definition
Structs.hpp:91
dunedaq::flxlibs::felixcardcontroller::GetBFs::bf_names
RegList bf_names
Definition
Structs.hpp:97
dunedaq::flxlibs::felixcardcontroller::GetBFs::log_unit_id
uint4 log_unit_id
Definition
Structs.hpp:94
dunedaq::flxlibs::felixcardcontroller::GetRegisters
Definition
Structs.hpp:102
dunedaq::flxlibs::felixcardcontroller::GetRegisters::log_unit_id
uint4 log_unit_id
Definition
Structs.hpp:108
dunedaq::flxlibs::felixcardcontroller::GetRegisters::reg_names
RegList reg_names
Definition
Structs.hpp:111
dunedaq::flxlibs::felixcardcontroller::GetRegisters::card_id
uint4 card_id
Definition
Structs.hpp:105
dunedaq::flxlibs::felixcardcontroller::Link
Definition
Structs.hpp:31
dunedaq::flxlibs::felixcardcontroller::Link::dma_desc
uint8 dma_desc
Definition
Structs.hpp:40
dunedaq::flxlibs::felixcardcontroller::Link::enabled
boolean enabled
Definition
Structs.hpp:37
dunedaq::flxlibs::felixcardcontroller::Link::superchunk_factor
uint4 superchunk_factor
Definition
Structs.hpp:43
dunedaq::flxlibs::felixcardcontroller::Link::link_id
uint4 link_id
Definition
Structs.hpp:34
dunedaq::flxlibs::felixcardcontroller::LogicalUnit
Definition
Structs.hpp:51
dunedaq::flxlibs::felixcardcontroller::LogicalUnit::links
LinksList links
Definition
Structs.hpp:60
dunedaq::flxlibs::felixcardcontroller::LogicalUnit::ignore_alignment_mask
Array ignore_alignment_mask
Definition
Structs.hpp:63
dunedaq::flxlibs::felixcardcontroller::LogicalUnit::log_unit_id
uint4 log_unit_id
Definition
Structs.hpp:54
dunedaq::flxlibs::felixcardcontroller::LogicalUnit::emu_fanout
boolean emu_fanout
Definition
Structs.hpp:57
dunedaq::flxlibs::felixcardcontroller::RegValPair
Definition
Structs.hpp:116
dunedaq::flxlibs::felixcardcontroller::RegValPair::reg_name
String reg_name
Definition
Structs.hpp:119
dunedaq::flxlibs::felixcardcontroller::RegValPair::reg_val
uint8 reg_val
Definition
Structs.hpp:122
dunedaq::flxlibs::felixcardcontroller::SetBFs
Definition
Structs.hpp:130
dunedaq::flxlibs::felixcardcontroller::SetBFs::card_id
uint4 card_id
Definition
Structs.hpp:133
dunedaq::flxlibs::felixcardcontroller::SetBFs::log_unit_id
uint4 log_unit_id
Definition
Structs.hpp:136
dunedaq::flxlibs::felixcardcontroller::SetBFs::bf_val_pairs
RegValList bf_val_pairs
Definition
Structs.hpp:139
dunedaq::flxlibs::felixcardcontroller::SetRegisters
Definition
Structs.hpp:144
dunedaq::flxlibs::felixcardcontroller::SetRegisters::reg_val_pairs
RegValList reg_val_pairs
Definition
Structs.hpp:153
dunedaq::flxlibs::felixcardcontroller::SetRegisters::log_unit_id
uint4 log_unit_id
Definition
Structs.hpp:150
dunedaq::flxlibs::felixcardcontroller::SetRegisters::card_id
uint4 card_id
Definition
Structs.hpp:147
Generated on
for DUNE-DAQ by
1.18.0