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 18 of file Nljs.hpp.

◆ DoubleData

Definition at line 22 of file Structs.hpp.

◆ IntData

Definition at line 26 of file Structs.hpp.

◆ String

Definition at line 68 of file Structs.hpp.

◆ TimingEndpointLocations

◆ TimingHwCmdId

Definition at line 118 of file Structs.hpp.

◆ TimingHwCmdPayload

Definition at line 121 of file Structs.hpp.

◆ UintData

Definition at line 30 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 26 of file Nljs.hpp.

26 {
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 }

◆ from_json() [2/12]

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

Definition at line 43 of file Nljs.hpp.

43 {
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 }

◆ from_json() [3/12]

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

Definition at line 62 of file Nljs.hpp.

62 {
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 }

◆ from_json() [4/12]

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

Definition at line 75 of file Nljs.hpp.

75 {
76 if (j.contains("timestamp_source"))
77 j.at("timestamp_source").get_to(obj.timestamp_source);
78 }

◆ from_json() [5/12]

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

Definition at line 84 of file Nljs.hpp.

84 {
85 if (j.contains("endpoint_id"))
86 j.at("endpoint_id").get_to(obj.endpoint_id);
87 }

◆ from_json() [6/12]

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

Definition at line 95 of file Nljs.hpp.

95 {
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 }

◆ from_json() [7/12]

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

Definition at line 110 of file Nljs.hpp.

110 {
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 }

◆ from_json() [8/12]

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

Definition at line 122 of file Nljs.hpp.

122 {
123 if (j.contains("endpoints"))
124 j.at("endpoints").get_to(obj.endpoints);
125 }

◆ from_json() [9/12]

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

Definition at line 133 of file Nljs.hpp.

133 {
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 }

◆ from_json() [10/12]

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

Definition at line 152 of file Nljs.hpp.

152 {
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 }

◆ from_json() [11/12]

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

Definition at line 173 of file Nljs.hpp.

173 {
174 if (j.contains("partition_id"))
175 j.at("partition_id").get_to(obj.partition_id);
176 }

◆ from_json() [12/12]

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

Definition at line 185 of file Nljs.hpp.

185 {
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 }

◆ 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.

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

◆ to_json() [2/12]

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

Definition at line 35 of file Nljs.hpp.

35 {
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 }

◆ to_json() [3/12]

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

Definition at line 56 of file Nljs.hpp.

56 {
57 j["clock_config"] = obj.clock_config;
58 j["soft"] = obj.soft;
59 j["clock_source"] = obj.clock_source;
60 }

◆ to_json() [4/12]

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

Definition at line 71 of file Nljs.hpp.

71 {
72 j["timestamp_source"] = obj.timestamp_source;
73 }

◆ to_json() [5/12]

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

Definition at line 80 of file Nljs.hpp.

80 {
81 j["endpoint_id"] = obj.endpoint_id;
82 }

◆ to_json() [6/12]

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

Definition at line 89 of file Nljs.hpp.

89 {
90 j["endpoint_id"] = obj.endpoint_id;
91 j["address"] = obj.address;
92 j["partition"] = obj.partition;
93 }

◆ to_json() [7/12]

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

Definition at line 104 of file Nljs.hpp.

104 {
105 j["id"] = obj.id;
106 j["device"] = obj.device;
107 j["payload"] = obj.payload;
108 }

◆ to_json() [8/12]

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

Definition at line 118 of file Nljs.hpp.

118 {
119 j["endpoints"] = obj.endpoints;
120 }

◆ to_json() [9/12]

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

Definition at line 127 of file Nljs.hpp.

127 {
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 }

◆ to_json() [10/12]

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

Definition at line 142 of file Nljs.hpp.

142 {
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 }

◆ to_json() [11/12]

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

Definition at line 169 of file Nljs.hpp.

169 {
170 j["partition_id"] = obj.partition_id;
171 }

◆ to_json() [12/12]

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

Definition at line 178 of file Nljs.hpp.

178 {
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 }