22 {
23namespace adaptor {
24
25
26
27template<>
28struct convert<
dunedaq::timinglibs::timingcmd::TimingHwCmdPayload> {
30 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
31 if (o.via.array.size != 1) throw msgpack::type_error();
32 v=dunedaq::timinglibs::timingcmd::TimingHwCmdPayload::parse(o.via.array.ptr[0].as<std::string>());
33 return o;
34 }
35};
36template<>
37struct pack<dunedaq::timinglibs::timingcmd::TimingHwCmdPayload> {
38 template <typename Stream>
40
41 o.pack_array(1);
43 return o;
44 }
45};
46
47
48
49
50template<>
51struct convert<dunedaq::timinglibs::timingcmd::EndpointLocation> {
52 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::EndpointLocation& v) const {
53 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
54 if (o.via.array.size != 3) throw msgpack::type_error();
58 return o;
59 }
60};
61template<>
62struct pack<dunedaq::timinglibs::timingcmd::EndpointLocation> {
63 template <typename Stream>
64 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::EndpointLocation const& v) const {
65
66 o.pack_array(3);
67 o.pack(
v.fanout_slot);
70 return o;
71 }
72};
73
74
75
76template<>
77struct convert<dunedaq::timinglibs::timingcmd::HSIConfigureCmdPayload> {
78 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::HSIConfigureCmdPayload& v) const {
79 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
80 if (o.via.array.size != 5) throw msgpack::type_error();
86 return o;
87 }
88};
89template<>
90struct pack<dunedaq::timinglibs::timingcmd::HSIConfigureCmdPayload> {
91 template <typename Stream>
92 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::HSIConfigureCmdPayload const& v) const {
93
94 o.pack_array(5);
95 o.pack(
v.rising_edge_mask);
96 o.pack(
v.falling_edge_mask);
97 o.pack(
v.invert_edge_mask);
98 o.pack(
v.data_source);
99 o.pack(
v.random_rate);
100 return o;
101 }
102};
103
104
105
106template<>
107struct convert<dunedaq::timinglibs::timingcmd::IOResetCmdPayload> {
108 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::IOResetCmdPayload& v) const {
109 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
110 if (o.via.array.size != 3) throw msgpack::type_error();
114 return o;
115 }
116};
117template<>
118struct pack<dunedaq::timinglibs::timingcmd::IOResetCmdPayload> {
119 template <typename Stream>
120 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::IOResetCmdPayload const& v) const {
121
122 o.pack_array(3);
123 o.pack(
v.clock_config);
125 o.pack(
v.clock_source);
126 return o;
127 }
128};
129
130
131
132template<>
133struct convert<dunedaq::timinglibs::timingcmd::SyncTimestampPayload> {
134 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::SyncTimestampPayload& v) const {
135 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
136 if (o.via.array.size != 1) throw msgpack::type_error();
138 return o;
139 }
140};
141template<>
142struct pack<dunedaq::timinglibs::timingcmd::SyncTimestampPayload> {
143 template <typename Stream>
144 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::SyncTimestampPayload const& v) const {
145
146 o.pack_array(1);
147 o.pack(
v.timestamp_source);
148 return o;
149 }
150};
151
152
153
154template<>
155struct convert<dunedaq::timinglibs::timingcmd::TimingEndpointCmdPayload> {
156 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::TimingEndpointCmdPayload& v) const {
157 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
158 if (o.via.array.size != 1) throw msgpack::type_error();
160 return o;
161 }
162};
163template<>
164struct pack<dunedaq::timinglibs::timingcmd::TimingEndpointCmdPayload> {
165 template <typename Stream>
166 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::TimingEndpointCmdPayload const& v) const {
167
168 o.pack_array(1);
169 o.pack(
v.endpoint_id);
170 return o;
171 }
172};
173
174
175
176template<>
177struct convert<dunedaq::timinglibs::timingcmd::TimingEndpointConfigureCmdPayload> {
178 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::TimingEndpointConfigureCmdPayload& v) const {
179 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
180 if (o.via.array.size != 3) throw msgpack::type_error();
184 return o;
185 }
186};
187template<>
188struct pack<dunedaq::timinglibs::timingcmd::TimingEndpointConfigureCmdPayload> {
189 template <typename Stream>
190 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::TimingEndpointConfigureCmdPayload const& v) const {
191
192 o.pack_array(3);
193 o.pack(
v.endpoint_id);
196 return o;
197 }
198};
199
200
201
202template<>
203struct convert<dunedaq::timinglibs::timingcmd::TimingHwCmd> {
204 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::TimingHwCmd& v) const {
205 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
206 if (o.via.array.size != 3) throw msgpack::type_error();
210 return o;
211 }
212};
213template<>
214struct pack<dunedaq::timinglibs::timingcmd::TimingHwCmd> {
215 template <typename Stream>
216 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::TimingHwCmd const& v) const {
217
218 o.pack_array(3);
222 return o;
223 }
224};
225
226
227
228template<>
229struct convert<dunedaq::timinglibs::timingcmd::TimingMasterEndpointScanPayload> {
230 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::TimingMasterEndpointScanPayload& v) const {
231 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
232 if (o.via.array.size != 1) throw msgpack::type_error();
234 return o;
235 }
236};
237template<>
238struct pack<dunedaq::timinglibs::timingcmd::TimingMasterEndpointScanPayload> {
239 template <typename Stream>
240 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::TimingMasterEndpointScanPayload const& v) const {
241
242 o.pack_array(1);
244 return o;
245 }
246};
247
248
249
250template<>
251struct convert<dunedaq::timinglibs::timingcmd::TimingMasterSendFLCmdCmdPayload> {
252 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::TimingMasterSendFLCmdCmdPayload& v) const {
253 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
254 if (o.via.array.size != 3) throw msgpack::type_error();
258 return o;
259 }
260};
261template<>
262struct pack<dunedaq::timinglibs::timingcmd::TimingMasterSendFLCmdCmdPayload> {
263 template <typename Stream>
264 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::TimingMasterSendFLCmdCmdPayload const& v) const {
265
266 o.pack_array(3);
269 o.pack(
v.number_of_commands_to_send);
270 return o;
271 }
272};
273
274
275
276template<>
277struct convert<dunedaq::timinglibs::timingcmd::TimingMasterSetEndpointDelayCmdPayload> {
278 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::TimingMasterSetEndpointDelayCmdPayload& v) const {
279 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
280 if (o.via.array.size != 7) throw msgpack::type_error();
288 return o;
289 }
290};
291template<>
292struct pack<dunedaq::timinglibs::timingcmd::TimingMasterSetEndpointDelayCmdPayload> {
293 template <typename Stream>
294 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::TimingMasterSetEndpointDelayCmdPayload const& v) const {
295
296 o.pack_array(7);
298 o.pack(
v.coarse_delay);
299 o.pack(
v.fine_delay);
300 o.pack(
v.phase_delay);
301 o.pack(
v.measure_rtt);
302 o.pack(
v.control_sfp);
304 return o;
305 }
306};
307
308
309
310template<>
311struct convert<dunedaq::timinglibs::timingcmd::TimingPartitionCmdPayload> {
312 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::TimingPartitionCmdPayload& v) const {
313 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
314 if (o.via.array.size != 1) throw msgpack::type_error();
316 return o;
317 }
318};
319template<>
320struct pack<dunedaq::timinglibs::timingcmd::TimingPartitionCmdPayload> {
321 template <typename Stream>
322 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::TimingPartitionCmdPayload const& v) const {
323
324 o.pack_array(1);
325 o.pack(
v.partition_id);
326 return o;
327 }
328};
329
330
331
332template<>
333struct convert<dunedaq::timinglibs::timingcmd::TimingPartitionConfigureCmdPayload> {
334 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::TimingPartitionConfigureCmdPayload& v) const {
335 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
336 if (o.via.array.size != 4) throw msgpack::type_error();
341 return o;
342 }
343};
344template<>
345struct pack<dunedaq::timinglibs::timingcmd::TimingPartitionConfigureCmdPayload> {
346 template <typename Stream>
347 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::TimingPartitionConfigureCmdPayload const& v) const {
348
349 o.pack_array(4);
350 o.pack(
v.partition_id);
351 o.pack(
v.trigger_mask);
352 o.pack(
v.spill_gate_enabled);
353 o.pack(
v.rate_control_enabled);
354 return o;
355 }
356};
357
358
359}
360}
std::vector< dunedaq::timinglibs::timingcmd::EndpointLocation > TimingEndpointLocations
std::string TimingHwCmdId
nlohmann::json TimingHwCmdPayload