DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
timing
include
timing
IRIGTimestampNode.hpp
Go to the documentation of this file.
1
11
12
#ifndef TIMING_INCLUDE_TIMING_IRIGTIMESTAMPNODE_HPP_
13
#define TIMING_INCLUDE_TIMING_IRIGTIMESTAMPNODE_HPP_
14
15
// PDT Headers
16
#include "
TimingIssues.hpp
"
17
#include "
timing/TimingNode.hpp
"
18
#include "
timing/definitions.hpp
"
19
20
// uHal Headers
21
#include "uhal/DerivedNode.hpp"
22
23
// C++ Headers
24
#include <chrono>
25
#include <string>
26
27
namespace
dunedaq
{
28
namespace
timing
{
29
33
class
IRIGTimestampNode
:
public
TimingNode
34
{
35
UHAL_DERIVEDNODE(
IRIGTimestampNode
)
36
public
:
37
explicit
IRIGTimestampNode
(
const
uhal::Node& node);
38
virtual
~IRIGTimestampNode
();
39
43
std::string
get_status
(
bool
print_out =
false
)
const override
;
44
50
uhal::ValVector<uint32_t>
read_raw_timestamp
(
bool
dispatch =
true
)
const
;
// NOLINT(build/unsigned)
51
57
uint64_t
read_timestamp
()
const
;
// NOLINT(build/unsigned)
58
62
void
set_ts_epoch
(
TimestampEpoch
ts_epoch)
const
;
// NOLINT(build/unsigned)
63
67
void
set_ts_epoch_value
(uint64_t epoch_to_2000_seconds_tai, uint8_t epoch_to_2000_leap_seconds)
const
;
// NOLINT(build/unsigned)
68
72
//void set_ts_epoch_date(uint64_t epoch_to_2000_seconds_tai, uint8_t epoch_to_2000_leap_seconds) const; // NOLINT(build/unsigned)
73
77
void
set_ts_timebase
(
TimestampTimebase
ts_timebase)
const
;
// NOLINT(build/unsigned)
78
82
void
set_ts_seconds_offset
(int8_t seconds_offset)
const
;
// NOLINT(build/signed)
83
87
void
set_ts_ticks_offset
(int16_t ticks_offset)
const
;
// NOLINT(build/signed)
88
94
uint32_t
read_pps_counter
()
const
;
// NOLINT(build/unsigned)
95
101
uint64_t
read_seconds_since_epoch
()
const
;
// NOLINT(build/unsigned)
102
};
103
104
}
// namespace timing
105
}
// namespace dunedaq
106
107
#endif
// TIMING_INCLUDE_TIMING_IRIGTIMESTAMPNODE_HPP_
TimingNode.hpp
dunedaq::timing::IRIGTimestampNode::get_status
std::string get_status(bool print_out=false) const override
Print the status of the timing node.
Definition
IRIGTimestampNode.cpp:33
dunedaq::timing::IRIGTimestampNode::read_timestamp
uint64_t read_timestamp() const
Read the current timestamp words.
Definition
IRIGTimestampNode.cpp:76
dunedaq::timing::IRIGTimestampNode::set_ts_ticks_offset
void set_ts_ticks_offset(int16_t ticks_offset) const
Set ticks offset.
Definition
IRIGTimestampNode.cpp:145
dunedaq::timing::IRIGTimestampNode::~IRIGTimestampNode
virtual ~IRIGTimestampNode()
Definition
IRIGTimestampNode.cpp:28
dunedaq::timing::IRIGTimestampNode::set_ts_epoch_value
void set_ts_epoch_value(uint64_t epoch_to_2000_seconds_tai, uint8_t epoch_to_2000_leap_seconds) const
Set custom epoch value.
Definition
IRIGTimestampNode.cpp:102
dunedaq::timing::IRIGTimestampNode::IRIGTimestampNode
IRIGTimestampNode(const uhal::Node &node)
Definition
IRIGTimestampNode.cpp:22
dunedaq::timing::IRIGTimestampNode::set_ts_seconds_offset
void set_ts_seconds_offset(int8_t seconds_offset) const
Set seconds offset.
Definition
IRIGTimestampNode.cpp:135
dunedaq::timing::IRIGTimestampNode::set_ts_timebase
void set_ts_timebase(TimestampTimebase ts_timebase) const
Set custom epoch date.
Definition
IRIGTimestampNode.cpp:84
dunedaq::timing::IRIGTimestampNode::read_seconds_since_epoch
uint64_t read_seconds_since_epoch() const
Read the current seconds since epoch words.
Definition
IRIGTimestampNode.cpp:125
dunedaq::timing::IRIGTimestampNode::set_ts_epoch
void set_ts_epoch(TimestampEpoch ts_epoch) const
Set epoch: UNIX/custom.
Definition
IRIGTimestampNode.cpp:93
dunedaq::timing::IRIGTimestampNode::read_raw_timestamp
uhal::ValVector< uint32_t > read_raw_timestamp(bool dispatch=true) const
Read the current timestamp words.
Definition
IRIGTimestampNode.cpp:65
dunedaq::timing::IRIGTimestampNode::read_pps_counter
uint32_t read_pps_counter() const
Read the current pps ctr word.
Definition
IRIGTimestampNode.cpp:115
dunedaq::timing::TimingNode::TimingNode
TimingNode(const uhal::Node &node)
Definition
TimingNode.cpp:18
definitions.hpp
TimingIssues.hpp
dunedaq::timing
< Message parameters
Definition
BoreasDesign.hpp:29
dunedaq::timing::TimestampTimebase
TimestampTimebase
Definition
definitions.hpp:137
dunedaq::timing::TimestampEpoch
TimestampEpoch
Definition
definitions.hpp:131
dunedaq
Including Qt Headers.
Definition
module.cpp:16
Generated on
for DUNE-DAQ by
1.17.0