Psyllid  v1.12.4
Project 8 Data Acquisisition Software
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
tf_roach_receiver Class Reference

A transformer to receive raw blocks of memory, parse them, and distribute them as time and frequency ROACH packets. More...

#include <tf_roach_receiver.hh>

Inheritance diagram for tf_roach_receiver:
Inheritance graph

Classes

struct  exe_func_context
 

Public Member Functions

 tf_roach_receiver ()
 
virtual ~tf_roach_receiver ()
 
 mv_accessible (uint64_t, time_length)
 
 mv_accessible (uint64_t, freq_length)
 
 mv_accessible (uint64_t, udp_buffer_size)
 
 mv_accessible (unsigned, time_sync_tol)
 
 mv_accessible (bool, start_paused)
 
 mv_accessible (bool, force_time_first)
 
 mv_accessible (unsigned, skip_after_stop)
 
void switch_to_freq_only ()
 
void switch_to_time_and_freq ()
 
virtual void initialize ()
 
virtual void execute (midge::diptera *a_midge=nullptr)
 
virtual void finalize ()
 

Private Member Functions

bool exe_time_and_freq (exe_func_context &a_ctx)
 
bool exe_freq_only (exe_func_context &a_ctx)
 

Private Attributes

bool(tf_roach_receiver::* f_exe_func )(exe_func_context &a_ctx)
 
std::mutex f_exe_func_mutex
 
std::atomic< bool > f_break_exe_func
 
bool f_paused
 
uint64_t f_time_session_pkt_counter
 
uint64_t f_freq_session_pkt_counter
 

Detailed Description

A transformer to receive raw blocks of memory, parse them, and distribute them as time and frequency ROACH packets.

Author
N. S. Oblath

Parameter setting is not thread-safe. Executing is thread-safe.

Node type: "tf-roach-receiver"

Available configuration values:

Available DAQ commands:

Input Stream:

Output Streams:

Definition at line 60 of file tf_roach_receiver.hh.

Constructor & Destructor Documentation

◆ tf_roach_receiver()

Definition at line 28 of file tf_roach_receiver.cc.

◆ ~tf_roach_receiver()

~tf_roach_receiver ( )
virtual

Definition at line 45 of file tf_roach_receiver.cc.

Member Function Documentation

◆ exe_freq_only()

bool exe_freq_only ( exe_func_context a_ctx)
private

Definition at line 338 of file tf_roach_receiver.cc.

◆ exe_time_and_freq()

bool exe_time_and_freq ( exe_func_context a_ctx)
private

Definition at line 161 of file tf_roach_receiver.cc.

◆ execute()

void execute ( midge::diptera *  a_midge = nullptr)
virtual

Definition at line 82 of file tf_roach_receiver.cc.

◆ finalize()

void finalize ( )
virtual

Definition at line 476 of file tf_roach_receiver.cc.

◆ initialize()

void initialize ( )
virtual

Definition at line 75 of file tf_roach_receiver.cc.

◆ mv_accessible() [1/7]

mv_accessible ( uint64_t  ,
time_length   
)

◆ mv_accessible() [2/7]

mv_accessible ( uint64_t  ,
freq_length   
)

◆ mv_accessible() [3/7]

mv_accessible ( uint64_t  ,
udp_buffer_size   
)

◆ mv_accessible() [4/7]

mv_accessible ( unsigned  ,
time_sync_tol   
)

◆ mv_accessible() [5/7]

mv_accessible ( bool  ,
start_paused   
)

◆ mv_accessible() [6/7]

mv_accessible ( bool  ,
force_time_first   
)

◆ mv_accessible() [7/7]

mv_accessible ( unsigned  ,
skip_after_stop   
)

◆ switch_to_freq_only()

void switch_to_freq_only ( )

Definition at line 49 of file tf_roach_receiver.cc.

◆ switch_to_time_and_freq()

void switch_to_time_and_freq ( )

Definition at line 62 of file tf_roach_receiver.cc.

Member Data Documentation

◆ f_break_exe_func

std::atomic< bool > f_break_exe_func
private

Definition at line 100 of file tf_roach_receiver.hh.

◆ f_exe_func

bool(tf_roach_receiver::* f_exe_func) (exe_func_context &a_ctx)
private

Definition at line 98 of file tf_roach_receiver.hh.

◆ f_exe_func_mutex

std::mutex f_exe_func_mutex
private

Definition at line 99 of file tf_roach_receiver.hh.

◆ f_freq_session_pkt_counter

uint64_t f_freq_session_pkt_counter
private

Definition at line 105 of file tf_roach_receiver.hh.

◆ f_paused

bool f_paused
private

Definition at line 102 of file tf_roach_receiver.hh.

◆ f_time_session_pkt_counter

uint64_t f_time_session_pkt_counter
private

Definition at line 104 of file tf_roach_receiver.hh.


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