12#ifndef TIMING_INCLUDE_TIMING_GIBIONODE_HPP_
13#define TIMING_INCLUDE_TIMING_GIBIONODE_HPP_
20#include "uhal/DerivedNode.hpp"
37 explicit GIBIONode(
const uhal::Node& node);
38 explicit GIBIONode(
const uhal::Node& node,
39 std::string uid_i2c_bus,
40 std::string pll_i2c_bus,
41 std::string pll_i2c_device,
42 std::vector<std::string> clock_names,
43 std::vector<std::string> sfp_i2c_buses);
56 std::string
get_status(
bool print_out =
false)
const override;
61 std::unique_ptr<const SI534xSlave>
get_pll()
const override;
76 void reset(
const std::string& clock_config_file)
const override;
96 std::string
get_sfp_status(uint32_t sfp_id,
bool print_out =
false)
const override;
126 void switch_sfp_tx(uint32_t sfp_id,
bool turn_on)
const override;
Class for the timing FMC board.
void switch_sfp_tx(uint32_t sfp_id, bool turn_on) const override
control tx laser of on-board SFP softly (I2C command)
virtual uint8_t read_sfps_fault() const
Retrive SFP fault status for all SFPs.
void set_i2c_mux_channels(uint8_t mux_channel_bitmask) const
Fill hardware monitoring structure.
void reset(const std::string &clock_config_file) const override
Reset GIB IO.
void set_up_io_infrastructure() const override
Set up i2c buses, enable ICs.
std::unique_ptr< const SI534xSlave > get_pll() const override
GET PLL I2C interface.
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)
virtual uint8_t get_num_sfps() const
virtual uint32_t read_io_expanders() const
Read the contents of the IO expanders.
void validate_sfp_id(uint32_t sfp_id) const
std::string get_hardware_info(bool print_out) const override
Print hardware information.
void reset_pll() const override
Reset PLL.
std::string get_uid_address_parameter_name() const override
Get the UID address parameter name.
GIBIONode(const uhal::Node &node)
void configure_expander() const
Configure the GIB expander.
std::string get_sfp_status(uint32_t sfp_id, bool print_out=false) const override
Print status of on-board SFP.
std::string get_status(bool print_out=false) const override
Get status string, optionally print.
virtual uint8_t read_sfps_los() const
Retrive SFP LOS status for all SFPs.
bool clocks_ok() const override
Clocks ready?
virtual uint8_t get_sfp_tx_disable_bitmap() const
float read_board_temperature() const
Read board temp.
Base class for timing IO nodes.
virtual void reset(const std::string &clock_config_file) const =0
Reset timing node.