|
DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
#include <CardWrapper.hpp>
Public Member Functions | |
| CardWrapper (const appmodel::FelixInterface *cfg, std::vector< unsigned int >) | |
| CardWrapper Constructor. | |
| ~CardWrapper () | |
| CardWrapper (const CardWrapper &)=delete | |
| CardWrapper is not copy-constructible. | |
| CardWrapper & | operator= (const CardWrapper &)=delete |
| CardWrapper is not copy-assignable. | |
| CardWrapper (CardWrapper &&)=delete | |
| CardWrapper is not move-constructible. | |
| CardWrapper & | operator= (CardWrapper &&)=delete |
| CardWrapper is not move-assignable. | |
| void | configure () |
| void | start () |
| void | stop () |
| void | set_running (bool should_run) |
| void | graceful_stop () |
| void | set_block_addr_handler (std::function< void(uint64_t)> &handle) |
Private Types | |
| using | UniqueFlxCard = std::unique_ptr<FlxCard> |
Private Member Functions | |
| void | open_card () |
| void | close_card () |
| int | allocate_CMEM (uint8_t numa, u_long bsize, u_long *paddr, u_long *vaddr) |
| void | init_DMA () |
| void | start_DMA () |
| void | stop_DMA () |
| uint64_t | bytes_available () |
| void | read_current_address () |
| void | process_DMA () |
Private Attributes | |
| std::atomic< bool > | m_run_marker |
| bool | m_configured { false } |
| uint8_t | m_card_id |
| uint8_t | m_logical_unit |
| std::string | m_card_id_str |
| uint8_t | m_dma_id |
| size_t | m_margin_blocks |
| size_t | m_block_threshold |
| bool | m_interrupt_mode |
| size_t | m_poll_time |
| uint8_t | m_numa_id |
| std::vector< unsigned int > | m_links_enabled |
| std::string | m_info_str |
| UniqueFlxCard | m_flx_card |
| std::mutex | m_card_mutex |
| std::size_t | m_dma_memory_size |
| int | m_cmem_handle |
| uint64_t | m_virt_addr |
| uint64_t | m_phys_addr |
| uint64_t | m_current_addr |
| unsigned | m_read_index |
| u_long | m_destination |
| std::atomic< bool > | m_run_lock |
| utilities::ReusableThread | m_dma_processor |
| std::function< void(uint64_t)> | m_handle_block_addr |
| bool | m_block_addr_handler_available { false } |
Static Private Attributes | |
| static constexpr size_t | m_max_links_per_card = 6 |
| static constexpr size_t | m_block_size = 4096 |
| static constexpr size_t | m_dma_wraparound = FLX_DMA_WRAPAROUND |
| static const std::string | m_dma_processor_name = "flx-dma" |
Definition at line 29 of file CardWrapper.hpp.
|
private |
Definition at line 94 of file CardWrapper.hpp.
| dunedaq::flxlibs::CardWrapper::CardWrapper | ( | const appmodel::FelixInterface * | cfg, |
| std::vector< unsigned int > | enabled_links ) |
CardWrapper Constructor.
| name | Instance name for this CardWrapper instance |
Definition at line 36 of file CardWrapper.cpp.
| dunedaq::flxlibs::CardWrapper::~CardWrapper | ( | ) |
Definition at line 68 of file CardWrapper.cpp.
|
delete |
CardWrapper is not copy-constructible.
|
delete |
CardWrapper is not move-constructible.
|
private |
Definition at line 187 of file CardWrapper.cpp.
|
inlineprivate |
Definition at line 267 of file CardWrapper.cpp.
|
private |
Definition at line 173 of file CardWrapper.cpp.
| void dunedaq::flxlibs::CardWrapper::configure | ( | ) |
Definition at line 78 of file CardWrapper.cpp.
| void dunedaq::flxlibs::CardWrapper::graceful_stop | ( | ) |
Definition at line 121 of file CardWrapper.cpp.
|
private |
Definition at line 217 of file CardWrapper.cpp.
|
private |
Definition at line 151 of file CardWrapper.cpp.
|
delete |
CardWrapper is not move-assignable.
|
delete |
CardWrapper is not copy-assignable.
|
private |
Definition at line 281 of file CardWrapper.cpp.
|
private |
Definition at line 273 of file CardWrapper.cpp.
|
inline |
Definition at line 50 of file CardWrapper.hpp.
| void dunedaq::flxlibs::CardWrapper::set_running | ( | bool | should_run | ) |
Definition at line 144 of file CardWrapper.cpp.
| void dunedaq::flxlibs::CardWrapper::start | ( | ) |
Definition at line 104 of file CardWrapper.cpp.
|
private |
Definition at line 247 of file CardWrapper.cpp.
| void dunedaq::flxlibs::CardWrapper::stop | ( | ) |
Definition at line 138 of file CardWrapper.cpp.
|
private |
Definition at line 257 of file CardWrapper.cpp.
|
private |
Definition at line 112 of file CardWrapper.hpp.
|
staticconstexprprivate |
Definition at line 62 of file CardWrapper.hpp.
|
private |
Definition at line 86 of file CardWrapper.hpp.
|
private |
Definition at line 81 of file CardWrapper.hpp.
|
private |
Definition at line 83 of file CardWrapper.hpp.
|
private |
Definition at line 96 of file CardWrapper.hpp.
|
private |
Definition at line 100 of file CardWrapper.hpp.
|
private |
Definition at line 80 of file CardWrapper.hpp.
|
private |
Definition at line 103 of file CardWrapper.hpp.
|
private |
Definition at line 105 of file CardWrapper.hpp.
|
private |
Definition at line 84 of file CardWrapper.hpp.
|
private |
Definition at line 99 of file CardWrapper.hpp.
|
private |
Definition at line 110 of file CardWrapper.hpp.
|
inlinestaticprivate |
Definition at line 108 of file CardWrapper.hpp.
|
staticconstexprprivate |
Definition at line 63 of file CardWrapper.hpp.
|
private |
Definition at line 95 of file CardWrapper.hpp.
|
private |
Definition at line 111 of file CardWrapper.hpp.
|
private |
Definition at line 91 of file CardWrapper.hpp.
|
private |
Definition at line 87 of file CardWrapper.hpp.
|
private |
Definition at line 90 of file CardWrapper.hpp.
|
private |
Definition at line 82 of file CardWrapper.hpp.
|
private |
Definition at line 85 of file CardWrapper.hpp.
|
staticconstexprprivate |
Definition at line 59 of file CardWrapper.hpp.
|
private |
Definition at line 89 of file CardWrapper.hpp.
|
private |
Definition at line 102 of file CardWrapper.hpp.
|
private |
Definition at line 88 of file CardWrapper.hpp.
|
private |
Definition at line 104 of file CardWrapper.hpp.
|
private |
Definition at line 109 of file CardWrapper.hpp.
|
private |
Definition at line 79 of file CardWrapper.hpp.
|
private |
Definition at line 101 of file CardWrapper.hpp.