33 master <<
" timing master did not become ready in time.",
34 ((std::string)master) )
41class TimingMasterControllerBase :
public dunedaq::timinglibs::TimingController
48 explicit TimingMasterControllerBase(
const std::string& name);
50 TimingMasterControllerBase(
const TimingMasterControllerBase&) =
delete;
51 TimingMasterControllerBase& operator=(
const TimingMasterControllerBase&) =
53 TimingMasterControllerBase(TimingMasterControllerBase&&) =
delete;
54 TimingMasterControllerBase& operator=(TimingMasterControllerBase&&) =
56 virtual ~TimingMasterControllerBase()
58 if (endpoint_scan_thread.thread_running())
59 endpoint_scan_thread.stop_working_thread();
64 void do_configure(
const nlohmann::json&)
override;
65 void do_start(
const nlohmann::json& data)
override;
66 void do_stop(
const nlohmann::json& data)
override;
67 void send_configure_hardware_commands(
const nlohmann::json& data)
override;
70 void do_master_set_timestamp(
const nlohmann::json&);
71 void do_master_set_endpoint_delay(
const nlohmann::json& data);
72 void do_master_send_fl_command(
const nlohmann::json& data);
73 void do_master_measure_endpoint_rtt(
const nlohmann::json& data);
74 void do_master_endpoint_scan(
const nlohmann::json& data);
79 timingcmd::TimingEndpointLocations m_monitored_endpoint_locations;
80 uint m_endpoint_scan_period;
81 dunedaq::utilities::WorkerThread endpoint_scan_thread;
82 virtual void endpoint_scan(std::atomic<bool>&);