12#ifndef TIMING_INCLUDE_TIMING_SIMIONODE_HPP_
13#define TIMING_INCLUDE_TIMING_SIMIONODE_HPP_
20#include "uhal/DerivedNode.hpp"
38 explicit SIMIONode(
const uhal::Node& node);
51 std::string
get_status(
bool print_out =
false)
const override;
68 void reset(
const std::string& clock_config_file)
const override;
85 void configure_pll(
const std::string& clock_config_file =
"")
const override;
100 std::string
get_pll_status(
bool print_out =
false)
const override;
105 std::string
get_sfp_status(uint32_t sfp_id,
bool print_out =
false)
const override;
120 void switch_sfp_tx(uint32_t sfp_id,
bool turn_on)
const override;
Base class for timing IO nodes.
virtual void reset(const std::string &clock_config_file) const =0
Reset timing node.
Class for the timing simulation IO.
BoardRevision get_board_revision() const override
Read the word identifying the timing board.
std::string get_clock_frequencies_table(bool print_out=false) const override
Print frequencies of on-board clocks.
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_pll_status(bool print_out=false) const override
Print status of on-board PLL.
std::string get_hardware_info(bool print_out=false) const override
Print hardware information.
void configure_pll(const std::string &clock_config_file="") const override
Configure clock chip.
uint64_t read_board_uid() const override
Read the word containing the timing board UID.
std::vector< double > read_clock_frequencies() const override
Read frequencies of on-board clocks.
std::string get_uid_address_parameter_name() const override
Get the UID address parameter name.
SIMIONode(const uhal::Node &node)
void reset(const std::string &clock_config_file) const override
Reset IO.
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.
void switch_sfp_tx(uint32_t sfp_id, bool turn_on) const override
Control tx laser of on-board SFP softly (I2C command)
bool clocks_ok() const override
Clocks ready?