DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
sspmodules
src
SSPLEDCalibWrapper.hpp
Go to the documentation of this file.
1
8
#ifndef SSPMODULES_SRC_SSPLEDCALIBWRAPPER_HPP_
9
#define SSPMODULES_SRC_SSPLEDCALIBWRAPPER_HPP_
10
11
#include "
appmodel/SSPLEDCalibModule.hpp
"
12
#include "
appmodel/SSPRegister.hpp
"
13
14
#include "
SSPIssues.hpp
"
15
#include "
anlBoard/DeviceInterface.hpp
"
16
#include "
logging/Logging.hpp
"
17
18
#include <nlohmann/json.hpp>
19
20
#include <string>
21
#include <vector>
22
23
namespace
dunedaq
{
24
namespace
sspmodules
{
25
26
class
SSPLEDCalibWrapper
27
{
28
public
:
33
SSPLEDCalibWrapper
();
34
~SSPLEDCalibWrapper
();
35
SSPLEDCalibWrapper
(
const
SSPLEDCalibWrapper
&) =
delete
;
36
SSPLEDCalibWrapper
&
operator=
(
const
SSPLEDCalibWrapper
&) =
delete
;
37
SSPLEDCalibWrapper
(
SSPLEDCalibWrapper
&&) =
delete
;
38
SSPLEDCalibWrapper
&
operator=
(
SSPLEDCalibWrapper
&&) =
delete
;
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
46
private
:
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};
66
unsigned
int
m_double_pulse_delay_ticks
{0};
67
unsigned
int
m_pulse1_width_ticks
{0};
68
unsigned
int
m_pulse2_width_ticks
{0};
69
unsigned
int
m_pulse_bias_percent_270nm
{0};
70
unsigned
int
m_pulse_bias_percent_367nm
{0};
71
72
std::string
m_instance_name_for_metrics
;
73
74
// Card
75
void
validate_config
(
const
data_t
& args);
76
void
configure_single_pulse
();
77
void
configure_burst_mode
();
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_
DeviceInterface.hpp
SSPIssues.hpp
dunedaq::appmodel::SSPLEDCalibModule
Definition
SSPLEDCalibModule.hpp:36
dunedaq::sspmodules::DeviceInterface
Definition
DeviceInterface.hpp:36
dunedaq::sspmodules::SSPLEDCalibWrapper::m_burst_count
unsigned int m_burst_count
Definition
SSPLEDCalibWrapper.hpp:65
dunedaq::sspmodules::SSPLEDCalibWrapper::m_configure
std::atomic< bool > m_configure
Definition
SSPLEDCalibWrapper.hpp:52
dunedaq::sspmodules::SSPLEDCalibWrapper::m_partition_number
unsigned int m_partition_number
Definition
SSPLEDCalibWrapper.hpp:57
dunedaq::sspmodules::SSPLEDCalibWrapper::~SSPLEDCalibWrapper
~SSPLEDCalibWrapper()
Definition
SSPLEDCalibWrapper.cpp:35
dunedaq::sspmodules::SSPLEDCalibWrapper::SSPLEDCalibWrapper
SSPLEDCalibWrapper()
SSPLEDCalibWrapper Constructor.
Definition
SSPLEDCalibWrapper.cpp:29
dunedaq::sspmodules::SSPLEDCalibWrapper::m_timing_address
unsigned int m_timing_address
Definition
SSPLEDCalibWrapper.hpp:58
dunedaq::sspmodules::SSPLEDCalibWrapper::configure_burst_mode
void configure_burst_mode()
Definition
SSPLEDCalibWrapper.cpp:258
dunedaq::sspmodules::SSPLEDCalibWrapper::m_number_channels
unsigned int m_number_channels
Definition
SSPLEDCalibWrapper.hpp:63
dunedaq::sspmodules::SSPLEDCalibWrapper::manual_configure_device
void manual_configure_device(const std::vector< const appmodel::SSPRegister * > &hw_conf)
Definition
SSPLEDCalibWrapper.cpp:287
dunedaq::sspmodules::SSPLEDCalibWrapper::operator=
SSPLEDCalibWrapper & operator=(SSPLEDCalibWrapper &&)=delete
SSPLEDCalibWrapper is not move-assignable.
dunedaq::sspmodules::SSPLEDCalibWrapper::m_instance_name_for_metrics
std::string m_instance_name_for_metrics
Definition
SSPLEDCalibWrapper.hpp:72
dunedaq::sspmodules::SSPLEDCalibWrapper::operator=
SSPLEDCalibWrapper & operator=(const SSPLEDCalibWrapper &)=delete
SSPLEDCalibWrapper is not copy-assignable.
dunedaq::sspmodules::SSPLEDCalibWrapper::stop
void stop(const data_t &args)
Definition
SSPLEDCalibWrapper.cpp:207
dunedaq::sspmodules::SSPLEDCalibWrapper::m_board_ip
unsigned long m_board_ip
Definition
SSPLEDCalibWrapper.hpp:56
dunedaq::sspmodules::SSPLEDCalibWrapper::SSPLEDCalibWrapper
SSPLEDCalibWrapper(SSPLEDCalibWrapper &&)=delete
SSPLEDCalibWrapper is not move-constructible.
dunedaq::sspmodules::SSPLEDCalibWrapper::m_device_interface
dunedaq::sspmodules::DeviceInterface * m_device_interface
Definition
SSPLEDCalibWrapper.hpp:48
dunedaq::sspmodules::SSPLEDCalibWrapper::m_pulse1_width_ticks
unsigned int m_pulse1_width_ticks
Definition
SSPLEDCalibWrapper.hpp:67
dunedaq::sspmodules::SSPLEDCalibWrapper::start
void start(const data_t &args)
Definition
SSPLEDCalibWrapper.cpp:132
dunedaq::sspmodules::SSPLEDCalibWrapper::init
void init(const appmodel::SSPLEDCalibModule *mcfg)
Definition
SSPLEDCalibWrapper.cpp:40
dunedaq::sspmodules::SSPLEDCalibWrapper::data_t
nlohmann::json data_t
Definition
SSPLEDCalibWrapper.hpp:40
dunedaq::sspmodules::SSPLEDCalibWrapper::m_run_marker
std::atomic< bool > m_run_marker
Definition
SSPLEDCalibWrapper.hpp:51
dunedaq::sspmodules::SSPLEDCalibWrapper::m_burst_mode
bool m_burst_mode
Definition
SSPLEDCalibWrapper.hpp:60
dunedaq::sspmodules::SSPLEDCalibWrapper::m_board_id
unsigned int m_board_id
Definition
SSPLEDCalibWrapper.hpp:55
dunedaq::sspmodules::SSPLEDCalibWrapper::m_double_pulse
bool m_double_pulse
Definition
SSPLEDCalibWrapper.hpp:61
dunedaq::sspmodules::SSPLEDCalibWrapper::validate_config
void validate_config(const data_t &args)
Definition
SSPLEDCalibWrapper.cpp:302
dunedaq::sspmodules::SSPLEDCalibWrapper::m_single_pulse
bool m_single_pulse
Definition
SSPLEDCalibWrapper.hpp:62
dunedaq::sspmodules::SSPLEDCalibWrapper::conf
void conf(const appmodel::SSPLEDCalibModule *mcfg)
Definition
SSPLEDCalibWrapper.cpp:83
dunedaq::sspmodules::SSPLEDCalibWrapper::m_module_id
unsigned long m_module_id
Definition
SSPLEDCalibWrapper.hpp:59
dunedaq::sspmodules::SSPLEDCalibWrapper::m_pulse_bias_percent_270nm
unsigned int m_pulse_bias_percent_270nm
Definition
SSPLEDCalibWrapper.hpp:69
dunedaq::sspmodules::SSPLEDCalibWrapper::m_channel_mask
unsigned int m_channel_mask
Definition
SSPLEDCalibWrapper.hpp:64
dunedaq::sspmodules::SSPLEDCalibWrapper::m_pulse_bias_percent_367nm
unsigned int m_pulse_bias_percent_367nm
Definition
SSPLEDCalibWrapper.hpp:70
dunedaq::sspmodules::SSPLEDCalibWrapper::configure_single_pulse
void configure_single_pulse()
Definition
SSPLEDCalibWrapper.cpp:229
dunedaq::sspmodules::SSPLEDCalibWrapper::m_pulse2_width_ticks
unsigned int m_pulse2_width_ticks
Definition
SSPLEDCalibWrapper.hpp:68
dunedaq::sspmodules::SSPLEDCalibWrapper::m_double_pulse_delay_ticks
unsigned int m_double_pulse_delay_ticks
Definition
SSPLEDCalibWrapper.hpp:66
dunedaq::sspmodules::SSPLEDCalibWrapper::SSPLEDCalibWrapper
SSPLEDCalibWrapper(const SSPLEDCalibWrapper &)=delete
SSPLEDCalibWrapper is not copy-constructible.
SSPLEDCalibModule.hpp
SSPRegister.hpp
Logging.hpp
dunedaq::sspmodules
Definition
anlExceptions.hpp:15
dunedaq
Including Qt Headers.
Definition
module.cpp:16
Generated on
for DUNE-DAQ by
1.17.0