pflib v2.7.0-1-gd371ab6a
Polarfire Interaction Library
pflib::Backend Class Referenceabstract

Abstract interface for various backend manipulations. More...

#include <Backend.h>

Inheritance diagram for pflib::Backend:
[legend]

Public Member Functions

virtual void fc_sendL1A ()=0
 send a single L1A More...
 
virtual void fc_linkreset ()=0
 send a link reset More...
 
virtual void fc_bufferclear ()=0
 send a single L1A More...
 
virtual void fc_calibpulse ()=0
 send a single calib pulse More...
 
virtual void fc_clear_run ()
 reset counters for a new run More...
 
virtual void fc_setup_calib (int pulse_len, int l1a_offset)=0
 calib pulse setup More...
 
virtual void fc_get_setup_calib (int &pulse_len, int &l1a_offset)=0
 calib pulse setup More...
 
virtual void fc_read_counters (int &spill_count, int &header_occ, int &header_occ_max, int &event_count, int &vetoed_counter)
 read counters from the FC side More...
 
virtual void fc_advance_l1_fifo ()
 advance the FC fifo More...
 
virtual void fc_enables_read (bool &ext_l1a, bool &ext_spill, bool &timer_l1a)
 check the enables for various trigger/spill sources More...
 
virtual void fc_enables (bool ext_l1a, bool ext_spill, bool timer_l1a)
 set the enables for various trigger/spill sources More...
 
virtual void fc_veto_setup_read (bool &veto_daq_busy, bool &veto_l1_occ, int &l1_occ_busy, int &l1_occ_ok)
 check the setup for various busy/veto More...
 
virtual void fc_veto_setup (bool veto_daq_busy, bool veto_l1_occ, int l1_occ_busy, int l1_occ_ok)
 set the enables for various trigger/spill sources More...
 
virtual int fc_timer_setup_read ()
 get the period in us for the timer trigger More...
 
virtual void fc_timer_setup (int usdelay)
 set the period in us for the timer trigger More...
 
virtual void daq_reset ()=0
 reset the daq buffers More...
 
virtual void daq_advance_ptr ()=0
 advance the daq pointer along buffer More...
 
virtual void daq_status (bool &full, bool &empty, int &nevents, int &next_event_size)=0
 readout the daq status into the passed variables More...
 
virtual std::vector< uint32_t > daq_read_event ()=0
 read the aquired event and return it More...
 
virtual void daq_setup_event_tag (int run, int day, int month, int hour, int min)
 Set the event tagging information. More...
 

Detailed Description

Abstract interface for various backend manipulations.

All backend communication methods need to implement these functions.

Member Function Documentation

◆ daq_advance_ptr()

virtual void pflib::Backend::daq_advance_ptr ( )
pure virtual

advance the daq pointer along buffer

Implemented in pflib::rogue::RogueWishboneInterface, and pflib::uhal::uhalWishboneInterface.

◆ daq_read_event()

virtual std::vector< uint32_t > pflib::Backend::daq_read_event ( )
pure virtual

read the aquired event and return it

Implemented in pflib::rogue::RogueWishboneInterface, and pflib::uhal::uhalWishboneInterface.

◆ daq_reset()

virtual void pflib::Backend::daq_reset ( )
pure virtual

◆ daq_setup_event_tag()

void pflib::Backend::daq_setup_event_tag ( int  run,
int  day,
int  month,
int  hour,
int  min 
)
virtual

Set the event tagging information.

Reimplemented in pflib::rogue::RogueWishboneInterface.

◆ daq_status()

virtual void pflib::Backend::daq_status ( bool &  full,
bool &  empty,
int &  nevents,
int &  next_event_size 
)
pure virtual

readout the daq status into the passed variables

Implemented in pflib::rogue::RogueWishboneInterface, and pflib::uhal::uhalWishboneInterface.

◆ fc_advance_l1_fifo()

virtual void pflib::Backend::fc_advance_l1_fifo ( )
inlinevirtual

◆ fc_bufferclear()

virtual void pflib::Backend::fc_bufferclear ( )
pure virtual

◆ fc_calibpulse()

virtual void pflib::Backend::fc_calibpulse ( )
pure virtual

send a single calib pulse

Implemented in pflib::rogue::RogueWishboneInterface, and pflib::uhal::uhalWishboneInterface.

◆ fc_clear_run()

virtual void pflib::Backend::fc_clear_run ( )
inlinevirtual

reset counters for a new run

Reimplemented in pflib::rogue::RogueWishboneInterface, and pflib::uhal::uhalWishboneInterface.

◆ fc_enables()

virtual void pflib::Backend::fc_enables ( bool  ext_l1a,
bool  ext_spill,
bool  timer_l1a 
)
inlinevirtual

set the enables for various trigger/spill sources

Reimplemented in pflib::rogue::RogueWishboneInterface, and pflib::uhal::uhalWishboneInterface.

◆ fc_enables_read()

virtual void pflib::Backend::fc_enables_read ( bool &  ext_l1a,
bool &  ext_spill,
bool &  timer_l1a 
)
inlinevirtual

check the enables for various trigger/spill sources

Reimplemented in pflib::rogue::RogueWishboneInterface, and pflib::uhal::uhalWishboneInterface.

◆ fc_get_setup_calib()

virtual void pflib::Backend::fc_get_setup_calib ( int &  pulse_len,
int &  l1a_offset 
)
pure virtual

◆ fc_linkreset()

virtual void pflib::Backend::fc_linkreset ( )
pure virtual

◆ fc_read_counters()

virtual void pflib::Backend::fc_read_counters ( int &  spill_count,
int &  header_occ,
int &  header_occ_max,
int &  event_count,
int &  vetoed_counter 
)
inlinevirtual

read counters from the FC side

Reimplemented in pflib::rogue::RogueWishboneInterface, and pflib::uhal::uhalWishboneInterface.

◆ fc_sendL1A()

virtual void pflib::Backend::fc_sendL1A ( )
pure virtual

◆ fc_setup_calib()

virtual void pflib::Backend::fc_setup_calib ( int  pulse_len,
int  l1a_offset 
)
pure virtual

◆ fc_timer_setup()

virtual void pflib::Backend::fc_timer_setup ( int  usdelay)
inlinevirtual

set the period in us for the timer trigger

Reimplemented in pflib::rogue::RogueWishboneInterface.

◆ fc_timer_setup_read()

virtual int pflib::Backend::fc_timer_setup_read ( )
inlinevirtual

get the period in us for the timer trigger

Reimplemented in pflib::rogue::RogueWishboneInterface.

◆ fc_veto_setup()

virtual void pflib::Backend::fc_veto_setup ( bool  veto_daq_busy,
bool  veto_l1_occ,
int  l1_occ_busy,
int  l1_occ_ok 
)
inlinevirtual

set the enables for various trigger/spill sources

Reimplemented in pflib::rogue::RogueWishboneInterface, and pflib::uhal::uhalWishboneInterface.

◆ fc_veto_setup_read()

virtual void pflib::Backend::fc_veto_setup_read ( bool &  veto_daq_busy,
bool &  veto_l1_occ,
int &  l1_occ_busy,
int &  l1_occ_ok 
)
inlinevirtual

check the setup for various busy/veto

Reimplemented in pflib::rogue::RogueWishboneInterface, and pflib::uhal::uhalWishboneInterface.


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