DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq
build
timinglibs
codegen
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
14
#include <nlohmann/json.hpp>
15
16
namespace
dunedaq::timinglibs::timingcmd
{
17
18
using
data_t = nlohmann::json;
19
20
inline
void
to_json
(data_t& j,
const
EndpointLocation
&
obj
) {
21
j[
"fanout_slot"
] =
obj
.fanout_slot;
22
j[
"sfp_slot"
] =
obj
.sfp_slot;
23
j[
"address"
] =
obj
.address;
24
}
25
26
inline
void
from_json
(
const
data_t& j,
EndpointLocation
&
obj
) {
27
if
(j.contains(
"fanout_slot"
))
28
j.at(
"fanout_slot"
).get_to(
obj
.fanout_slot);
29
if
(j.contains(
"sfp_slot"
))
30
j.at(
"sfp_slot"
).get_to(
obj
.sfp_slot);
31
if
(j.contains(
"address"
))
32
j.at(
"address"
).get_to(
obj
.address);
33
}
34
35
inline
void
to_json
(data_t& j,
const
HSIConfigureCmdPayload
&
obj
) {
36
j[
"rising_edge_mask"
] =
obj
.rising_edge_mask;
37
j[
"falling_edge_mask"
] =
obj
.falling_edge_mask;
38
j[
"invert_edge_mask"
] =
obj
.invert_edge_mask;
39
j[
"data_source"
] =
obj
.data_source;
40
j[
"random_rate"
] =
obj
.random_rate;
41
}
42
43
inline
void
from_json
(
const
data_t& j,
HSIConfigureCmdPayload
&
obj
) {
44
if
(j.contains(
"rising_edge_mask"
))
45
j.at(
"rising_edge_mask"
).get_to(
obj
.rising_edge_mask);
46
if
(j.contains(
"falling_edge_mask"
))
47
j.at(
"falling_edge_mask"
).get_to(
obj
.falling_edge_mask);
48
if
(j.contains(
"invert_edge_mask"
))
49
j.at(
"invert_edge_mask"
).get_to(
obj
.invert_edge_mask);
50
if
(j.contains(
"data_source"
))
51
j.at(
"data_source"
).get_to(
obj
.data_source);
52
if
(j.contains(
"random_rate"
))
53
j.at(
"random_rate"
).get_to(
obj
.random_rate);
54
}
55
56
inline
void
to_json
(data_t& j,
const
IOResetCmdPayload
&
obj
) {
57
j[
"clock_config"
] =
obj
.clock_config;
58
j[
"soft"
] =
obj
.soft;
59
j[
"clock_source"
] =
obj
.clock_source;
60
}
61
62
inline
void
from_json
(
const
data_t& j,
IOResetCmdPayload
&
obj
) {
63
if
(j.contains(
"clock_config"
))
64
j.at(
"clock_config"
).get_to(
obj
.clock_config);
65
if
(j.contains(
"soft"
))
66
j.at(
"soft"
).get_to(
obj
.soft);
67
if
(j.contains(
"clock_source"
))
68
j.at(
"clock_source"
).get_to(
obj
.clock_source);
69
}
70
71
inline
void
to_json
(data_t& j,
const
SyncTimestampPayload
&
obj
) {
72
j[
"timestamp_source"
] =
obj
.timestamp_source;
73
}
74
75
inline
void
from_json
(
const
data_t& j,
SyncTimestampPayload
&
obj
) {
76
if
(j.contains(
"timestamp_source"
))
77
j.at(
"timestamp_source"
).get_to(
obj
.timestamp_source);
78
}
79
80
inline
void
to_json
(data_t& j,
const
TimingEndpointCmdPayload
&
obj
) {
81
j[
"endpoint_id"
] =
obj
.endpoint_id;
82
}
83
84
inline
void
from_json
(
const
data_t& j,
TimingEndpointCmdPayload
&
obj
) {
85
if
(j.contains(
"endpoint_id"
))
86
j.at(
"endpoint_id"
).get_to(
obj
.endpoint_id);
87
}
88
89
inline
void
to_json
(data_t& j,
const
TimingEndpointConfigureCmdPayload
&
obj
) {
90
j[
"endpoint_id"
] =
obj
.endpoint_id;
91
j[
"address"
] =
obj
.address;
92
j[
"partition"
] =
obj
.partition;
93
}
94
95
inline
void
from_json
(
const
data_t& j,
TimingEndpointConfigureCmdPayload
&
obj
) {
96
if
(j.contains(
"endpoint_id"
))
97
j.at(
"endpoint_id"
).get_to(
obj
.endpoint_id);
98
if
(j.contains(
"address"
))
99
j.at(
"address"
).get_to(
obj
.address);
100
if
(j.contains(
"partition"
))
101
j.at(
"partition"
).get_to(
obj
.partition);
102
}
103
104
inline
void
to_json
(data_t& j,
const
TimingHwCmd
&
obj
) {
105
j[
"id"
] =
obj
.id;
106
j[
"device"
] =
obj
.device;
107
j[
"payload"
] =
obj
.payload;
108
}
109
110
inline
void
from_json
(
const
data_t& j,
TimingHwCmd
&
obj
) {
111
if
(j.contains(
"id"
))
112
j.at(
"id"
).get_to(
obj
.id);
113
if
(j.contains(
"device"
))
114
j.at(
"device"
).get_to(
obj
.device);
115
obj
.payload = j.at(
"payload"
);
116
}
117
118
inline
void
to_json
(data_t& j,
const
TimingMasterEndpointScanPayload
&
obj
) {
119
j[
"endpoints"
] =
obj
.endpoints;
120
}
121
122
inline
void
from_json
(
const
data_t& j,
TimingMasterEndpointScanPayload
&
obj
) {
123
if
(j.contains(
"endpoints"
))
124
j.at(
"endpoints"
).get_to(
obj
.endpoints);
125
}
126
127
inline
void
to_json
(data_t& j,
const
TimingMasterSendFLCmdCmdPayload
&
obj
) {
128
j[
"fl_cmd_id"
] =
obj
.fl_cmd_id;
129
j[
"channel"
] =
obj
.channel;
130
j[
"number_of_commands_to_send"
] =
obj
.number_of_commands_to_send;
131
}
132
133
inline
void
from_json
(
const
data_t& j,
TimingMasterSendFLCmdCmdPayload
&
obj
) {
134
if
(j.contains(
"fl_cmd_id"
))
135
j.at(
"fl_cmd_id"
).get_to(
obj
.fl_cmd_id);
136
if
(j.contains(
"channel"
))
137
j.at(
"channel"
).get_to(
obj
.channel);
138
if
(j.contains(
"number_of_commands_to_send"
))
139
j.at(
"number_of_commands_to_send"
).get_to(
obj
.number_of_commands_to_send);
140
}
141
142
inline
void
to_json
(data_t& j,
const
TimingMasterSetEndpointDelayCmdPayload
&
obj
) {
143
j[
"address"
] =
obj
.address;
144
j[
"coarse_delay"
] =
obj
.coarse_delay;
145
j[
"fine_delay"
] =
obj
.fine_delay;
146
j[
"phase_delay"
] =
obj
.phase_delay;
147
j[
"measure_rtt"
] =
obj
.measure_rtt;
148
j[
"control_sfp"
] =
obj
.control_sfp;
149
j[
"sfp_mux"
] =
obj
.sfp_mux;
150
}
151
152
inline
void
from_json
(
const
data_t& j,
TimingMasterSetEndpointDelayCmdPayload
&
obj
) {
153
if
(j.contains(
"address"
))
154
j.at(
"address"
).get_to(
obj
.address);
155
if
(j.contains(
"coarse_delay"
))
156
j.at(
"coarse_delay"
).get_to(
obj
.coarse_delay);
157
if
(j.contains(
"fine_delay"
))
158
j.at(
"fine_delay"
).get_to(
obj
.fine_delay);
159
if
(j.contains(
"phase_delay"
))
160
j.at(
"phase_delay"
).get_to(
obj
.phase_delay);
161
if
(j.contains(
"measure_rtt"
))
162
j.at(
"measure_rtt"
).get_to(
obj
.measure_rtt);
163
if
(j.contains(
"control_sfp"
))
164
j.at(
"control_sfp"
).get_to(
obj
.control_sfp);
165
if
(j.contains(
"sfp_mux"
))
166
j.at(
"sfp_mux"
).get_to(
obj
.sfp_mux);
167
}
168
169
inline
void
to_json
(data_t& j,
const
TimingPartitionCmdPayload
&
obj
) {
170
j[
"partition_id"
] =
obj
.partition_id;
171
}
172
173
inline
void
from_json
(
const
data_t& j,
TimingPartitionCmdPayload
&
obj
) {
174
if
(j.contains(
"partition_id"
))
175
j.at(
"partition_id"
).get_to(
obj
.partition_id);
176
}
177
178
inline
void
to_json
(data_t& j,
const
TimingPartitionConfigureCmdPayload
&
obj
) {
179
j[
"partition_id"
] =
obj
.partition_id;
180
j[
"trigger_mask"
] =
obj
.trigger_mask;
181
j[
"spill_gate_enabled"
] =
obj
.spill_gate_enabled;
182
j[
"rate_control_enabled"
] =
obj
.rate_control_enabled;
183
}
184
185
inline
void
from_json
(
const
data_t& j,
TimingPartitionConfigureCmdPayload
&
obj
) {
186
if
(j.contains(
"partition_id"
))
187
j.at(
"partition_id"
).get_to(
obj
.partition_id);
188
if
(j.contains(
"trigger_mask"
))
189
j.at(
"trigger_mask"
).get_to(
obj
.trigger_mask);
190
if
(j.contains(
"spill_gate_enabled"
))
191
j.at(
"spill_gate_enabled"
).get_to(
obj
.spill_gate_enabled);
192
if
(j.contains(
"rate_control_enabled"
))
193
j.at(
"rate_control_enabled"
).get_to(
obj
.rate_control_enabled);
194
}
195
196
}
// namespace dunedaq::timinglibs::timingcmd
197
198
#endif
// DUNEDAQ_TIMINGLIBS_TIMINGCMD_NLJS_HPP
dunedaq::timinglibs::timingcmd
Definition
Nljs.hpp:16
dunedaq::timinglibs::timingcmd::from_json
void from_json(const data_t &j, EndpointLocation &obj)
Definition
Nljs.hpp:26
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:257
dunedaq::timinglibs::timingcmd::EndpointLocation
Definition
Structs.hpp:35
dunedaq::timinglibs::timingcmd::HSIConfigureCmdPayload
Definition
Structs.hpp:49
dunedaq::timinglibs::timingcmd::IOResetCmdPayload
Definition
Structs.hpp:72
dunedaq::timinglibs::timingcmd::SyncTimestampPayload
Definition
Structs.hpp:86
dunedaq::timinglibs::timingcmd::TimingEndpointCmdPayload
Definition
Structs.hpp:94
dunedaq::timinglibs::timingcmd::TimingEndpointConfigureCmdPayload
Definition
Structs.hpp:102
dunedaq::timinglibs::timingcmd::TimingHwCmd
Definition
Structs.hpp:125
dunedaq::timinglibs::timingcmd::TimingMasterEndpointScanPayload
Definition
Structs.hpp:139
dunedaq::timinglibs::timingcmd::TimingMasterSendFLCmdCmdPayload
Definition
Structs.hpp:147
dunedaq::timinglibs::timingcmd::TimingMasterSetEndpointDelayCmdPayload
Definition
Structs.hpp:161
dunedaq::timinglibs::timingcmd::TimingPartitionCmdPayload
Definition
Structs.hpp:187
dunedaq::timinglibs::timingcmd::TimingPartitionConfigureCmdPayload
Definition
Structs.hpp:195
Structs.hpp
Generated on Sat Aug 23 2025 for DUNE-DAQ by
1.12.0