12#ifndef TIMING_INCLUDE_TIMING_TOPDESIGNINTERFACE_HPP_
13#define TIMING_INCLUDE_TIMING_TOPDESIGNINTERFACE_HPP_
24#include "uhal/DerivedNode.hpp"
26#include <nlohmann/json.hpp>
66 virtual void reset_io(
const std::string& clock_config_file)
const = 0;
Base class for timing IO nodes.
Base class for timing nodes.
Base class for timing top design nodes.
virtual ~TopDesignInterface()
virtual void soft_reset_io() const =0
Reset timing node.
virtual uint32_t read_firmware_version() const =0
Read firmware version.
virtual void reset_io(const ClockSource &clock_source) const =0
Reset timing node.
virtual const IONode * get_io_node_plain() const =0
Get io node pointer.
const IO * get_io_node() const
virtual void reset_io(const std::string &clock_config_file) const =0
Reset timing node.
virtual void validate_firmware_version() const =0
Validate firmware version.
virtual std::string get_hardware_info(bool print_out=false) const =0
Print hardware information.
TopDesignInterface(const uhal::Node &node)
virtual void configure(ClockSource clock_source) const =0
Prepare the timing device for data taking.
virtual void get_info(timingfirmwareinfo::TimingDeviceInfo &mon_data) const =0
Give info to collector.