diff --git a/config/etc/addrtab/v7xx/kerberos_mib_v2/ipbus_freq_ctr.xml b/config/etc/addrtab/v7xx/kerberos_mib_v3/ipbus_freq_ctr.xml similarity index 100% rename from config/etc/addrtab/v7xx/kerberos_mib_v2/ipbus_freq_ctr.xml rename to config/etc/addrtab/v7xx/kerberos_mib_v3/ipbus_freq_ctr.xml diff --git a/config/etc/addrtab/v7xx/kerberos_mib_v2/opencores_i2c.xml b/config/etc/addrtab/v7xx/kerberos_mib_v3/opencores_i2c.xml similarity index 100% rename from config/etc/addrtab/v7xx/kerberos_mib_v2/opencores_i2c.xml rename to config/etc/addrtab/v7xx/kerberos_mib_v3/opencores_i2c.xml diff --git a/config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_echo_mon.xml b/config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_echo_mon.xml similarity index 100% rename from config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_echo_mon.xml rename to config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_echo_mon.xml diff --git a/config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_ep_mon.xml b/config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_ep_mon.xml similarity index 100% rename from config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_ep_mon.xml rename to config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_ep_mon.xml diff --git a/config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_global.xml b/config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_global.xml similarity index 100% rename from config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_global.xml rename to config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_global.xml diff --git a/config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_master.xml b/config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_master.xml similarity index 100% rename from config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_master.xml rename to config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_master.xml diff --git a/config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_mib_v2_io.xml b/config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_mib_v3_io.xml similarity index 95% rename from config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_mib_v2_io.xml rename to config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_mib_v3_io.xml index 85791524..10abf904 100644 --- a/config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_mib_v2_io.xml +++ b/config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_mib_v3_io.xml @@ -1,4 +1,4 @@ - + @@ -33,4 +33,4 @@ - \ No newline at end of file + diff --git a/config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_phase_comparator.xml b/config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_phase_comparator.xml similarity index 75% rename from config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_phase_comparator.xml rename to config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_phase_comparator.xml index dfe45a9e..f072001e 100644 --- a/config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_phase_comparator.xml +++ b/config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_phase_comparator.xml @@ -6,16 +6,16 @@ - - + + - + - + diff --git a/config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_scmd_gen.xml b/config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_scmd_gen.xml similarity index 100% rename from config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_scmd_gen.xml rename to config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_scmd_gen.xml diff --git a/config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_timestamp_comparator.xml b/config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_timestamp_comparator.xml similarity index 58% rename from config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_timestamp_comparator.xml rename to config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_timestamp_comparator.xml index fd0cadb2..51635972 100644 --- a/config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_timestamp_comparator.xml +++ b/config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_timestamp_comparator.xml @@ -4,13 +4,15 @@ - + - - - - + + + + + + diff --git a/config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_timing_source_mux.xml b/config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_timing_source_mux.xml similarity index 100% rename from config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_timing_source_mux.xml rename to config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_timing_source_mux.xml diff --git a/config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_ts_source.xml b/config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_ts_source.xml similarity index 100% rename from config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_ts_source.xml rename to config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_ts_source.xml diff --git a/config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_upstream_cdr.xml b/config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_upstream_cdr.xml similarity index 100% rename from config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_upstream_cdr.xml rename to config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_upstream_cdr.xml diff --git a/config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_upstream_mux.xml b/config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_upstream_mux.xml similarity index 100% rename from config/etc/addrtab/v7xx/kerberos_mib_v2/pdts_upstream_mux.xml rename to config/etc/addrtab/v7xx/kerberos_mib_v3/pdts_upstream_mux.xml diff --git a/config/etc/addrtab/v7xx/kerberos_mib_v2/top_mib_v2.xml b/config/etc/addrtab/v7xx/kerberos_mib_v3/top_mib_v3.xml similarity index 96% rename from config/etc/addrtab/v7xx/kerberos_mib_v2/top_mib_v2.xml rename to config/etc/addrtab/v7xx/kerberos_mib_v3/top_mib_v3.xml index 1a2bfaab..338a8963 100644 --- a/config/etc/addrtab/v7xx/kerberos_mib_v2/top_mib_v2.xml +++ b/config/etc/addrtab/v7xx/kerberos_mib_v3/top_mib_v3.xml @@ -1,5 +1,5 @@ - + diff --git a/include/timing/MIBV2IONode.hpp b/include/timing/MIBV3IONode.hpp similarity index 84% rename from include/timing/MIBV2IONode.hpp rename to include/timing/MIBV3IONode.hpp index 3c305445..1731de1c 100644 --- a/include/timing/MIBV2IONode.hpp +++ b/include/timing/MIBV3IONode.hpp @@ -1,7 +1,7 @@ /** - * @file MIBV2IONode.hpp + * @file MIBV3IONode.hpp * - * MIBV2IONode is a class providing an interface + * MIBV3IONode is a class providing an interface * to the MIB V2 IO firmware block. * * This is part of the DUNE DAQ Software Suite, copyright 2020. @@ -9,8 +9,8 @@ * received with this code. */ -#ifndef TIMING_INCLUDE_TIMING_MIBV2IONODE_HPP_ -#define TIMING_INCLUDE_TIMING_MIBV2IONODE_HPP_ +#ifndef TIMING_INCLUDE_TIMING_MIBV3IONODE_HPP_ +#define TIMING_INCLUDE_TIMING_MIBV3IONODE_HPP_ // PDT Headers #include "TimingIssues.hpp" @@ -29,13 +29,13 @@ namespace timing { /** * @brief Class for the timing FMC board. */ -class MIBV2IONode : public IONode +class MIBV3IONode : public IONode { - UHAL_DERIVEDNODE(MIBV2IONode) + UHAL_DERIVEDNODE(MIBV3IONode) public: - explicit MIBV2IONode(const uhal::Node& node); - virtual ~MIBV2IONode(); + explicit MIBV3IONode(const uhal::Node& node); + virtual ~MIBV3IONode(); /** * @brief Get the UID address parameter name. @@ -92,7 +92,7 @@ class MIBV2IONode : public IONode /** * @brief Fill hardware monitoring structure. */ - //void get_info(timinghardwareinfo::TimingMIBV2MonitorData& mon_data) const; + //void get_info(timinghardwareinfo::TimingMIBV3MonitorData& mon_data) const; /** * @brief Give info to collector. @@ -107,4 +107,4 @@ class MIBV2IONode : public IONode } // namespace timing } // namespace dunedaq -#endif // TIMING_INCLUDE_TIMING_MIBV2IONODE_HPP_ +#endif // TIMING_INCLUDE_TIMING_MIBV3IONODE_HPP_ diff --git a/pybindsrc/io.cpp b/pybindsrc/io.cpp index 7338ee58..ae59a750 100644 --- a/pybindsrc/io.cpp +++ b/pybindsrc/io.cpp @@ -15,7 +15,7 @@ #include "timing/TLUIONode.hpp" #include "timing/MIBIONode.hpp" #include "timing/SwitchyardNode.hpp" -#include "timing/MIBV2IONode.hpp" +#include "timing/MIBV3IONode.hpp" #include "timing/GIBIONode.hpp" #include "timing/GIBV2IONode.hpp" #include "timing/GIBV3IONode.hpp" @@ -165,22 +165,22 @@ register_io(py::module& m) .def("configure_master_source", &timing::SwitchyardNode::configure_master_source, py::arg("master_source"), py::arg("dispatch") = true) .def("configure_endpoint_source", &timing::SwitchyardNode::configure_endpoint_source, py::arg("endpoint_source"), py::arg("dispatch") = true); - py::class_(m, "MIBV2IONode") + py::class_(m, "MIBV3IONode") .def(py::init()) - .def( - "reset", &timing::MIBV2IONode::reset, py::arg("clock_config_file")) - .def( - "reset", &timing::MIBV2IONode::reset, py::arg("clock_source")) - .def("soft_reset", &timing::MIBV2IONode::soft_reset) - .def("read_firmware_frequency", &timing::MIBV2IONode::read_firmware_frequency) - .def("get_clock_frequencies_table", &timing::MIBV2IONode::get_clock_frequencies_table, py::arg("print_out") = false) - .def("get_status", &timing::MIBV2IONode::get_status, py::arg("print_out") = false) - .def("get_pll_status", &timing::MIBV2IONode::get_pll_status, py::arg("print_out") = false) - .def("get_pll", &timing::MIBV2IONode::get_pll) - .def("get_hardware_info", &timing::MIBV2IONode::get_hardware_info, py::arg("print_out") = false) - .def("get_sfp_status", &timing::MIBV2IONode::get_sfp_status, py::arg("sfp_id"), py::arg("print_out") = false) - .def("switch_sfp_soft_tx_control_bit", &timing::MIBV2IONode::switch_sfp_soft_tx_control_bit) - .def("switch_sfp_tx", &timing::MIBV2IONode::switch_sfp_tx) + .def( + "reset", &timing::MIBV3IONode::reset, py::arg("clock_config_file")) + .def( + "reset", &timing::MIBV3IONode::reset, py::arg("clock_source")) + .def("soft_reset", &timing::MIBV3IONode::soft_reset) + .def("read_firmware_frequency", &timing::MIBV3IONode::read_firmware_frequency) + .def("get_clock_frequencies_table", &timing::MIBV3IONode::get_clock_frequencies_table, py::arg("print_out") = false) + .def("get_status", &timing::MIBV3IONode::get_status, py::arg("print_out") = false) + .def("get_pll_status", &timing::MIBV3IONode::get_pll_status, py::arg("print_out") = false) + .def("get_pll", &timing::MIBV3IONode::get_pll) + .def("get_hardware_info", &timing::MIBV3IONode::get_hardware_info, py::arg("print_out") = false) + .def("get_sfp_status", &timing::MIBV3IONode::get_sfp_status, py::arg("sfp_id"), py::arg("print_out") = false) + .def("switch_sfp_soft_tx_control_bit", &timing::MIBV3IONode::switch_sfp_soft_tx_control_bit) + .def("switch_sfp_tx", &timing::MIBV3IONode::switch_sfp_tx) ; // TODO fix missing binding and add GIBv2/3 inheritance, dlindebaum, 2025.10.06 diff --git a/src/MIBV2IONode.cpp b/src/MIBV3IONode.cpp similarity index 85% rename from src/MIBV2IONode.cpp rename to src/MIBV3IONode.cpp index 068c9153..cec78313 100644 --- a/src/MIBV2IONode.cpp +++ b/src/MIBV3IONode.cpp @@ -1,12 +1,12 @@ /** - * @file MIBV2IONode.cpp + * @file MIBV3IONode.cpp * * This is part of the DUNE DAQ Software Suite, copyright 2020. * Licensing/copyright details are in the COPYING file that you should have * received with this code. */ -#include "timing/MIBV2IONode.hpp" +#include "timing/MIBV3IONode.hpp" #include #include @@ -14,22 +14,22 @@ namespace dunedaq { namespace timing { -UHAL_REGISTER_DERIVED_NODE(MIBV2IONode) +UHAL_REGISTER_DERIVED_NODE(MIBV3IONode) //----------------------------------------------------------------------------- -MIBV2IONode::MIBV2IONode(const uhal::Node& node) +MIBV3IONode::MIBV3IONode(const uhal::Node& node) : IONode(node, "i2c", "i2c", { "PLL" }, { "OSC", "PLL", "EP 0", "EP 1", "EP 2" }, { "sfp0_i2c", "sfp1_i2c", "sfp2_i2c" }) { } //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- -MIBV2IONode::~MIBV2IONode() {} +MIBV3IONode::~MIBV3IONode() {} //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- std::string -MIBV2IONode::get_uid_address_parameter_name() const +MIBV3IONode::get_uid_address_parameter_name() const { return "UID_PROM"; } @@ -37,7 +37,7 @@ MIBV2IONode::get_uid_address_parameter_name() const //----------------------------------------------------------------------------- std::string -MIBV2IONode::get_status(bool print_out) const +MIBV3IONode::get_status(bool print_out) const { std::stringstream status; @@ -52,7 +52,7 @@ MIBV2IONode::get_status(bool print_out) const //----------------------------------------------------------------------------- void -MIBV2IONode::reset(const std::string& clock_config_file) const +MIBV3IONode::reset(const std::string& clock_config_file) const { write_soft_reset_register(); @@ -73,7 +73,7 @@ MIBV2IONode::reset(const std::string& clock_config_file) const //----------------------------------------------------------------------------- void -MIBV2IONode::reset(const ClockSource& clock_source) const +MIBV3IONode::reset(const ClockSource& clock_source) const { IONode::reset(clock_source); @@ -82,14 +82,14 @@ MIBV2IONode::reset(const ClockSource& clock_source) const //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- -void MIBV2IONode::reset_pll() const +void MIBV3IONode::reset_pll() const { } //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- void -MIBV2IONode::switch_clock_source(const ClockSource& clock_source) const +MIBV3IONode::switch_clock_source(const ClockSource& clock_source) const { if (clock_source != kFreeRun) { @@ -101,7 +101,7 @@ MIBV2IONode::switch_clock_source(const ClockSource& clock_source) const //----------------------------------------------------------------------------- std::string -MIBV2IONode::get_sfp_status(uint32_t sfp_id, bool print_out) const { // NOLINT(build/unsigned) +MIBV3IONode::get_sfp_status(uint32_t sfp_id, bool print_out) const { // NOLINT(build/unsigned) std::stringstream status; validate_sfp_id(sfp_id); @@ -120,7 +120,7 @@ MIBV2IONode::get_sfp_status(uint32_t sfp_id, bool print_out) const { // NOLINT(b //----------------------------------------------------------------------------- bool -MIBV2IONode::clocks_ok() const +MIBV3IONode::clocks_ok() const { std::stringstream status; @@ -136,7 +136,7 @@ MIBV2IONode::clocks_ok() const //----------------------------------------------------------------------------- void -MIBV2IONode::switch_sfp_soft_tx_control_bit(uint32_t sfp_id, bool turn_on) const { // NOLINT(build/unsigned) +MIBV3IONode::switch_sfp_soft_tx_control_bit(uint32_t sfp_id, bool turn_on) const { // NOLINT(build/unsigned) validate_sfp_id(sfp_id); auto sfp = get_i2c_device(m_sfp_i2c_buses.at(sfp_id), "SFP_EEProm"); @@ -146,7 +146,7 @@ MIBV2IONode::switch_sfp_soft_tx_control_bit(uint32_t sfp_id, bool turn_on) const //----------------------------------------------------------------------------- void -MIBV2IONode::switch_sfp_tx(uint32_t /*sfp_id*/, bool /*turn_on*/) const // NOLINT(build/unsigned) +MIBV3IONode::switch_sfp_tx(uint32_t /*sfp_id*/, bool /*turn_on*/) const // NOLINT(build/unsigned) { // TODO firmware support needed //validate_sfp_id(sfp_id); @@ -171,7 +171,7 @@ MIBV2IONode::switch_sfp_tx(uint32_t /*sfp_id*/, bool /*turn_on*/) const // NOLIN //----------------------------------------------------------------------------- //void -//MIBV2IONode::get_info(timinghardwareinfo::TimingMIBV2MonitorData& mon_data) const +//MIBV3IONode::get_info(timinghardwareinfo::TimingMIBV3MonitorData& mon_data) const //{ // TODO //} @@ -179,7 +179,7 @@ MIBV2IONode::switch_sfp_tx(uint32_t /*sfp_id*/, bool /*turn_on*/) const // NOLIN //----------------------------------------------------------------------------- // void -// MIBV2IONode::get_info(opmonlib::InfoCollector& /*ci*/, int /*level*/) const +// MIBV3IONode::get_info(opmonlib::InfoCollector& /*ci*/, int /*level*/) const // { // // TO DO // } @@ -187,7 +187,7 @@ MIBV2IONode::switch_sfp_tx(uint32_t /*sfp_id*/, bool /*turn_on*/) const // NOLIN //----------------------------------------------------------------------------- void -MIBV2IONode::validate_sfp_id(uint32_t sfp_id) const { // NOLINT(build/unsigned) +MIBV3IONode::validate_sfp_id(uint32_t sfp_id) const { // NOLINT(build/unsigned) // on this board we have 3 upstream SFPs if (sfp_id > 2) { throw InvalidSFPId(ERS_HERE, format_reg_value(sfp_id)); @@ -197,7 +197,7 @@ MIBV2IONode::validate_sfp_id(uint32_t sfp_id) const { // NOLINT(build/unsigned) //----------------------------------------------------------------------------- void -MIBV2IONode::validate_amc_slot(uint32_t amc_slot) const { // NOLINT(build/unsigned) +MIBV3IONode::validate_amc_slot(uint32_t amc_slot) const { // NOLINT(build/unsigned) if (amc_slot < 1 || amc_slot > 12) { throw InvalidAMCSlot(ERS_HERE, format_reg_value(amc_slot, 10)); }