DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::timinglibs::timingcmd Namespace Reference

Classes

struct  EndpointLocation
struct  HSIConfigureCmdPayload
struct  IOResetCmdPayload
struct  SyncTimestampPayload
struct  TimingEndpointCmdPayload
struct  TimingEndpointConfigureCmdPayload
struct  TimingHwCmd
struct  TimingMasterEndpointScanPayload
struct  TimingMasterSendFLCmdCmdPayload
struct  TimingMasterSetEndpointDelayCmdPayload
struct  TimingPartitionCmdPayload
struct  TimingPartitionConfigureCmdPayload

Typedefs

using data_t = nlohmann::json
using BoolData = bool
using DoubleData = double
using IntData = int32_t
using UintData = uint32_t
using String = std::string
using TimingEndpointLocations = std::vector<dunedaq::timinglibs::timingcmd::EndpointLocation>
using TimingHwCmdId = std::string
using TimingHwCmdPayload = nlohmann::json

Functions

void to_json (data_t &j, const EndpointLocation &obj)
void from_json (const data_t &j, EndpointLocation &obj)
void to_json (data_t &j, const HSIConfigureCmdPayload &obj)
void from_json (const data_t &j, HSIConfigureCmdPayload &obj)
void to_json (data_t &j, const IOResetCmdPayload &obj)
void from_json (const data_t &j, IOResetCmdPayload &obj)
void to_json (data_t &j, const SyncTimestampPayload &obj)
void from_json (const data_t &j, SyncTimestampPayload &obj)
void to_json (data_t &j, const TimingEndpointCmdPayload &obj)
void from_json (const data_t &j, TimingEndpointCmdPayload &obj)
void to_json (data_t &j, const TimingEndpointConfigureCmdPayload &obj)
void from_json (const data_t &j, TimingEndpointConfigureCmdPayload &obj)
void to_json (data_t &j, const TimingHwCmd &obj)
void from_json (const data_t &j, TimingHwCmd &obj)
void to_json (data_t &j, const TimingMasterEndpointScanPayload &obj)
void from_json (const data_t &j, TimingMasterEndpointScanPayload &obj)
void to_json (data_t &j, const TimingMasterSendFLCmdCmdPayload &obj)
void from_json (const data_t &j, TimingMasterSendFLCmdCmdPayload &obj)
void to_json (data_t &j, const TimingMasterSetEndpointDelayCmdPayload &obj)
void from_json (const data_t &j, TimingMasterSetEndpointDelayCmdPayload &obj)
void to_json (data_t &j, const TimingPartitionCmdPayload &obj)
void from_json (const data_t &j, TimingPartitionCmdPayload &obj)
void to_json (data_t &j, const TimingPartitionConfigureCmdPayload &obj)
void from_json (const data_t &j, TimingPartitionConfigureCmdPayload &obj)

Typedef Documentation

◆ BoolData

Definition at line 19 of file Structs.hpp.

◆ data_t

Definition at line 17 of file Nljs.hpp.

◆ DoubleData

Definition at line 22 of file Structs.hpp.

◆ IntData

Definition at line 25 of file Structs.hpp.

◆ String

Definition at line 65 of file Structs.hpp.

◆ TimingEndpointLocations

◆ TimingHwCmdId

Definition at line 115 of file Structs.hpp.

◆ TimingHwCmdPayload

Definition at line 118 of file Structs.hpp.

◆ UintData

Definition at line 28 of file Structs.hpp.

Function Documentation

◆ from_json() [1/12]

void dunedaq::timinglibs::timingcmd::from_json ( const data_t & j,
EndpointLocation & obj )
inline

Definition at line 28 of file Nljs.hpp.

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}
msgpack::object obj

◆ from_json() [2/12]

void dunedaq::timinglibs::timingcmd::from_json ( const data_t & j,
HSIConfigureCmdPayload & obj )
inline

Definition at line 49 of file Nljs.hpp.

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}

◆ from_json() [3/12]

void dunedaq::timinglibs::timingcmd::from_json ( const data_t & j,
IOResetCmdPayload & obj )
inline

Definition at line 72 of file Nljs.hpp.

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}

◆ from_json() [4/12]

void dunedaq::timinglibs::timingcmd::from_json ( const data_t & j,
SyncTimestampPayload & obj )
inline

Definition at line 89 of file Nljs.hpp.

90{
91 if (j.contains("timestamp_source"))
92 j.at("timestamp_source").get_to(obj.timestamp_source);
93}

◆ from_json() [5/12]

void dunedaq::timinglibs::timingcmd::from_json ( const data_t & j,
TimingEndpointCmdPayload & obj )
inline

Definition at line 102 of file Nljs.hpp.

103{
104 if (j.contains("endpoint_id"))
105 j.at("endpoint_id").get_to(obj.endpoint_id);
106}

◆ from_json() [6/12]

void dunedaq::timinglibs::timingcmd::from_json ( const data_t & j,
TimingEndpointConfigureCmdPayload & obj )
inline

Definition at line 117 of file Nljs.hpp.

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}

◆ from_json() [7/12]

void dunedaq::timinglibs::timingcmd::from_json ( const data_t & j,
TimingHwCmd & obj )
inline

Definition at line 136 of file Nljs.hpp.

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}

◆ from_json() [8/12]

void dunedaq::timinglibs::timingcmd::from_json ( const data_t & j,
TimingMasterEndpointScanPayload & obj )
inline

Definition at line 152 of file Nljs.hpp.

153{
154 if (j.contains("endpoints"))
155 j.at("endpoints").get_to(obj.endpoints);
156}

◆ from_json() [9/12]

void dunedaq::timinglibs::timingcmd::from_json ( const data_t & j,
TimingMasterSendFLCmdCmdPayload & obj )
inline

Definition at line 167 of file Nljs.hpp.

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}

◆ from_json() [10/12]

void dunedaq::timinglibs::timingcmd::from_json ( const data_t & j,
TimingMasterSetEndpointDelayCmdPayload & obj )
inline

Definition at line 190 of file Nljs.hpp.

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}

◆ from_json() [11/12]

void dunedaq::timinglibs::timingcmd::from_json ( const data_t & j,
TimingPartitionCmdPayload & obj )
inline

Definition at line 215 of file Nljs.hpp.

216{
217 if (j.contains("partition_id"))
218 j.at("partition_id").get_to(obj.partition_id);
219}

◆ from_json() [12/12]

void dunedaq::timinglibs::timingcmd::from_json ( const data_t & j,
TimingPartitionConfigureCmdPayload & obj )
inline

Definition at line 231 of file Nljs.hpp.

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}

◆ to_json() [1/12]

void dunedaq::timinglibs::timingcmd::to_json ( data_t & j,
const EndpointLocation & obj )
inline

Definition at line 20 of file Nljs.hpp.

21{
22 j["fanout_slot"] = obj.fanout_slot;
23 j["sfp_slot"] = obj.sfp_slot;
24 j["address"] = obj.address;
25}

◆ to_json() [2/12]

void dunedaq::timinglibs::timingcmd::to_json ( data_t & j,
const HSIConfigureCmdPayload & obj )
inline

Definition at line 39 of file Nljs.hpp.

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}

◆ to_json() [3/12]

void dunedaq::timinglibs::timingcmd::to_json ( data_t & j,
const IOResetCmdPayload & obj )
inline

Definition at line 64 of file Nljs.hpp.

65{
66 j["clock_config"] = obj.clock_config;
67 j["soft"] = obj.soft;
68 j["clock_source"] = obj.clock_source;
69}

◆ to_json() [4/12]

void dunedaq::timinglibs::timingcmd::to_json ( data_t & j,
const SyncTimestampPayload & obj )
inline

Definition at line 83 of file Nljs.hpp.

84{
85 j["timestamp_source"] = obj.timestamp_source;
86}

◆ to_json() [5/12]

void dunedaq::timinglibs::timingcmd::to_json ( data_t & j,
const TimingEndpointCmdPayload & obj )
inline

Definition at line 96 of file Nljs.hpp.

97{
98 j["endpoint_id"] = obj.endpoint_id;
99}

◆ to_json() [6/12]

void dunedaq::timinglibs::timingcmd::to_json ( data_t & j,
const TimingEndpointConfigureCmdPayload & obj )
inline

Definition at line 109 of file Nljs.hpp.

110{
111 j["endpoint_id"] = obj.endpoint_id;
112 j["address"] = obj.address;
113 j["partition"] = obj.partition;
114}

◆ to_json() [7/12]

void dunedaq::timinglibs::timingcmd::to_json ( data_t & j,
const TimingHwCmd & obj )
inline

Definition at line 128 of file Nljs.hpp.

129{
130 j["id"] = obj.id;
131 j["device"] = obj.device;
132 j["payload"] = obj.payload;
133}

◆ to_json() [8/12]

void dunedaq::timinglibs::timingcmd::to_json ( data_t & j,
const TimingMasterEndpointScanPayload & obj )
inline

Definition at line 146 of file Nljs.hpp.

147{
148 j["endpoints"] = obj.endpoints;
149}

◆ to_json() [9/12]

void dunedaq::timinglibs::timingcmd::to_json ( data_t & j,
const TimingMasterSendFLCmdCmdPayload & obj )
inline

Definition at line 159 of file Nljs.hpp.

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}

◆ to_json() [10/12]

void dunedaq::timinglibs::timingcmd::to_json ( data_t & j,
const TimingMasterSetEndpointDelayCmdPayload & obj )
inline

Definition at line 178 of file Nljs.hpp.

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}

◆ to_json() [11/12]

void dunedaq::timinglibs::timingcmd::to_json ( data_t & j,
const TimingPartitionCmdPayload & obj )
inline

Definition at line 209 of file Nljs.hpp.

210{
211 j["partition_id"] = obj.partition_id;
212}

◆ to_json() [12/12]

void dunedaq::timinglibs::timingcmd::to_json ( data_t & j,
const TimingPartitionConfigureCmdPayload & obj )
inline

Definition at line 222 of file Nljs.hpp.

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}