DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
timinglibs
include
timinglibs
timingcmd
Nljs.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 functions struct and other type definitions for shema in
5
* namespace dunedaq::timinglibs::timingcmd to be serialized via nlohmann::json.
6
*/
7
#ifndef DUNEDAQ_TIMINGLIBS_TIMINGCMD_NLJS_HPP
8
#define DUNEDAQ_TIMINGLIBS_TIMINGCMD_NLJS_HPP
9
10
// My structs
11
#include "
timinglibs/timingcmd/Structs.hpp
"
12
13
#include <nlohmann/json.hpp>
14
15
namespace
dunedaq::timinglibs::timingcmd
{
16
17
using
data_t
= nlohmann::json;
18
19
inline
void
20
to_json
(
data_t
& j,
const
EndpointLocation
&
obj
)
21
{
22
j[
"fanout_slot"
] =
obj
.fanout_slot;
23
j[
"sfp_slot"
] =
obj
.sfp_slot;
24
j[
"address"
] =
obj
.address;
25
}
26
27
inline
void
28
from_json
(
const
data_t
& j,
EndpointLocation
&
obj
)
29
{
30
if
(j.contains(
"fanout_slot"
))
31
j.at(
"fanout_slot"
).get_to(
obj
.fanout_slot);
32
if
(j.contains(
"sfp_slot"
))
33
j.at(
"sfp_slot"
).get_to(
obj
.sfp_slot);
34
if
(j.contains(
"address"
))
35
j.at(
"address"
).get_to(
obj
.address);
36
}
37
38
inline
void
39
to_json
(
data_t
& j,
const
HSIConfigureCmdPayload
&
obj
)
40
{
41
j[
"rising_edge_mask"
] =
obj
.rising_edge_mask;
42
j[
"falling_edge_mask"
] =
obj
.falling_edge_mask;
43
j[
"invert_edge_mask"
] =
obj
.invert_edge_mask;
44
j[
"data_source"
] =
obj
.data_source;
45
j[
"random_rate"
] =
obj
.random_rate;
46
}
47
48
inline
void
49
from_json
(
const
data_t
& j,
HSIConfigureCmdPayload
&
obj
)
50
{
51
if
(j.contains(
"rising_edge_mask"
))
52
j.at(
"rising_edge_mask"
).get_to(
obj
.rising_edge_mask);
53
if
(j.contains(
"falling_edge_mask"
))
54
j.at(
"falling_edge_mask"
).get_to(
obj
.falling_edge_mask);
55
if
(j.contains(
"invert_edge_mask"
))
56
j.at(
"invert_edge_mask"
).get_to(
obj
.invert_edge_mask);
57
if
(j.contains(
"data_source"
))
58
j.at(
"data_source"
).get_to(
obj
.data_source);
59
if
(j.contains(
"random_rate"
))
60
j.at(
"random_rate"
).get_to(
obj
.random_rate);
61
}
62
63
inline
void
64
to_json
(
data_t
& j,
const
IOResetCmdPayload
&
obj
)
65
{
66
j[
"clock_config"
] =
obj
.clock_config;
67
j[
"soft"
] =
obj
.soft;
68
j[
"clock_source"
] =
obj
.clock_source;
69
}
70
71
inline
void
72
from_json
(
const
data_t
& j,
IOResetCmdPayload
&
obj
)
73
{
74
if
(j.contains(
"clock_config"
))
75
j.at(
"clock_config"
).get_to(
obj
.clock_config);
76
if
(j.contains(
"soft"
))
77
j.at(
"soft"
).get_to(
obj
.soft);
78
if
(j.contains(
"clock_source"
))
79
j.at(
"clock_source"
).get_to(
obj
.clock_source);
80
}
81
82
inline
void
83
to_json
(
data_t
& j,
const
SyncTimestampPayload
&
obj
)
84
{
85
j[
"timestamp_source"
] =
obj
.timestamp_source;
86
}
87
88
inline
void
89
from_json
(
const
data_t
& j,
SyncTimestampPayload
&
obj
)
90
{
91
if
(j.contains(
"timestamp_source"
))
92
j.at(
"timestamp_source"
).get_to(
obj
.timestamp_source);
93
}
94
95
inline
void
96
to_json
(
data_t
& j,
const
TimingEndpointCmdPayload
&
obj
)
97
{
98
j[
"endpoint_id"
] =
obj
.endpoint_id;
99
}
100
101
inline
void
102
from_json
(
const
data_t
& j,
TimingEndpointCmdPayload
&
obj
)
103
{
104
if
(j.contains(
"endpoint_id"
))
105
j.at(
"endpoint_id"
).get_to(
obj
.endpoint_id);
106
}
107
108
inline
void
109
to_json
(
data_t
& j,
const
TimingEndpointConfigureCmdPayload
&
obj
)
110
{
111
j[
"endpoint_id"
] =
obj
.endpoint_id;
112
j[
"address"
] =
obj
.address;
113
j[
"partition"
] =
obj
.partition;
114
}
115
116
inline
void
117
from_json
(
const
data_t
& j,
TimingEndpointConfigureCmdPayload
&
obj
)
118
{
119
if
(j.contains(
"endpoint_id"
))
120
j.at(
"endpoint_id"
).get_to(
obj
.endpoint_id);
121
if
(j.contains(
"address"
))
122
j.at(
"address"
).get_to(
obj
.address);
123
if
(j.contains(
"partition"
))
124
j.at(
"partition"
).get_to(
obj
.partition);
125
}
126
127
inline
void
128
to_json
(
data_t
& j,
const
TimingHwCmd
&
obj
)
129
{
130
j[
"id"
] =
obj
.id;
131
j[
"device"
] =
obj
.device;
132
j[
"payload"
] =
obj
.payload;
133
}
134
135
inline
void
136
from_json
(
const
data_t
& j,
TimingHwCmd
&
obj
)
137
{
138
if
(j.contains(
"id"
))
139
j.at(
"id"
).get_to(
obj
.id);
140
if
(j.contains(
"device"
))
141
j.at(
"device"
).get_to(
obj
.device);
142
obj
.payload = j.at(
"payload"
);
143
}
144
145
inline
void
146
to_json
(
data_t
& j,
const
TimingMasterEndpointScanPayload
&
obj
)
147
{
148
j[
"endpoints"
] =
obj
.endpoints;
149
}
150
151
inline
void
152
from_json
(
const
data_t
& j,
TimingMasterEndpointScanPayload
&
obj
)
153
{
154
if
(j.contains(
"endpoints"
))
155
j.at(
"endpoints"
).get_to(
obj
.endpoints);
156
}
157
158
inline
void
159
to_json
(
data_t
& j,
const
TimingMasterSendFLCmdCmdPayload
&
obj
)
160
{
161
j[
"fl_cmd_id"
] =
obj
.fl_cmd_id;
162
j[
"channel"
] =
obj
.channel;
163
j[
"number_of_commands_to_send"
] =
obj
.number_of_commands_to_send;
164
}
165
166
inline
void
167
from_json
(
const
data_t
& j,
TimingMasterSendFLCmdCmdPayload
&
obj
)
168
{
169
if
(j.contains(
"fl_cmd_id"
))
170
j.at(
"fl_cmd_id"
).get_to(
obj
.fl_cmd_id);
171
if
(j.contains(
"channel"
))
172
j.at(
"channel"
).get_to(
obj
.channel);
173
if
(j.contains(
"number_of_commands_to_send"
))
174
j.at(
"number_of_commands_to_send"
).get_to(
obj
.number_of_commands_to_send);
175
}
176
177
inline
void
178
to_json
(
data_t
& j,
const
TimingMasterSetEndpointDelayCmdPayload
&
obj
)
179
{
180
j[
"address"
] =
obj
.address;
181
j[
"coarse_delay"
] =
obj
.coarse_delay;
182
j[
"fine_delay"
] =
obj
.fine_delay;
183
j[
"phase_delay"
] =
obj
.phase_delay;
184
j[
"measure_rtt"
] =
obj
.measure_rtt;
185
j[
"control_sfp"
] =
obj
.control_sfp;
186
j[
"sfp_mux"
] =
obj
.sfp_mux;
187
}
188
189
inline
void
190
from_json
(
const
data_t
& j,
TimingMasterSetEndpointDelayCmdPayload
&
obj
)
191
{
192
if
(j.contains(
"address"
))
193
j.at(
"address"
).get_to(
obj
.address);
194
if
(j.contains(
"coarse_delay"
))
195
j.at(
"coarse_delay"
).get_to(
obj
.coarse_delay);
196
if
(j.contains(
"fine_delay"
))
197
j.at(
"fine_delay"
).get_to(
obj
.fine_delay);
198
if
(j.contains(
"phase_delay"
))
199
j.at(
"phase_delay"
).get_to(
obj
.phase_delay);
200
if
(j.contains(
"measure_rtt"
))
201
j.at(
"measure_rtt"
).get_to(
obj
.measure_rtt);
202
if
(j.contains(
"control_sfp"
))
203
j.at(
"control_sfp"
).get_to(
obj
.control_sfp);
204
if
(j.contains(
"sfp_mux"
))
205
j.at(
"sfp_mux"
).get_to(
obj
.sfp_mux);
206
}
207
208
inline
void
209
to_json
(
data_t
& j,
const
TimingPartitionCmdPayload
&
obj
)
210
{
211
j[
"partition_id"
] =
obj
.partition_id;
212
}
213
214
inline
void
215
from_json
(
const
data_t
& j,
TimingPartitionCmdPayload
&
obj
)
216
{
217
if
(j.contains(
"partition_id"
))
218
j.at(
"partition_id"
).get_to(
obj
.partition_id);
219
}
220
221
inline
void
222
to_json
(
data_t
& j,
const
TimingPartitionConfigureCmdPayload
&
obj
)
223
{
224
j[
"partition_id"
] =
obj
.partition_id;
225
j[
"trigger_mask"
] =
obj
.trigger_mask;
226
j[
"spill_gate_enabled"
] =
obj
.spill_gate_enabled;
227
j[
"rate_control_enabled"
] =
obj
.rate_control_enabled;
228
}
229
230
inline
void
231
from_json
(
const
data_t
& j,
TimingPartitionConfigureCmdPayload
&
obj
)
232
{
233
if
(j.contains(
"partition_id"
))
234
j.at(
"partition_id"
).get_to(
obj
.partition_id);
235
if
(j.contains(
"trigger_mask"
))
236
j.at(
"trigger_mask"
).get_to(
obj
.trigger_mask);
237
if
(j.contains(
"spill_gate_enabled"
))
238
j.at(
"spill_gate_enabled"
).get_to(
obj
.spill_gate_enabled);
239
if
(j.contains(
"rate_control_enabled"
))
240
j.at(
"rate_control_enabled"
).get_to(
obj
.rate_control_enabled);
241
}
242
243
}
// namespace dunedaq::timinglibs::timingcmd
244
245
#endif
// DUNEDAQ_TIMINGLIBS_TIMINGCMD_NLJS_HPP
dunedaq::timinglibs::timingcmd
Definition
Nljs.hpp:15
dunedaq::timinglibs::timingcmd::from_json
void from_json(const data_t &j, EndpointLocation &obj)
Definition
Nljs.hpp:28
dunedaq::timinglibs::timingcmd::data_t
nlohmann::json data_t
Definition
Nljs.hpp:17
dunedaq::timinglibs::timingcmd::to_json
void to_json(data_t &j, const EndpointLocation &obj)
Definition
Nljs.hpp:20
dunedaq::obj
msgpack::object obj
Definition
Serialization.hpp:252
dunedaq::timinglibs::timingcmd::EndpointLocation
Definition
Structs.hpp:32
dunedaq::timinglibs::timingcmd::HSIConfigureCmdPayload
Definition
Structs.hpp:46
dunedaq::timinglibs::timingcmd::IOResetCmdPayload
Definition
Structs.hpp:69
dunedaq::timinglibs::timingcmd::SyncTimestampPayload
Definition
Structs.hpp:83
dunedaq::timinglibs::timingcmd::TimingEndpointCmdPayload
Definition
Structs.hpp:91
dunedaq::timinglibs::timingcmd::TimingEndpointConfigureCmdPayload
Definition
Structs.hpp:99
dunedaq::timinglibs::timingcmd::TimingHwCmd
Definition
Structs.hpp:122
dunedaq::timinglibs::timingcmd::TimingMasterEndpointScanPayload
Definition
Structs.hpp:136
dunedaq::timinglibs::timingcmd::TimingMasterSendFLCmdCmdPayload
Definition
Structs.hpp:144
dunedaq::timinglibs::timingcmd::TimingMasterSetEndpointDelayCmdPayload
Definition
Structs.hpp:158
dunedaq::timinglibs::timingcmd::TimingPartitionCmdPayload
Definition
Structs.hpp:184
dunedaq::timinglibs::timingcmd::TimingPartitionConfigureCmdPayload
Definition
Structs.hpp:192
Structs.hpp
Generated on
for DUNE-DAQ by
1.18.0