12#ifndef TIMING_INCLUDE_TIMING_HSINODE_HPP_
13#define TIMING_INCLUDE_TIMING_HSINODE_HPP_
24#include "uhal/DerivedNode.hpp"
40 explicit HSINode(
const uhal::Node& node);
46 std::string
get_status(
bool print_out =
false)
const override;
61 bool read_all =
false,
62 bool fail_on_error =
false)
const;
64 bool fail_on_error =
false)
const;
82 uint32_t clock_frequency_hz,
83 bool dispatch =
true)
const;
89 void start_hsi(
bool dispatch =
true)
const;
95 void stop_hsi(
bool dispatch =
true)
const;
101 void reset_hsi(
bool dispatch =
true)
const;
void get_info(timingfirmwareinfo::HSIFirmwareMonitorData &mon_data) const
Collect monitoring information for timing endpoint.
bool read_buffer_warning() const
Read butffer warning flag.
std::string get_status(bool print_out=false) const override
Print the status of the timing node.
void stop_hsi(bool dispatch=true) const
Stop HSI triggering.
bool read_buffer_error() const
Read butffer error flag.
void configure_hsi(uint32_t src, uint32_t re_mask, uint32_t fe_mask, uint32_t inv_mask, double rate, uint32_t clock_frequency_hz, bool dispatch=true) const
Configure HSI triggering.
uhal::ValVector< uint32_t > read_data_buffer(uint16_t &n_words, bool read_all=false, bool fail_on_error=false) const
Read the contents of the endpoint data buffer.
uint32_t read_buffer_state() const
Read butffer error/warning/word count.
void start_hsi(bool dispatch=true) const
Start HSI triggering.
std::string get_data_buffer_table(bool read_all=false, bool print_out=false) const
Print the contents of the endpoint data buffer.
uint32_t read_buffer_count() const
Read the number of words in the data buffer.
HSINode(const uhal::Node &node)
uint32_t read_signal_source_mode() const
Read signal source, 0 - hardware, 1 - internal emulation.
static constexpr size_t hsi_buffer_event_words_number
void reset_hsi(bool dispatch=true) const
Reset HSI.
Base class for timing nodes.