36{
37
38 py::class_<timing::IONode, uhal::Node>(m, "IONode");
39
40 py::class_<timing::FMCIONode, timing::IONode, uhal::Node>(m, "FMCIONode")
41 .def(py::init<const uhal::Node&>())
43 "reset", &timing::FMCIONode::reset, py::arg("clock_config_file"))
45 "reset", &timing::FMCIONode::reset, py::arg("clock_source"))
46 .def("soft_reset", &timing::FMCIONode::soft_reset)
47 .def("read_firmware_frequency", &timing::FMCIONode::read_firmware_frequency)
48 .def("get_clock_frequencies_table", &timing::FMCIONode::get_clock_frequencies_table, py::arg("print_out") = false)
49 .def("get_status", &timing::FMCIONode::get_status, py::arg("print_out") = false)
50 .def("get_pll_status", &timing::FMCIONode::get_pll_status, py::arg("print_out") = false)
51 .def("get_hardware_info", &timing::FMCIONode::get_hardware_info, py::arg("print_out") = false)
52 .def("get_sfp_status", &timing::FMCIONode::get_sfp_status, py::arg("sfp_id"), py::arg("print_out") = false)
53 .def("switch_sfp_soft_tx_control_bit", &timing::FMCIONode::switch_sfp_soft_tx_control_bit)
54 .def("switch_sfp_tx", &timing::FMCIONode::switch_sfp_tx);
55
56 py::class_<timing::PC059IONode, timing::IONode, uhal::Node>(m, "PC059IONode")
57 .def(py::init<const uhal::Node&>())
59 "reset", &timing::PC059IONode::reset, py::arg("clock_config_file"))
61 "reset", &timing::PC059IONode::reset, py::arg("clock_source"))
62 .def("soft_reset", &timing::PC059IONode::soft_reset)
63 .def("read_firmware_frequency", &timing::PC059IONode::read_firmware_frequency)
64 .def("get_clock_frequencies_table", &timing::PC059IONode::get_clock_frequencies_table, py::arg("print_out") = false)
65 .def("get_status", &timing::PC059IONode::get_status, py::arg("print_out") = false)
66 .def("get_pll_status", &timing::PC059IONode::get_pll_status, py::arg("print_out") = false)
67 .def("get_hardware_info", &timing::PC059IONode::get_hardware_info, py::arg("print_out") = false)
68 .def("get_sfp_status", &timing::PC059IONode::get_sfp_status, py::arg("sfp_id"), py::arg("print_out") = false)
69 .def("switch_sfp_soft_tx_control_bit", &timing::PC059IONode::switch_sfp_soft_tx_control_bit)
70 .def("switch_sfp_mux_channel", &timing::PC059IONode::switch_sfp_mux_channel, py::arg("mux_channel"))
71 .def("read_active_sfp_mux_channel", &timing::PC059IONode::read_active_sfp_mux_channel)
72 .def("switch_sfp_tx", &timing::PC059IONode::switch_sfp_tx);
73
74 py::class_<timing::FIBIONode, timing::IONode, uhal::Node>(m, "FIBIONode")
75 .def(py::init<const uhal::Node&>())
77 "reset", &timing::FIBIONode::reset, py::arg("clock_config_file"))
79 "reset", &timing::FIBIONode::reset, py::arg("clock_source"))
80 .def("soft_reset", &timing::FIBIONode::soft_reset)
81 .def("read_firmware_frequency", &timing::FIBIONode::read_firmware_frequency)
82 .def("get_clock_frequencies_table", &timing::FIBIONode::get_clock_frequencies_table, py::arg("print_out") = false)
83 .def("get_status", &timing::FIBIONode::get_status, py::arg("print_out") = false)
84 .def("get_pll_status", &timing::FIBIONode::get_pll_status, py::arg("print_out") = false)
85 .def("get_hardware_info", &timing::FIBIONode::get_hardware_info, py::arg("print_out") = false)
86 .def("get_sfp_status", &timing::FIBIONode::get_sfp_status, py::arg("sfp_id"), py::arg("print_out") = false)
87 .def("switch_sfp_soft_tx_control_bit", &timing::FIBIONode::switch_sfp_soft_tx_control_bit)
88 .def("switch_sfp_mux_channel", &timing::FIBIONode::switch_sfp_mux_channel, py::arg("mux_channel"))
89 .def("read_active_sfp_mux_channel", &timing::FIBIONode::read_active_sfp_mux_channel)
90 .def("switch_sfp_tx", &timing::FIBIONode::switch_sfp_tx);
91
92 py::class_<timing::FIBV2IONode, timing::IONode, uhal::Node>(m, "FIBV2IONode")
93 .def(py::init<const uhal::Node&>())
95 "reset", &timing::FIBV2IONode::reset, py::arg("clock_source"))
96 .def("soft_reset", &timing::FIBV2IONode::soft_reset)
97 .def("read_firmware_frequency", &timing::FIBV2IONode::read_firmware_frequency)
98 .def("get_clock_frequencies_table", &timing::FIBV2IONode::get_clock_frequencies_table, py::arg("print_out") = false)
99 .def("get_status", &timing::FIBV2IONode::get_status, py::arg("print_out") = false)
100 .def("get_pll_status", &timing::FIBV2IONode::get_pll_status, py::arg("print_out") = false)
101 .def("get_hardware_info", &timing::FIBV2IONode::get_hardware_info, py::arg("print_out") = false)
102 .def("get_sfp_status", &timing::FIBV2IONode::get_sfp_status, py::arg("sfp_id"), py::arg("print_out") = false)
103 .def("switch_sfp_soft_tx_control_bit", &timing::FIBV2IONode::switch_sfp_soft_tx_control_bit)
104 .def("switch_sfp_tx", &timing::FIBV2IONode::switch_sfp_tx)
105 .def("read_board_temperature", &timing::FIBV2IONode::read_board_temperature)
106 ;
107
108 py::class_<timing::TLUIONode, timing::IONode, uhal::Node>(m, "TLUIONode")
109 .def(py::init<const uhal::Node&>())
111 "reset", &timing::TLUIONode::reset, py::arg("clock_config_file"))
113 "reset", &timing::TLUIONode::reset, py::arg("clock_source"))
114 .def("soft_reset", &timing::TLUIONode::soft_reset)
115 .def("read_firmware_frequency", &timing::TLUIONode::read_firmware_frequency)
116 .def("get_clock_frequencies_table", &timing::TLUIONode::get_clock_frequencies_table, py::arg("print_out") = false)
117 .def("get_status", &timing::TLUIONode::get_status, py::arg("print_out") = false)
118 .def("get_pll_status", &timing::TLUIONode::get_pll_status, py::arg("print_out") = false)
119 .def("get_hardware_info", &timing::TLUIONode::get_hardware_info, py::arg("print_out") = false)
120 .def("get_sfp_status", &timing::TLUIONode::get_sfp_status, py::arg("sfp_id"), py::arg("print_out") = false)
121 .def("switch_sfp_soft_tx_control_bit", &timing::TLUIONode::switch_sfp_soft_tx_control_bit)
122 .def("configure_dac",
123 &timing::TLUIONode::configure_dac,
124 py::arg("dac_id"),
125 py::arg("dac_value"),
126 py::arg("internal_ref") = false)
127 .def("switch_sfp_tx", &timing::TLUIONode::switch_sfp_tx);
128
129 py::class_<timing::SIMIONode, timing::IONode, uhal::Node>(m, "SIMIONode")
130 .def(py::init<const uhal::Node&>())
132 "reset", &timing::SIMIONode::reset, py::arg("clock_config_file"))
134 "reset", &timing::SIMIONode::reset, py::arg("clock_source"))
135 .def("soft_reset", &timing::SIMIONode::soft_reset)
136 .def("read_firmware_frequency", &timing::SIMIONode::read_firmware_frequency)
137 .def("get_clock_frequencies_table", &timing::SIMIONode::get_clock_frequencies_table, py::arg("print_out") = false)
138 .def("get_status", &timing::SIMIONode::get_status, py::arg("print_out") = false)
139 .def("get_pll_status", &timing::SIMIONode::get_pll_status, py::arg("print_out") = false)
140 .def("get_hardware_info", &timing::SIMIONode::get_hardware_info, py::arg("print_out") = false)
141 .def("get_sfp_status", &timing::SIMIONode::get_sfp_status, py::arg("sfp_id"), py::arg("print_out") = false)
142 .def("switch_sfp_soft_tx_control_bit", &timing::SIMIONode::switch_sfp_soft_tx_control_bit)
143 .def("switch_sfp_tx", &timing::SIMIONode::switch_sfp_tx);
144
145 py::class_<timing::MIBIONode, timing::IONode, uhal::Node>(m, "MIBIONode")
146 .def(py::init<const uhal::Node&>())
148 "reset", &timing::MIBIONode::reset, py::arg("clock_config_file"))
150 "reset", &timing::MIBIONode::reset, py::arg("clock_source"))
151 .def("soft_reset", &timing::MIBIONode::soft_reset)
152 .def("read_firmware_frequency", &timing::MIBIONode::read_firmware_frequency)
153 .def("get_clock_frequencies_table", &timing::MIBIONode::get_clock_frequencies_table, py::arg("print_out") = false)
154 .def("get_status", &timing::MIBIONode::get_status, py::arg("print_out") = false)
155 .def("get_pll_status", &timing::MIBIONode::get_pll_status, py::arg("print_out") = false)
156 .def("get_pll", &timing::MIBIONode::get_pll)
157 .def("get_hardware_info", &timing::MIBIONode::get_hardware_info, py::arg("print_out") = false)
158 .def("get_sfp_status", &timing::MIBIONode::get_sfp_status, py::arg("sfp_id"), py::arg("print_out") = false)
159 .def("switch_sfp_soft_tx_control_bit", &timing::MIBIONode::switch_sfp_soft_tx_control_bit)
160 .def("switch_sfp_tx", &timing::MIBIONode::switch_sfp_tx)
161 ;
162
163 py::class_<timing::SwitchyardNode, uhal::Node>(m, "SwitchyardNode")
164 .def("get_status", &timing::SwitchyardNode::get_status, py::arg("print_out") = false)
165 .def("configure_master_source", &timing::SwitchyardNode::configure_master_source, py::arg("master_source"), py::arg("dispatch") = true)
166 .def("configure_endpoint_source", &timing::SwitchyardNode::configure_endpoint_source, py::arg("endpoint_source"), py::arg("dispatch") = true);
167
168 py::class_<timing::MIBV3IONode, timing::IONode, uhal::Node>(m, "MIBV3IONode")
169 .def(py::init<const uhal::Node&>())
171 "reset", &timing::MIBV3IONode::reset, py::arg("clock_config_file"))
173 "reset", &timing::MIBV3IONode::reset, py::arg("clock_source"))
174 .def("soft_reset", &timing::MIBV3IONode::soft_reset)
175 .def("read_firmware_frequency", &timing::MIBV3IONode::read_firmware_frequency)
176 .def("get_clock_frequencies_table", &timing::MIBV3IONode::get_clock_frequencies_table, py::arg("print_out") = false)
177 .def("get_status", &timing::MIBV3IONode::get_status, py::arg("print_out") = false)
178 .def("get_pll_status", &timing::MIBV3IONode::get_pll_status, py::arg("print_out") = false)
179 .def("get_pll", &timing::MIBV3IONode::get_pll)
180 .def("get_hardware_info", &timing::MIBV3IONode::get_hardware_info, py::arg("print_out") = false)
181 .def("get_sfp_status", &timing::MIBV3IONode::get_sfp_status, py::arg("sfp_id"), py::arg("print_out") = false)
182 .def("switch_sfp_soft_tx_control_bit", &timing::MIBV3IONode::switch_sfp_soft_tx_control_bit)
183 .def("switch_sfp_tx", &timing::MIBV3IONode::switch_sfp_tx)
184 ;
185
186
187 py::class_<timing::GIBIONode, timing::IONode, uhal::Node>(m, "GIBIONode")
188 .def(py::init<const uhal::Node&>())
190 "reset", &timing::GIBIONode::reset, py::arg("clock_config_file"))
192 "reset", &timing::GIBIONode::reset, py::arg("clock_source"))
194 "configure_pll", &timing::GIBIONode::configure_pll, py::arg("clock_config_file"))
196 "configure_pll", &timing::GIBIONode::configure_pll, py::arg("clock_source"))
197 .def("soft_reset", &timing::GIBIONode::soft_reset)
198 .def("read_firmware_frequency", &timing::GIBIONode::read_firmware_frequency)
199 .def("get_clock_frequencies_table", &timing::GIBIONode::get_clock_frequencies_table, py::arg("print_out") = false)
200 .def("get_full_clock_config_file_path", &timing::GIBIONode::get_full_clock_config_file_path, py::arg("clock_source"))
201 .def("get_status", &timing::GIBIONode::get_status, py::arg("print_out") = false)
202 .def("get_pll_status", &timing::GIBIONode::get_pll_status, py::arg("print_out") = false)
203 .def("get_pll", &timing::GIBIONode::get_pll)
204 .def("get_hardware_info", &timing::GIBIONode::get_hardware_info, py::arg("print_out") = false)
205 .def("set_up_io_infrastructure", &timing::GIBIONode::set_up_io_infrastructure)
206 .def("configure_expander", &timing::GIBIONode::configure_expander)
207 .def("reset_pll", &timing::GIBIONode::reset_pll)
208 .def("get_sfp_status", &timing::GIBIONode::get_sfp_status, py::arg("sfp_id"), py::arg("print_out") = false)
209 .def("read_io_expanders", &timing::GIBIONode::read_io_expanders)
210 .def("read_sfps_los", &timing::GIBIONode::read_sfps_los)
211 .def("read_sfps_fault", &timing::GIBIONode::read_sfps_fault)
212 .def("clocks_ok", &timing::GIBIONode::clocks_ok)
213 .def("switch_sfp_soft_tx_control_bit", &timing::GIBIONode::switch_sfp_soft_tx_control_bit)
214 .def("set_i2c_mux_channels", &timing::GIBIONode::set_i2c_mux_channels)
215 .def("switch_sfp_tx", &timing::GIBIONode::switch_sfp_tx)
216 ;
217
218 py::class_<timing::GIBV2IONode, timing::IONode, uhal::Node>(m, "GIBV2IONode")
219 .def(py::init<const uhal::Node&>())
221 "reset", &timing::GIBV2IONode::reset, py::arg("clock_config_file"))
223 "reset", &timing::GIBV2IONode::reset, py::arg("clock_source"))
225 "configure_pll", &timing::GIBV2IONode::configure_pll, py::arg("clock_config_file"))
227 "configure_pll", &timing::GIBV2IONode::configure_pll, py::arg("clock_source"))
228 .def("soft_reset", &timing::GIBV2IONode::soft_reset)
229 .def("read_firmware_frequency", &timing::GIBV2IONode::read_firmware_frequency)
230 .def("get_full_clock_config_file_path", &timing::GIBV2IONode::get_full_clock_config_file_path, py::arg("clock_source"))
231 .def("get_clock_frequencies_table", &timing::GIBV2IONode::get_clock_frequencies_table, py::arg("print_out") = false)
232 .def("get_status", &timing::GIBV2IONode::get_status, py::arg("print_out") = false)
233 .def("get_pll_status", &timing::GIBV2IONode::get_pll_status, py::arg("print_out") = false)
234 .def("get_pll", &timing::GIBV2IONode::get_pll)
235 .def("get_hardware_info", &timing::GIBV2IONode::get_hardware_info, py::arg("print_out") = false)
236 .def("set_up_io_infrastructure", &timing::GIBV2IONode::set_up_io_infrastructure)
237 .def("configure_expander", &timing::GIBV2IONode::configure_expander)
238 .def("reset_pll", &timing::GIBV2IONode::reset_pll)
239 .def("get_sfp_status", &timing::GIBV2IONode::get_sfp_status, py::arg("sfp_id"), py::arg("print_out") = false)
240 .def("read_io_expanders", &timing::GIBV2IONode::read_io_expanders)
241 .def("read_sfps_los", &timing::GIBV2IONode::read_sfps_los)
242 .def("read_sfps_fault", &timing::GIBV2IONode::read_sfps_fault)
243 .def("clocks_ok", &timing::GIBV2IONode::clocks_ok)
244 .def("switch_sfp_soft_tx_control_bit", &timing::GIBV2IONode::switch_sfp_soft_tx_control_bit)
245 .def("set_i2c_mux_channels", &timing::GIBV2IONode::set_i2c_mux_channels)
246 .def("switch_sfp_tx", &timing::GIBV2IONode::switch_sfp_tx)
247 ;
248
249 py::class_<timing::GIBV3IONode, timing::IONode, uhal::Node>(m, "GIBV3IONode")
250 .def(py::init<const uhal::Node&>())
252 "reset", &timing::GIBV3IONode::reset, py::arg("clock_config_file"))
254 "reset", &timing::GIBV3IONode::reset, py::arg("clock_source"))
256 "configure_pll", &timing::GIBV3IONode::configure_pll, py::arg("clock_config_file"))
258 "configure_pll", &timing::GIBV3IONode::configure_pll, py::arg("clock_source"))
259 .def("soft_reset", &timing::GIBV3IONode::soft_reset)
260 .def("read_firmware_frequency", &timing::GIBV3IONode::read_firmware_frequency)
261 .def("get_full_clock_config_file_path", &timing::GIBV3IONode::get_full_clock_config_file_path, py::arg("clock_source"))
262 .def("get_clock_frequencies_table", &timing::GIBV3IONode::get_clock_frequencies_table, py::arg("print_out") = false)
263 .def("get_status", &timing::GIBV3IONode::get_status, py::arg("print_out") = false)
264 .def("get_pll_status", &timing::GIBV3IONode::get_pll_status, py::arg("print_out") = false)
265 .def("get_pll", &timing::GIBV3IONode::get_pll)
266 .def("get_hardware_info", &timing::GIBV3IONode::get_hardware_info, py::arg("print_out") = false)
267 .def("set_up_io_infrastructure", &timing::GIBV3IONode::set_up_io_infrastructure)
268 .def("configure_expander", &timing::GIBV3IONode::configure_expander)
269 .def("reset_pll", &timing::GIBV3IONode::reset_pll)
270 .def("get_sfp_status", &timing::GIBV3IONode::get_sfp_status, py::arg("sfp_id"), py::arg("print_out") = false)
271 .def("read_io_expanders", &timing::GIBV3IONode::read_io_expanders)
272 .def("read_sfps_los", &timing::GIBV3IONode::read_sfps_los)
273 .def("read_sfps_fault", &timing::GIBV3IONode::read_sfps_fault)
274 .def("clocks_ok", &timing::GIBV3IONode::clocks_ok)
275 .def("switch_sfp_soft_tx_control_bit", &timing::GIBV3IONode::switch_sfp_soft_tx_control_bit)
276 .def("set_i2c_mux_channels", &timing::GIBV3IONode::set_i2c_mux_channels)
277 .def("switch_sfp_tx", &timing::GIBV3IONode::switch_sfp_tx)
278 ;
279
280}
Class for the timing FMC board.
Class for the timing FMC board.
Class for the timing FMC board.
Class for the timing FMC board.
Class for the timing FMC board.
Class for the timing FMC board.
Class for the PC059 board.
Class for the timing simulation IO.