Orion
high-rate readout
Public Member Functions | List of all members
hwc::TxCore Class Referenceabstract

Transmitter Core interface. More...

#include <txcore.hpp>

Public Member Functions

virtual ~TxCore ()=default
 Default destructor.
 
virtual void init_send_data (netio_tag_t fid)=0
 Initialize send_data for fid. More...
 
virtual void send_data (netio_tag_t fid, const uint8_t *data, size_t size, bool flush=true)=0
 Send data to one fid. More...
 
virtual void send_data (netio_tag_t fid, const std::vector< const uint8_t * > &msgs, const std::vector< size_t > &sizes)=0
 Send messages. More...
 
virtual void send_data (const std::vector< netio_tag_t > &fids, const uint8_t *data, size_t size, bool flush=true)=0
 Send data to list of fids. More...
 
virtual void send_data (const std::vector< netio_tag_t > &fids, const std::vector< const uint8_t * > &msgs, const std::vector< size_t > &sizes)=0
 Send messages to list of fids. More...
 
void send_data (netio_tag_t fid, std::span< const uint8_t > data, bool flush=true)
 
void send_data (const std::vector< netio_tag_t > &fids, std::span< const uint8_t > data, bool flush=true)
 
virtual void write (uint16_t cmd)=0
 Write command in buffer. More...
 
virtual void write (const std::span< const uint16_t > cmds)=0
 Write commands in buffer. More...
 
virtual void send (bool flush=true)=0
 Send accumulated buffer to output. More...
 
virtual bool is_tx_empty ()=0
 Check if TX buffer is empty. More...
 
virtual void wait_tx_empty ()=0
 Waits until the buffer is emptyю
 
virtual void write_idle (uint count=1)=0
 Write 'idle' frames. More...
 
virtual void tx_delay_cmd (uint32_t delay_cmd)=0
 Delay in number of commands. More...
 
virtual void tx_delay_ms (double delay_ms)=0
 Delay in milliseconds. More...
 
virtual std::string get_fe_type ()=0
 Properties. More...
 
virtual uint16_t get_idle_word ()=0
 Get idle word. More...
 

Detailed Description

Transmitter Core interface.

Member Function Documentation

◆ get_fe_type()

virtual std::string hwc::TxCore::get_fe_type ( )
pure virtual

Properties.

Get front-end type.

Returns
name of front-end

◆ get_idle_word()

virtual uint16_t hwc::TxCore::get_idle_word ( )
pure virtual

Get idle word.

Returns
idle word

◆ init_send_data()

virtual void hwc::TxCore::init_send_data ( netio_tag_t  fid)
pure virtual

Initialize send_data for fid.

Parameters
fid- FELIX netio tag

◆ is_tx_empty()

virtual bool hwc::TxCore::is_tx_empty ( )
pure virtual

Check if TX buffer is empty.

Returns
true if empty (or not applicable), false otherwise

◆ send()

virtual void hwc::TxCore::send ( bool  flush = true)
pure virtual

Send accumulated buffer to output.

Parameters
flush- request to flush buffer

◆ send_data() [1/4]

virtual void hwc::TxCore::send_data ( const std::vector< netio_tag_t > &  fids,
const std::vector< const uint8_t * > &  msgs,
const std::vector< size_t > &  sizes 
)
pure virtual

Send messages to list of fids.

Parameters
fids- list of FELIX netio tags
msgs- vector of messages (uint8_t* pointer)
size- size of messages in bytes

◆ send_data() [2/4]

virtual void hwc::TxCore::send_data ( const std::vector< netio_tag_t > &  fids,
const uint8_t *  data,
size_t  size,
bool  flush = true 
)
pure virtual

Send data to list of fids.

Parameters
fids- list of FELIX netio tags
data- uint8_t* pointer
size- size in bytes
flush- flush output buffer

◆ send_data() [3/4]

virtual void hwc::TxCore::send_data ( netio_tag_t  fid,
const std::vector< const uint8_t * > &  msgs,
const std::vector< size_t > &  sizes 
)
pure virtual

Send messages.

Parameters
fid- FELIX netio tag
msgs- vector of messages (uint8_t* pointer)
size- size of messages in bytes

◆ send_data() [4/4]

virtual void hwc::TxCore::send_data ( netio_tag_t  fid,
const uint8_t *  data,
size_t  size,
bool  flush = true 
)
pure virtual

Send data to one fid.

Parameters
fid- FELIX netio tag
data- uint8_t* pointer
size- size in bytes
flush- flush output buffer

◆ tx_delay_cmd()

virtual void hwc::TxCore::tx_delay_cmd ( uint32_t  delay_cmd)
pure virtual

Delay in number of commands.

Parameters
delay_cmd- delay in number of commands

◆ tx_delay_ms()

virtual void hwc::TxCore::tx_delay_ms ( double  delay_ms)
pure virtual

Delay in milliseconds.

Parameters
delay_ms- delay in milliseconds

◆ write() [1/2]

virtual void hwc::TxCore::write ( const std::span< const uint16_t >  cmds)
pure virtual

Write commands in buffer.

Parameters
cmds- 16 bit commands to write

◆ write() [2/2]

virtual void hwc::TxCore::write ( uint16_t  cmd)
pure virtual

Write command in buffer.

Parameters
cmd- 16 bit command to write

◆ write_idle()

virtual void hwc::TxCore::write_idle ( uint  count = 1)
pure virtual

Write 'idle' frames.

Parameters
count- number of idle frames

The documentation for this class was generated from the following file: