12#ifndef TIMING_INCLUDE_TIMING_MASTERMUXDESIGN_HPP_
13#define TIMING_INCLUDE_TIMING_MASTERMUXDESIGN_HPP_
20#include "uhal/DerivedNode.hpp"
45 std::string
get_status(
bool print_out =
false)
const override;
54 bool control_sfp =
true,
55 int sfp_mux = -1)
const override;
60 uint32_t coarse_delay,
63 bool measure_rtt =
false,
64 bool control_sfp =
true,
65 int sfp_mux = -1)
const override;
Base class for timing master designs.
Class for PDI timing master design on mux board.
void resync_active_cdr() const override
Resync active cdr.
std::string get_status(bool print_out=false) const override
Get status string, optionally print.
virtual ~MasterMuxDesign()
std::vector< uint32_t > scan_sfp_mux() const override
Scan SFP for alive timing transmitters.
MasterMuxDesign(const uhal::Node &node)
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 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.
Class for timing fanout designs.