A set of functions for FLX card monitoring
◆ get_monitoring_data()
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_mask | A 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.