8#ifndef FLXLIBS_SRC_CARDWRAPPER_HPP_
9#define FLXLIBS_SRC_CARDWRAPPER_HPP_
17#include "flxcard/FlxCard.h"
18#include "packetformat/block_format.hpp"
20#include <nlohmann/json.hpp>
70 int allocate_CMEM(uint8_t numa, u_long bsize, u_long* paddr, u_long* vaddr);
void read_current_address()
CardWrapper(const CardWrapper &)=delete
CardWrapper is not copy-constructible.
utilities::ReusableThread m_dma_processor
static constexpr size_t m_max_links_per_card
std::size_t m_dma_memory_size
void set_running(bool should_run)
std::function< void(uint64_t)> m_handle_block_addr
CardWrapper(CardWrapper &&)=delete
CardWrapper is not move-constructible.
std::atomic< bool > m_run_lock
static constexpr size_t m_block_size
CardWrapper & operator=(const CardWrapper &)=delete
CardWrapper is not copy-assignable.
int allocate_CMEM(uint8_t numa, u_long bsize, u_long *paddr, u_long *vaddr)
std::atomic< bool > m_run_marker
bool m_block_addr_handler_available
std::vector< unsigned int > m_links_enabled
uint64_t bytes_available()
static constexpr size_t m_dma_wraparound
CardWrapper(const appmodel::FelixInterface *cfg, std::vector< unsigned int >)
CardWrapper Constructor.
CardWrapper & operator=(CardWrapper &&)=delete
CardWrapper is not move-assignable.
std::unique_ptr< FlxCard > UniqueFlxCard
void set_block_addr_handler(std::function< void(uint64_t)> &handle)
static const std::string m_dma_processor_name
std::string m_card_id_str