DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
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::timing::timinghardwareinfo.
6 */
7#ifndef DUNEDAQ_TIMING_TIMINGHARDWAREINFO_STRUCTS_HPP
8#define DUNEDAQ_TIMING_TIMINGHARDWAREINFO_STRUCTS_HPP
9
10#include <cstdint>
11
12#include <string>
13
15
16 // @brief A bool
17 using BoolData = bool;
18
19 // @brief A double
20 using DoubleValue = double;
21
22
23 // @brief 64 bit uint
24 using LongInt = int64_t;
25
26
27 // @brief 64 bit uint
28 using LongUint = uint64_t; // NOLINT
29
30
31 // @brief 32 bit uint
32 using RegValue = uint32_t; // NOLINT
33
34
35 // @brief A string field
36 using TextData = std::string;
37
38 // @brief Timing FIB monitor data
40 {
41
42 // @brief Active SFP MUX channel
44
45 // @brief MMCM OK flag
47
48 // @brief Sticky MMCM OK flag
50
51 // @brief PLL OK flag
53
54 // @brief Sticky PLL OK flag
56 };
57
58 // @brief Timing FMC monitor data
60 {
61
62 // @brief CDR LOL flag
64
65 // @brief CDR LOS flag
67
68 // @brief MMCM OK flag
70
71 // @brief Sticky MMCM OK flag
73
74 // @brief SFP fault pin value
76
77 // @brief SFP LOS pin value
79
80 // @brief CDR frequency
82
83 // @brief PLL frequency
85 };
86
87 // @brief Timing FMC monitor data
89 {
90
91 // @brief CDR 0 LOL flag
93
94 // @brief CDR 0 LOS flag
96
97 // @brief CDR 1 LOL flag
99
100 // @brief CDR 1 LOS flag
102
103 // @brief MMCM OK flag
105
106 // @brief Sticky MMCM OK flag
108
109 // @brief SFP 0 fault pin value
111
112 // @brief SFP 0 LOS pin value
114
115 // @brief SFP 1 fault pin value
117
118 // @brief SFP 1 LOS pin value
120
121 // @brief SFP 2 fault pin value
123
124 // @brief SFP 2 LOS pin value
126
127 // @brief CDR 0 frequency
129
130 // @brief CDR 1 frequency
132
133 // @brief PLL frequency
135 };
136
137 // @brief Timing PC059 monitor data
139 {
140
141 // @brief CDR LOL flag
143
144 // @brief CDR LOS flag
146
147 // @brief MMCM OK flag
149
150 // @brief Sticky MMCM OK flag
152
153 // @brief PLL LOL flag
155
156 // @brief PLL OK flag
158
159 // @brief Sticky PLL OK flag
161
162 // @brief SFP LOS pin value
164
165 // @brief Upstream CDR LOL flag
167
168 // @brief Upstream CDR LOS flag
170
171 // @brief Upstream SFP fault pin value
173
174 // @brief Upstream SFP LOS pin value
176
177 // @brief Active SFP MUX channel
179 };
180
181 // @brief Timing PLL monitor structure for data read over I2C
183 {
184
185 // @brief PLL config ID
187
188 // @brief Cal pll
190
191 // @brief Holdover flag
192 BoolData hold = false;
193
194 // @brief Loss of lock flag
195 BoolData lol = false;
196
197 // @brief Loss of signal flag
199
200 // @brief Loss of signal flag XAXB
202
203 // @brief Loss of signal flag XAXB stricky
205
206 // @brief Out of frequency flags
208
209 // @brief Out of frequency flags sticky
211
212 // @brief SMBUS timeout
214
215 // @brief SMBUS timeout sticky
217
218 // @brief In calibration flag
220
221 // @brief In calibration flag sticky
223
224 // @brief XA-XB error flag
226
227 // @brief XA-XB error flag sticky
229 };
230
231 // @brief Timing SFP monitor structure for data read over I2C
233 {
234
235 // @brief Vendor name
237
238 // @brief Vendor part number
240
241 // @brief SFP fault flag
243
244 // @brief DDM supported flag
246
247 // @brief Hardware transmit disable pin value
249
250 // @brief Soft transmit disable bit control supported
252
253 // @brief Soft transmit disable bit value
255
256 // @brief SFP temperature
258
259 // @brief SFP supply voltage
261
262 // @brief SFP receive power
264
265 // @brief SFP transmit power
267
268 // @brief SFP laser current
270
271 // @brief Is the data valid?
273 };
274
275 // @brief Timing TLU monitor data
277 {
278
279 // @brief CDR LOL flag
281
282 // @brief CDR LOS flag
284
285 // @brief MMCM OK flag
287
288 // @brief Sticky MMCM OK flag
290
291 // @brief PLL OK flag
293
294 // @brief Sticky PLL OK flag
296
297 // @brief SFP fault pin value
299
300 // @brief SFP LOS pin value
302 };
303
304} // namespace dunedaq::timing::timinghardwareinfo
305
306#endif // DUNEDAQ_TIMING_TIMINGHARDWAREINFO_STRUCTS_HPP
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