DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
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
12
13#include <nlohmann/json.hpp>
14
16
17using data_t = nlohmann::json;
18
19inline void
21{
22 j["fanout_slot"] = obj.fanout_slot;
23 j["sfp_slot"] = obj.sfp_slot;
24 j["address"] = obj.address;
25}
26
27inline void
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
38inline void
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
48inline void
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
63inline void
65{
66 j["clock_config"] = obj.clock_config;
67 j["soft"] = obj.soft;
68 j["clock_source"] = obj.clock_source;
69}
70
71inline void
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
82inline void
84{
85 j["timestamp_source"] = obj.timestamp_source;
86}
87
88inline void
90{
91 if (j.contains("timestamp_source"))
92 j.at("timestamp_source").get_to(obj.timestamp_source);
93}
94
95inline void
97{
98 j["endpoint_id"] = obj.endpoint_id;
99}
100
101inline void
103{
104 if (j.contains("endpoint_id"))
105 j.at("endpoint_id").get_to(obj.endpoint_id);
106}
107
108inline void
110{
111 j["endpoint_id"] = obj.endpoint_id;
112 j["address"] = obj.address;
113 j["partition"] = obj.partition;
114}
115
116inline void
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
127inline void
129{
130 j["id"] = obj.id;
131 j["device"] = obj.device;
132 j["payload"] = obj.payload;
133}
134
135inline void
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
145inline void
147{
148 j["endpoints"] = obj.endpoints;
149}
150
151inline void
153{
154 if (j.contains("endpoints"))
155 j.at("endpoints").get_to(obj.endpoints);
156}
157
158inline void
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
166inline void
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
177inline void
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
189inline void
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
208inline void
210{
211 j["partition_id"] = obj.partition_id;
212}
213
214inline void
216{
217 if (j.contains("partition_id"))
218 j.at("partition_id").get_to(obj.partition_id);
219}
220
221inline void
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
230inline void
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
void from_json(const data_t &j, EndpointLocation &obj)
Definition Nljs.hpp:28
void to_json(data_t &j, const EndpointLocation &obj)
Definition Nljs.hpp:20
msgpack::object obj