12#ifndef TIMING_INCLUDE_TIMING_FIBIONODE_HPP_
13#define TIMING_INCLUDE_TIMING_FIBIONODE_HPP_
20#include "uhal/DerivedNode.hpp"
36 explicit FIBIONode(
const uhal::Node& aNode);
49 std::string
get_status(
bool print_out=
false)
const override;
54 void reset(
const std::string& clock_config_file)
const override;
74 std::string
get_sfp_status(uint32_t sfp_id,
bool print_out=
false)
const override;
114 void switch_sfp_tx(uint32_t sfp_id,
bool turn_on)
const override;
uint8_t read_sfp_fault_flag(uint32_t sfp_id) const
reset on-board SFP flags using I2C IO expanders
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)
void validate_sfp_id(uint32_t sfp_id) const
Fill hardware monitoring structure.
uint8_t read_sfp_los_flags() const
reset on-board SFP flags using I2C IO expanders
uint8_t read_sfp_fault_flags() const
reset on-board SFP flags using I2C IO expanders
void reset(const std::string &clock_config_file) const override
Reset FIB node.
FIBIONode(const uhal::Node &aNode)
std::string get_sfp_status(uint32_t sfp_id, bool print_out=false) const override
Print status of on-board SFP.
void switch_sfp_tx(uint32_t sfp_id, bool turn_on) const override
reset on-board SFP flags using I2C IO expanders
uint32_t read_active_sfp_mux_channel() const override
Read the active SFP mux channel.
void reset_pll() const
reset on-board PLL using I2C IO expanders
void switch_sfp_mux_channel(uint32_t mux_channel) const override
Switch the SFP mux channel.
uint8_t read_sfp_los_flag(uint32_t sfp_id) const
reset on-board SFP flags using I2C IO expanders
std::string get_uid_address_parameter_name() const override
Get the UID address parameter name.
bool clocks_ok() const override
Clocks ready?
std::string get_status(bool print_out=false) const override
Get status string, optionally print.
virtual void reset(const std::string &clock_config_file) const =0
Reset timing node.
Base class for boards which have a physical SFP mux.