7#ifndef DUNEDAQ_TIMING_TIMINGFIRMWAREINFO_NLJS_HPP
8#define DUNEDAQ_TIMING_TIMINGFIRMWAREINFO_NLJS_HPP
17#include <nlohmann/json.hpp>
21 using data_t = nlohmann::json;
24 j[
"source"] =
obj.source;
25 j[
"re_mask"] =
obj.re_mask;
26 j[
"fe_mask"] =
obj.fe_mask;
27 j[
"inv_mask"] =
obj.inv_mask;
28 j[
"buffer_enabled"] =
obj.buffer_enabled;
29 j[
"buffer_error"] =
obj.buffer_error;
30 j[
"buffer_warning"] =
obj.buffer_warning;
31 j[
"buffer_occupancy"] =
obj.buffer_occupancy;
32 j[
"enabled"] =
obj.enabled;
36 if (j.contains(
"source"))
37 j.at(
"source").get_to(
obj.source);
38 if (j.contains(
"re_mask"))
39 j.at(
"re_mask").get_to(
obj.re_mask);
40 if (j.contains(
"fe_mask"))
41 j.at(
"fe_mask").get_to(
obj.fe_mask);
42 if (j.contains(
"inv_mask"))
43 j.at(
"inv_mask").get_to(
obj.inv_mask);
44 if (j.contains(
"buffer_enabled"))
45 j.at(
"buffer_enabled").get_to(
obj.buffer_enabled);
46 if (j.contains(
"buffer_error"))
47 j.at(
"buffer_error").get_to(
obj.buffer_error);
48 if (j.contains(
"buffer_warning"))
49 j.at(
"buffer_warning").get_to(
obj.buffer_warning);
50 if (j.contains(
"buffer_occupancy"))
51 j.at(
"buffer_occupancy").get_to(
obj.buffer_occupancy);
52 if (j.contains(
"enabled"))
53 j.at(
"enabled").get_to(
obj.enabled);
57 j[
"timestamp"] =
obj.timestamp;
58 j[
"ts_bcast_enable"] =
obj.ts_bcast_enable;
59 j[
"ts_valid"] =
obj.ts_valid;
60 j[
"ts_tx_err"] =
obj.ts_tx_err;
61 j[
"tx_err"] =
obj.tx_err;
62 j[
"ctrs_rdy"] =
obj.ctrs_rdy;
66 if (j.contains(
"timestamp"))
67 j.at(
"timestamp").get_to(
obj.timestamp);
68 if (j.contains(
"ts_bcast_enable"))
69 j.at(
"ts_bcast_enable").get_to(
obj.ts_bcast_enable);
70 if (j.contains(
"ts_valid"))
71 j.at(
"ts_valid").get_to(
obj.ts_valid);
72 if (j.contains(
"ts_tx_err"))
73 j.at(
"ts_tx_err").get_to(
obj.ts_tx_err);
74 if (j.contains(
"tx_err"))
75 j.at(
"tx_err").get_to(
obj.tx_err);
76 if (j.contains(
"ctrs_rdy"))
77 j.at(
"ctrs_rdy").get_to(
obj.ctrs_rdy);
81 j[
"counts"] =
obj.counts;
85 if (j.contains(
"counts"))
86 j.at(
"counts").get_to(
obj.counts);
90 j[
"device"] =
obj.device;
91 j[
"pll_info"] =
obj.pll_info;
92 j[
"master_info"] =
obj.master_info;
93 j[
"endpoint_info"] =
obj.endpoint_info;
94 j[
"hsi_info"] =
obj.hsi_info;
98 if (j.contains(
"device"))
99 j.at(
"device").get_to(
obj.device);
100 if (j.contains(
"pll_info"))
101 j.at(
"pll_info").get_to(
obj.pll_info);
102 if (j.contains(
"master_info"))
103 j.at(
"master_info").get_to(
obj.master_info);
104 if (j.contains(
"endpoint_info"))
105 j.at(
"endpoint_info").get_to(
obj.endpoint_info);
106 if (j.contains(
"hsi_info"))
107 j.at(
"hsi_info").get_to(
obj.hsi_info);
111 j[
"accepted"] =
obj.accepted;
112 j[
"rejected"] =
obj.rejected;
116 if (j.contains(
"accepted"))
117 j.at(
"accepted").get_to(
obj.accepted);
118 if (j.contains(
"rejected"))
119 j.at(
"rejected").get_to(
obj.rejected);
void to_json(data_t &j, const HSIFirmwareMonitorData &obj)
void from_json(const data_t &j, HSIFirmwareMonitorData &obj)