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::MIBV2IONode, timing::IONode, uhal::Node>(m, "MIBV2IONode")
169 .def(py::init<const uhal::Node&>())
171 "reset", &timing::MIBV2IONode::reset, py::arg("clock_config_file"))
173 "reset", &timing::MIBV2IONode::reset, py::arg("clock_source"))
174 .def("soft_reset", &timing::MIBV2IONode::soft_reset)
175 .def("read_firmware_frequency", &timing::MIBV2IONode::read_firmware_frequency)
176 .def("get_clock_frequencies_table", &timing::MIBV2IONode::get_clock_frequencies_table, py::arg("print_out") = false)
177 .def("get_status", &timing::MIBV2IONode::get_status, py::arg("print_out") = false)
178 .def("get_pll_status", &timing::MIBV2IONode::get_pll_status, py::arg("print_out") = false)
179 .def("get_pll", &timing::MIBV2IONode::get_pll)
180 .def("get_hardware_info", &timing::MIBV2IONode::get_hardware_info, py::arg("print_out") = false)
181 .def("get_sfp_status", &timing::MIBV2IONode::get_sfp_status, py::arg("sfp_id"), py::arg("print_out") = false)
182 .def("switch_sfp_soft_tx_control_bit", &timing::MIBV2IONode::switch_sfp_soft_tx_control_bit)
183 .def("switch_sfp_tx", &timing::MIBV2IONode::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"))
193 .def("configure_pll", &timing::GIBIONode::configure_pll, py::arg("clock_config_file"))
194 .def("soft_reset", &timing::GIBIONode::soft_reset)
195 .def("read_firmware_frequency", &timing::GIBIONode::read_firmware_frequency)
196 .def("get_clock_frequencies_table", &timing::GIBIONode::get_clock_frequencies_table, py::arg("print_out") = false)
197 .def("get_full_clock_config_file_path", &timing::GIBIONode::get_full_clock_config_file_path, py::arg("clock_source"))
198 .def("get_status", &timing::GIBIONode::get_status, py::arg("print_out") = false)
199 .def("get_pll_status", &timing::GIBIONode::get_pll_status, py::arg("print_out") = false)
200 .def("get_pll", &timing::GIBIONode::get_pll)
201 .def("get_hardware_info", &timing::GIBIONode::get_hardware_info, py::arg("print_out") = false)
202 .def("set_up_io_infrastructure", &timing::GIBIONode::set_up_io_infrastructure)
203 .def("configure_expander", &timing::GIBIONode::configure_expander)
204 .def("reset_pll", &timing::GIBIONode::reset_pll)
205 .def("get_sfp_status", &timing::GIBIONode::get_sfp_status, py::arg("sfp_id"), py::arg("print_out") = false)
206 .def("read_io_expanders", &timing::GIBIONode::read_io_expanders)
207 .def("read_sfps_los", &timing::GIBIONode::read_sfps_los)
208 .def("read_sfps_fault", &timing::GIBIONode::read_sfps_fault)
209 .def("clocks_ok", &timing::GIBIONode::clocks_ok)
210 .def("switch_sfp_soft_tx_control_bit", &timing::GIBIONode::switch_sfp_soft_tx_control_bit)
211 .def("set_i2c_mux_channels", &timing::GIBIONode::set_i2c_mux_channels)
212 .def("switch_sfp_tx", &timing::GIBIONode::switch_sfp_tx)
213 ;
214
215 py::class_<timing::GIBV2IONode, timing::IONode, uhal::Node>(m, "GIBV2IONode")
216 .def(py::init<const uhal::Node&>())
218 "reset", &timing::GIBV2IONode::reset, py::arg("clock_config_file"))
220 "reset", &timing::GIBV2IONode::reset, py::arg("clock_source"))
221 .def("configure_pll", &timing::GIBV2IONode::configure_pll, py::arg("clock_config_file"))
222 .def("soft_reset", &timing::GIBV2IONode::soft_reset)
223 .def("read_firmware_frequency", &timing::GIBV2IONode::read_firmware_frequency)
224 .def("get_full_clock_config_file_path", &timing::GIBV2IONode::get_full_clock_config_file_path, py::arg("clock_source"))
225 .def("get_clock_frequencies_table", &timing::GIBV2IONode::get_clock_frequencies_table, py::arg("print_out") = false)
226 .def("get_status", &timing::GIBV2IONode::get_status, py::arg("print_out") = false)
227 .def("get_pll_status", &timing::GIBV2IONode::get_pll_status, py::arg("print_out") = false)
228 .def("get_pll", &timing::GIBV2IONode::get_pll)
229 .def("get_hardware_info", &timing::GIBV2IONode::get_hardware_info, py::arg("print_out") = false)
230 .def("set_up_io_infrastructure", &timing::GIBV2IONode::set_up_io_infrastructure)
231 .def("configure_expander", &timing::GIBV2IONode::configure_expander)
232 .def("reset_pll", &timing::GIBV2IONode::reset_pll)
233 .def("get_sfp_status", &timing::GIBV2IONode::get_sfp_status, py::arg("sfp_id"), py::arg("print_out") = false)
234 .def("read_io_expanders", &timing::GIBV2IONode::read_io_expanders)
235 .def("read_sfps_los", &timing::GIBV2IONode::read_sfps_los)
236 .def("read_sfps_fault", &timing::GIBV2IONode::read_sfps_fault)
237 .def("clocks_ok", &timing::GIBV2IONode::clocks_ok)
238 .def("switch_sfp_soft_tx_control_bit", &timing::GIBV2IONode::switch_sfp_soft_tx_control_bit)
239 .def("set_i2c_mux_channels", &timing::GIBV2IONode::set_i2c_mux_channels)
240 .def("switch_sfp_tx", &timing::GIBV2IONode::switch_sfp_tx)
241 ;
242
243 py::class_<timing::GIBV3IONode, timing::IONode, uhal::Node>(m, "GIBV3IONode")
244 .def(py::init<const uhal::Node&>())
246 "reset", &timing::GIBV3IONode::reset, py::arg("clock_config_file"))
248 "reset", &timing::GIBV3IONode::reset, py::arg("clock_source"))
249 .def("configure_pll", &timing::GIBV3IONode::configure_pll, py::arg("clock_config_file"))
250 .def("soft_reset", &timing::GIBV3IONode::soft_reset)
251 .def("read_firmware_frequency", &timing::GIBV3IONode::read_firmware_frequency)
252 .def("get_full_clock_config_file_path", &timing::GIBV3IONode::get_full_clock_config_file_path, py::arg("clock_source"))
253 .def("get_clock_frequencies_table", &timing::GIBV3IONode::get_clock_frequencies_table, py::arg("print_out") = false)
254 .def("get_status", &timing::GIBV3IONode::get_status, py::arg("print_out") = false)
255 .def("get_pll_status", &timing::GIBV3IONode::get_pll_status, py::arg("print_out") = false)
256 .def("get_pll", &timing::GIBV3IONode::get_pll)
257 .def("get_hardware_info", &timing::GIBV3IONode::get_hardware_info, py::arg("print_out") = false)
258 .def("set_up_io_infrastructure", &timing::GIBV3IONode::set_up_io_infrastructure)
259 .def("configure_expander", &timing::GIBV3IONode::configure_expander)
260 .def("reset_pll", &timing::GIBV3IONode::reset_pll)
261 .def("get_sfp_status", &timing::GIBV3IONode::get_sfp_status, py::arg("sfp_id"), py::arg("print_out") = false)
262 .def("read_io_expanders", &timing::GIBV3IONode::read_io_expanders)
263 .def("read_sfps_los", &timing::GIBV3IONode::read_sfps_los)
264 .def("read_sfps_fault", &timing::GIBV3IONode::read_sfps_fault)
265 .def("clocks_ok", &timing::GIBV3IONode::clocks_ok)
266 .def("switch_sfp_soft_tx_control_bit", &timing::GIBV3IONode::switch_sfp_soft_tx_control_bit)
267 .def("set_i2c_mux_channels", &timing::GIBV3IONode::set_i2c_mux_channels)
268 .def("switch_sfp_tx", &timing::GIBV3IONode::switch_sfp_tx)
269 ;
270
271}
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.