FlxCard
Loading...
Searching...
No Matches
FlxCard Class Reference

Public Member Functions

 FlxCard ()
 The constructor of an FlxCard object only initializes a few class variables. It does not interact with the FELIX H/W.
void card_open (int device_nr, u_int lock_mask, bool read_config=false, bool ignore_version=false)
void card_close ()
u_int lock_mask (int device_nr)
u_int get_lock_mask (int device_nr)
u_long openBackDoor (int bar)
u_long bar0Address ()
u_long bar1Address ()
u_long bar2Address ()
int dma_max_tlp_bytes ()
void dma_to_host (u_int dma_id, u_long dst, size_t size, u_int flags)
void dma_from_host (u_int dma_id, u_long src, size_t size, u_int flags)
bool dma_enabled (u_int dma_id)
void dma_wait (u_int dma_id)
void dma_stop (u_int dma_id)
void dma_advance_ptr (u_int dma_id, u_long dst, size_t size, size_t bytes)
void dma_set_ptr (u_int dma_id, u_long dst)
u_long dma_get_ptr (u_int dma_id)
u_long dma_get_read_ptr (u_int dma_id)
void dma_reset ()
u_long dma_get_fw_ptr (u_int dma_id)
u_long dma_get_current_address (u_int dma_id)
bool dma_cmp_even_bits (u_int dma_id)
void i2c_read (const char *device_str, u_char reg_addr, u_char *value, int nbytes=1)
void i2c_write (const char *device_str, u_char reg_addr, u_char data)
void i2c_write (const char *device_str, u_char reg_addr, u_char *data, int nbytes)
void i2c_write_byte (u_char dev_addr, u_char byte)
void i2c_write_byte (u_char dev_addr, u_char reg_addr, u_char byte)
u_char i2c_read_byte (u_char dev_addr, u_char reg_addr)
bool i2c_flush (u_int *count=0)
void i2c_write_bytes (uint8_t dev_addr, uint8_t reg_addr, int nbytes, uint8_t *bytes)
void i2c_read_bytes (uint8_t dev_addr, uint8_t reg_addr, int nbytes, uint8_t *bytes)
u_int gbt_setup (int alignment, int channel_mode)
long int gbt_version_delay (u_long svn_version, char *filename)
u_long rxusrclk_freq (u_int channel)
u_long txusrclk_freq (u_int channel)
void gth_rx_reset (int quad=-1)
void irq_enable (u_int interrupt=ALL_IRQS)
void irq_disable (u_int interrupt=ALL_IRQS)
void irq_wait (u_int interrupt)
void irq_clear (u_int interrupt=ALL_IRQS)
void irq_cancel (u_int interrupt=ALL_IRQS)
void irq_reset_counters (u_int interrupt=ALL_IRQS)
u_long cfg_get_option (const char *key, bool show_options=false)
void cfg_set_option (const char *key, u_long value, bool show_options=false)
u_long cfg_get_reg (const char *key)
void cfg_set_reg (const char *key, u_long value)
void registers_reset ()
u_int card_model ()
u_int card_type ()
u_int firmware_type ()
std::string firmware_type_string ()
std::string firmware_string ()
bool lpgbt_type ()
bool lpgbt_fec12 ()
bool lpgbt_5gbps ()
bool fullmode_type ()
void soft_reset ()
void cr_fromhost_reset ()
u_int number_of_endpoints ()
u_int endpoint ()
u_int number_of_channels ()
std::pair< int, int > ec_elink_indices ()
std::pair< int, int > ic_elink_indices ()
fpga_monitoring_t fpga_monitoring ()
ltc_monitoring_t power_monitoring_ltc2991 ()
ina_monitoring_t power_monitoring_ina226 (int *ina_count=0)
tmp_monitoring_t temperature_monitoring_tmp435 (int *tmp_count=0)
ltm_monitoring_t power_monitoring_ltm4700 ()
adm_monitoring_t powersequencer_monitoring_adm1x66 (int *adm_count=0)
minipod_monitoring_t minipod_monitoring (u_int selection, int *number_of_pods=0)
FireFlyMonitorData firefly_monitoring (int *tx_count=0, int *rx_count=0, int *tr_count=0)
monitoring_data_t get_monitoring_data (u_int mon_mask)
float fpga_temperature ()
int fpga_fanspeed ()
std::vector< int > minipods_temperature ()
std::vector< std::pair< std::string, std::vector< int > > > minipods_optical_power ()
std::vector< std::pair< std::string, std::vector< int > > > firefly_optical_power ()
bool firefly_detect (const std::string &device_name, std::string &vendor_part, std::string &vendor_sn)
void configure (std::string filename, bool do_links=true, bool do_registers=true)
void readConfiguration (std::string filename)
void read_configuration (std::string filename)
void readConfiguration ()
void read_configuration ()
u_int number_of_elinks_tohost (int dma_index=-1)
u_int number_of_elinks_toflx ()
u_int number_of_elinks_fromhost ()
std::vector< flxcard::elink_descr_t > elinks_tohost (int dma_index=-1)
std::vector< flxcard::elink_descr_t > elinks_toflx ()
std::vector< flxcard::elink_descr_t > elinks_fromhost ()
std::vector< flxcard::elink_descr_t > elinks_toflx_broadcast ()
std::vector< flxcard::elink_descr_t > elinks_fromhost_broadcast ()
u_int number_of_dma_tohost ()
bool uses_dma_index_mask ()
void set_hdlc_instant_timeout (bool b)
bool hdlc_instant_timeout ()
unsigned int link_mode ()
bool is_elink_enabled (u_int channel, u_int egroup, u_int epath, bool is_to_flx)
unsigned int tohost_elink_dmaid (u_int channel, u_int egroup, u_int epath)
unsigned int tohost_elink_dmaid (uint16_t elinknr)
bool has_tohost_elink_streams (u_int channel, u_int egroup, u_int epath)
uint8_t detector_id ()
uint16_t connector_id (uint16_t channel)

Static Public Member Functions

static u_int number_of_cards ()
static u_int number_of_devices ()
static device_list_t device_list ()
static int card_to_device_number (int card_number)
static regmap_register_t * cfg_register (const char *name)
static regmap_bitfield_t * cfg_bitfield (const char *name)
static std::string cfg_bitfield_options (const char *name, bool include_all_substr=true)

Public Attributes

volatile flxcard_bar0_regs_tm_bar0
volatile flxcard_bar1_regs_tm_bar1
volatile flxcard_bar2_regs_t * m_bar2
i2c_device_t const * m_i2cDevices

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