7#ifndef DUNEDAQ_FLXLIBS_FELIXCARDCONTROLLER_NLJS_HPP
8#define DUNEDAQ_FLXLIBS_FELIXCARDCONTROLLER_NLJS_HPP
14#include <nlohmann/json.hpp>
18 using data_t = nlohmann::json;
21 j[
"link_id"] =
obj.link_id;
22 j[
"enabled"] =
obj.enabled;
23 j[
"dma_desc"] =
obj.dma_desc;
24 j[
"superchunk_factor"] =
obj.superchunk_factor;
28 if (j.contains(
"link_id"))
29 j.at(
"link_id").get_to(
obj.link_id);
30 if (j.contains(
"enabled"))
31 j.at(
"enabled").get_to(
obj.enabled);
32 if (j.contains(
"dma_desc"))
33 j.at(
"dma_desc").get_to(
obj.dma_desc);
34 if (j.contains(
"superchunk_factor"))
35 j.at(
"superchunk_factor").get_to(
obj.superchunk_factor);
39 j[
"log_unit_id"] =
obj.log_unit_id;
40 j[
"emu_fanout"] =
obj.emu_fanout;
41 j[
"links"] =
obj.links;
42 j[
"ignore_alignment_mask"] =
obj.ignore_alignment_mask;
46 if (j.contains(
"log_unit_id"))
47 j.at(
"log_unit_id").get_to(
obj.log_unit_id);
48 if (j.contains(
"emu_fanout"))
49 j.at(
"emu_fanout").get_to(
obj.emu_fanout);
50 if (j.contains(
"links"))
51 j.at(
"links").get_to(
obj.links);
52 if (j.contains(
"ignore_alignment_mask"))
53 j.at(
"ignore_alignment_mask").get_to(
obj.ignore_alignment_mask);
57 j[
"card_id"] =
obj.card_id;
58 j[
"logical_units"] =
obj.logical_units;
62 if (j.contains(
"card_id"))
63 j.at(
"card_id").get_to(
obj.card_id);
64 if (j.contains(
"logical_units"))
65 j.at(
"logical_units").get_to(
obj.logical_units);
69 j[
"card_id"] =
obj.card_id;
70 j[
"log_unit_id"] =
obj.log_unit_id;
71 j[
"bf_names"] =
obj.bf_names;
75 if (j.contains(
"card_id"))
76 j.at(
"card_id").get_to(
obj.card_id);
77 if (j.contains(
"log_unit_id"))
78 j.at(
"log_unit_id").get_to(
obj.log_unit_id);
79 if (j.contains(
"bf_names"))
80 j.at(
"bf_names").get_to(
obj.bf_names);
84 j[
"card_id"] =
obj.card_id;
85 j[
"log_unit_id"] =
obj.log_unit_id;
86 j[
"reg_names"] =
obj.reg_names;
90 if (j.contains(
"card_id"))
91 j.at(
"card_id").get_to(
obj.card_id);
92 if (j.contains(
"log_unit_id"))
93 j.at(
"log_unit_id").get_to(
obj.log_unit_id);
94 if (j.contains(
"reg_names"))
95 j.at(
"reg_names").get_to(
obj.reg_names);
99 j[
"reg_name"] =
obj.reg_name;
100 j[
"reg_val"] =
obj.reg_val;
104 if (j.contains(
"reg_name"))
105 j.at(
"reg_name").get_to(
obj.reg_name);
106 if (j.contains(
"reg_val"))
107 j.at(
"reg_val").get_to(
obj.reg_val);
111 j[
"card_id"] =
obj.card_id;
112 j[
"log_unit_id"] =
obj.log_unit_id;
113 j[
"bf_val_pairs"] =
obj.bf_val_pairs;
117 if (j.contains(
"card_id"))
118 j.at(
"card_id").get_to(
obj.card_id);
119 if (j.contains(
"log_unit_id"))
120 j.at(
"log_unit_id").get_to(
obj.log_unit_id);
121 if (j.contains(
"bf_val_pairs"))
122 j.at(
"bf_val_pairs").get_to(
obj.bf_val_pairs);
126 j[
"card_id"] =
obj.card_id;
127 j[
"log_unit_id"] =
obj.log_unit_id;
128 j[
"reg_val_pairs"] =
obj.reg_val_pairs;
132 if (j.contains(
"card_id"))
133 j.at(
"card_id").get_to(
obj.card_id);
134 if (j.contains(
"log_unit_id"))
135 j.at(
"log_unit_id").get_to(
obj.log_unit_id);
136 if (j.contains(
"reg_val_pairs"))
137 j.at(
"reg_val_pairs").get_to(
obj.reg_val_pairs);
void from_json(const data_t &j, Link &obj)
void to_json(data_t &j, const Link &obj)