FlxCard
Loading...
Searching...
No Matches
Monitoring

Functions

fpga_monitoring_t FlxCard::fpga_monitoring ()
 
ltc_monitoring_t FlxCard::power_monitoring_ltc2991 ()
 
ina_monitoring_t FlxCard::power_monitoring_ina226 (int *ina_count=0)
 
tmp_monitoring_t FlxCard::temperature_monitoring_tmp435 (int *tmp_count=0)
 
ltm_monitoring_t FlxCard::power_monitoring_ltm4700 ()
 
adm_monitoring_t FlxCard::powersequencer_monitoring_adm1x66 (int *adm_count=0)
 
minipod_monitoring_t FlxCard::minipod_monitoring (u_int selection, int *number_of_pods=0)
 
firefly_monitoring_t FlxCard::firefly_monitoring (int *tx_count=0, int *rx_count=0, int *tr_count=0)
 
monitoring_data_t FlxCard::get_monitoring_data (u_int mon_mask)
 
float FlxCard::fpga_temperature ()
 
int FlxCard::fpga_fanspeed ()
 
std::vector< int > FlxCard::minipods_temperature ()
 
std::vector< int > FlxCard::minipods_optical_power ()
 
bool FlxCard::firefly_detect (const std::string &device_name, std::string &vendor_part, std::string &vendor_sn)
 

Detailed Description

A set of functions for FLX card monitoring

Function Documentation

◆ get_monitoring_data()

monitoring_data_t FlxCard::get_monitoring_data ( u_int mon_mask)

Retrieves monitoring data from various devices on the FLX card (FPGA, MiniPODs, power monitoring ICs, temperature ICs, FireFly devices), like status, temperatures, currents, voltages, power readings. The following bits are defined in 'device_mask':

  • FPGA_MONITOR Retrieve information about the FPGA
  • POD_MONITOR_ALL Retrieve various sets of information from the (upto 8) MiniPODs
  • POD_MONITOR_LOS Retrieve Loss-of-Signal information from the MiniPODs
  • POD_MONITOR_TEMP_VOLTS Retrieve temperature and voltage readings from the MiniPODs
  • POD_MONITOR_POWER Retrieve optical link power readings from the MiniPODs
  • POWER_MONITOR Retrieve information from the LTC2991 or INA226 power monitoring devices
  • FIREFLY_MONITOR Retrieve information from the FireFly devices The method returns a structure of type monitoring_data_t which is filled in accordance with the given 'monitor mask' bits (parts of the structure may remain empty). See the data structures defined in FlxCard.h for the organisation of the data and names of the parameters. See application flx-info.cpp for an example of decoding the structure. Note: It is likely that additional parameters and readout options will be added in the future.

Errors In case of an error, an exception is thrown.

Parameters
mon_maskA mask of bits to select the parts to be monitored.
Returns
The method returns a structure of type monitoring_data_t.

◆ fpga_temperature()

float FlxCard::fpga_temperature ( )
Returns
The temperature of the FPGA (in degrees celcius).

◆ fpga_fanspeed()

int FlxCard::fpga_fanspeed ( )
Returns
The speed of the fan installed on the FPGA (in RPM), -1 returned in case of an invalid reading.

◆ minipods_temperature()

std::vector< int > FlxCard::minipods_temperature ( )
Returns
The temperatures of the MiniPODs (in degrees celcius), -1 returned for missing devices. MiniPOD order: TX1, RX1, TX2, RX2, etc.

◆ minipods_optical_power()

std::vector< int > FlxCard::minipods_optical_power ( )
Returns
The optical power readings of the MiniPODs (in microWatts), 0 returned for unconnected channels and missing devices. MiniPOD order: 12 channels TX1, 12 channels RX1, 12 channels TX2, 12 channels RX2, etc.

◆ firefly_detect()

bool FlxCard::firefly_detect ( const std::string & device_name,
std::string & vendor_part,
std::string & vendor_sn )

Determines if the FireFly identified by a name is accessible via I2C.

Returns
Whether the FireFly device with the given name is accessible, and if true, device part number and serial number are returned as strings in vendor_part and vendor_sn respectively.