DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
SSPLEDCalibWrapper.hpp
Go to the documentation of this file.
1
8#ifndef SSPMODULES_SRC_SSPLEDCALIBWRAPPER_HPP_
9#define SSPMODULES_SRC_SSPLEDCALIBWRAPPER_HPP_
10
13
14#include "SSPIssues.hpp"
16#include "logging/Logging.hpp"
17
18#include <nlohmann/json.hpp>
19
20#include <string>
21#include <vector>
22
23namespace dunedaq {
24namespace sspmodules {
25
27{
28public:
39
40 using data_t = nlohmann::json;
41 void init(const appmodel::SSPLEDCalibModule* mcfg);
42 void conf(const appmodel::SSPLEDCalibModule* mcfg);
43 void start(const data_t& args);
44 void stop(const data_t& args);
45
46private:
47 // these are SSP configurations for this instance of the SSP LED Calib Wrapper
48 dunedaq::sspmodules::DeviceInterface* m_device_interface; // instance of the SSP device interface class
49
50 // module status booleans for transition like init, conf, start, etc
51 std::atomic<bool> m_run_marker;
52 std::atomic<bool> m_configure;
53
54 // Initialization configuration variables
55 unsigned int m_board_id {0}; // this is the ID of the SSP board
56 unsigned long m_board_ip; // this is the ip address of the SSP board // NOLINT
57 unsigned int m_partition_number {0};
58 unsigned int m_timing_address {0};
59 unsigned long m_module_id; // NOLINT
60 bool m_burst_mode = false;
61 bool m_double_pulse = false;
62 bool m_single_pulse = false;
63 unsigned int m_number_channels{12};
64 unsigned int m_channel_mask{4095};
65 unsigned int m_burst_count{1};
67 unsigned int m_pulse1_width_ticks{0};
68 unsigned int m_pulse2_width_ticks{0};
71
73
74 // Card
75 void validate_config(const data_t& args);
78 void manual_configure_device(const std::vector<const appmodel::SSPRegister*>& hw_conf);
79};
80
81} // namespace sspmodules
82} // namespace dunedaq
83
84#endif // SSPMODULES_SRC_SSPLEDCALIBWRAPPER_HPP_
SSPLEDCalibWrapper()
SSPLEDCalibWrapper Constructor.
void manual_configure_device(const std::vector< const appmodel::SSPRegister * > &hw_conf)
SSPLEDCalibWrapper & operator=(SSPLEDCalibWrapper &&)=delete
SSPLEDCalibWrapper is not move-assignable.
SSPLEDCalibWrapper & operator=(const SSPLEDCalibWrapper &)=delete
SSPLEDCalibWrapper is not copy-assignable.
SSPLEDCalibWrapper(SSPLEDCalibWrapper &&)=delete
SSPLEDCalibWrapper is not move-constructible.
dunedaq::sspmodules::DeviceInterface * m_device_interface
void init(const appmodel::SSPLEDCalibModule *mcfg)
void conf(const appmodel::SSPLEDCalibModule *mcfg)
SSPLEDCalibWrapper(const SSPLEDCalibWrapper &)=delete
SSPLEDCalibWrapper is not copy-constructible.
Including Qt Headers.