DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
TimingEndpointControllerBase.hpp
Go to the documentation of this file.
1
12#ifndef TIMINGLIBS_PLUGINS_TIMINGENDPOINTCONTROLLERBASE_HPP_
13#define TIMINGLIBS_PLUGINS_TIMINGENDPOINTCONTROLLERBASE_HPP_
14
16
19
20#include "appfwk/DAQModule.hpp"
21#include "ers/Issue.hpp"
22#include "logging/Logging.hpp"
24
25#include <memory>
26#include <string>
27#include <vector>
28
29namespace dunedaq {
30namespace timinglibs {
31
36class TimingEndpointControllerBase : public dunedaq::timinglibs::TimingController
37{
38public:
43 explicit TimingEndpointControllerBase(const std::string& name, uint number_hw_commands);
44
46 delete;
48 delete;
51 delete;
52
53protected:
55
56 // Commands
57 void do_configure(const nlohmann::json& data) override;
58 void send_configure_hardware_commands(const nlohmann::json& data) override;
59
60 timingcmd::TimingHwCmd construct_endpoint_hw_cmd(const std::string& cmd_id, uint endpoint_id);
61
62 // timinglibs endpoint commands
63 virtual void do_endpoint_enable(const nlohmann::json& data);
64 virtual void do_endpoint_disable(const nlohmann::json& data);
65 virtual void do_endpoint_reset(const nlohmann::json& data);
66
67 // pass op mon info
68 void process_device_info(nlohmann::json info) override;
69 std::atomic<uint> m_endpoint_state;
70};
71} // namespace timinglibs
72} // namespace dunedaq
73
74#endif // TIMINGLIBS_PLUGINS_TIMINGENDPOINTCONTROLLERBASE_HPP_
75
76// Local Variables:
77// c-basic-offset: 2
78// End:
TimingEndpointControllerBase is a DAQModule implementation that provides that provides a control inte...
virtual void do_endpoint_disable(const nlohmann::json &data)
TimingEndpointControllerBase & operator=(TimingEndpointControllerBase &&)=delete
TimingEndpointControllerBase is not move-assignable.
timingcmd::TimingHwCmd construct_endpoint_hw_cmd(const std::string &cmd_id, uint endpoint_id)
TimingEndpointControllerBase(TimingEndpointControllerBase &&)=delete
TimingEndpointControllerBase is not move-constructible.
TimingEndpointControllerBase & operator=(const TimingEndpointControllerBase &)=delete
TimingEndpointControllerBase is not copy-assignable.
void send_configure_hardware_commands(const nlohmann::json &data) override
TimingEndpointControllerBase(const std::string &name, uint number_hw_commands)
TimingEndpointControllerBase Constructor.
TimingEndpointControllerBase(const TimingEndpointControllerBase &)=delete
TimingEndpointControllerBase is not copy-constructible.
virtual void do_endpoint_enable(const nlohmann::json &data)
Including Qt Headers.