Line data Source code
1 : /**
2 : * @file SSPLEDCalibModule.cpp SSPLEDCalibModule DAQModule implementation
3 : *
4 : * This is part of the DUNE DAQ Application Framework, copyright 2020.
5 : * Licensing/copyright details are in the COPYING file that you should have
6 : * received with this code.
7 : */
8 : #ifndef SSPMODULES_PLUGINS_SSPLEDCALIBMODULE_CPP_
9 : #define SSPMODULES_PLUGINS_SSPLEDCALIBMODULE_CPP_
10 :
11 : #include "logging/Logging.hpp"
12 : #include "appmodel/SSPLEDCalibModule.hpp"
13 : #include "SSPLEDCalibModule.hpp"
14 : //#include "SspIssues.hpp"
15 :
16 : #include <vector>
17 :
18 : /**
19 : * @brief Name used by TRACE TLOG calls from this source file
20 : */
21 : #define TRACE_NAME "SSPLEDCalibModule" // NOLINT
22 :
23 : /**
24 : * @brief TRACE debug levels used in this source file
25 : */
26 :
27 : enum
28 : {
29 : TLVL_ENTER_EXIT_METHODS = 5,
30 : TLVL_WORK_STEPS = 10,
31 : TLVL_BOOKKEEPING = 15,
32 : TLVL_FULL_DEBUG = 63
33 : };
34 :
35 : namespace dunedaq {
36 : namespace sspmodules {
37 :
38 0 : SSPLEDCalibModule::SSPLEDCalibModule(const std::string& name)
39 0 : : DAQModule(name)
40 : {
41 0 : TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << "SSPLEDCalibModule constructor called.";
42 0 : m_card_wrapper = std::make_unique<SSPLEDCalibWrapper>();
43 :
44 0 : register_command("conf", &SSPLEDCalibModule::do_configure);
45 0 : register_command("start", &SSPLEDCalibModule::do_start);
46 0 : register_command("stop", &SSPLEDCalibModule::do_stop);
47 :
48 0 : TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << "SSPLEDCalibModule constructor complete.";
49 0 : }
50 :
51 : void
52 0 : SSPLEDCalibModule::init(std::shared_ptr<appfwk::ConfigurationManager> mcfg)
53 : {
54 0 : TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << "SSPLEDCalibModule init called.";
55 :
56 0 : m_mcfg = mcfg;
57 :
58 : //m_card_wrapper->init(conf); moved to conf for now
59 0 : TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << "SSPLEDCalibModule init complete.";
60 0 : }
61 :
62 : void
63 0 : SSPLEDCalibModule::do_configure(const CommandData_t& /*args*/)
64 : {
65 0 : TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << "SSPLEDCalibModule conf called.";
66 :
67 0 : if (!m_mcfg) {
68 0 : std::stringstream ss;
69 0 : ss << "Error: The configuration was not properly stored!" << std::endl;
70 0 : throw ConfigurationError(ERS_HERE, ss.str());
71 0 : }
72 :
73 0 : auto conf = m_mcfg->get_dal<appmodel::SSPLEDCalibModule>(get_name());
74 :
75 0 : m_card_wrapper->init(conf);
76 0 : m_card_wrapper->conf(conf);
77 0 : TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << "SSPLEDCalibModule conf complete.";
78 0 : }
79 :
80 : void
81 0 : SSPLEDCalibModule::do_start(const CommandData_t& args)
82 : {
83 0 : TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << "SSPLEDCalibModule do_start called.";
84 0 : m_card_wrapper->start(args);
85 0 : TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << "SSPLEDCalibModule do_start complete.";
86 0 : }
87 :
88 :
89 : void
90 0 : SSPLEDCalibModule::do_stop(const CommandData_t& args)
91 : {
92 0 : TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << "SSPLEDCalibModule do_stop called.";
93 0 : m_card_wrapper->stop(args);
94 0 : TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << "SSPLEDCalibModule do_stop complete.";
95 0 : }
96 :
97 : } // namespace sspmodules
98 : } // namespace dunedaq
99 :
100 0 : DEFINE_DUNE_DAQ_MODULE(dunedaq::sspmodules::SSPLEDCalibModule)
101 :
102 : #endif // SSPMODULES_PLUGINS_SSPLEDCALIBMODULE_CPP_
|