12#ifndef TIMING_INCLUDE_TIMING_MIBIONODE_HPP_
13#define TIMING_INCLUDE_TIMING_MIBIONODE_HPP_
21#include "uhal/DerivedNode.hpp"
38 explicit MIBIONode(
const uhal::Node& node);
51 std::string
get_status(
bool print_out =
false)
const override;
56 void configure_pll(
const std::string& clock_config_file =
"")
const override;
66 void reset(
const std::string& clock_config_file)
const override;
97 std::string
get_sfp_status(uint32_t sfp_id,
bool print_out =
false)
const override;
114 TLOG() <<
"Not implemented in MIB v1 firmware";
Base class for timing IO nodes.
virtual void reset(const std::string &clock_config_file) const =0
Reset timing node.
Class for the timing FMC board.
MIBIONode(const uhal::Node &node)
void validate_sfp_id(uint32_t sfp_id) const
Fill hardware monitoring structure.
std::string get_uid_address_parameter_name() const override
Get the UID address parameter name.
void validate_amc_slot(uint32_t amc_slot) const
void switch_sfp_soft_tx_control_bit(uint32_t sfp_id, bool turn_on) const override
control tx laser of on-board SFP softly (I2C command)
std::string get_sfp_status(uint32_t sfp_id, bool print_out=false) const override
Switch the SFP mux channel.
void reset(const std::string &clock_config_file) const override
Reset MIB IO.
void switch_sfp_tx(uint32_t, bool) const override
control tx laser of on-board SFP
std::string get_status(bool print_out=false) const override
Get status string, optionally print.
bool clocks_ok() const override
Clocks ready?
void configure_pll(const std::string &clock_config_file="") const override
Configure clock chip.
std::string get_pll_status(bool print_out=false) const override
Print status of on-board PLL.