12#ifndef TIMING_INCLUDE_TIMING_MASTERDESIGN_HPP_
13#define TIMING_INCLUDE_TIMING_MASTERDESIGN_HPP_
20#include "uhal/DerivedNode.hpp"
43 std::string
get_status(
bool print_out =
false)
const override;
70 bool control_sfp =
true,
71 int sfp_mux = -1)
const override;
76 uint32_t coarse_delay,
79 bool measure_rtt =
false,
80 bool control_sfp =
true,
81 int sfp_mux = -1)
const override;
90 void enable_periodic_fl_cmd(uint32_t command, uint32_t channel,
double rate,
bool poisson =
false)
const override;
Base class for timing master designs.
Base class for timing master designs.
void get_info(timingfirmwareinfo::TimingDeviceInfo &mon_data) const override
Give info to collector.
std::string get_status(bool print_out=false) const override
Get status string, optionally print.
const MasterNodeInterface * get_master_node_plain() const override
Get master node pointer.
void apply_endpoint_delay(uint32_t address, uint32_t coarse_delay, uint32_t fine_delay, uint32_t phase_delay, bool measure_rtt=false, bool control_sfp=true, int sfp_mux=-1) const override
Apply delay to endpoint.
uint32_t measure_endpoint_rtt(uint32_t address, bool control_sfp=true, int sfp_mux=-1) const override
Measure the endpoint round trip time.
void sync_timestamp(TimestampSource source) const override
Sync timestamp to current machine value.
void validate_firmware_version() const override
Validate master firmware version.
void enable_periodic_fl_cmd(uint32_t channel, double rate, bool poisson=false) const override
Configure fake trigger generator.
uint32_t read_firmware_version() const override
Read master firmware version.
void configure(ClockSource clock_source, TimestampSource ts_source) const override
Prepare the timing master for data taking.
void get_info(timingfirmwareinfo::MasterMonitorData &mon_data) const override
Give info to collector.
uint64_t read_master_timestamp() const override
Read the current timestamp.
MasterDesign(const uhal::Node &node)
Base class for timing IO nodes.
virtual void get_info(timingfirmwareinfo::MasterMonitorData &mon_data) const =0
Give info to collector.
Base class for timing top design nodes with IO class.