devices module¶
_PcieCard¶
- class pysmurf.core.devices._PcieCard.PcieCard(comm_type, lane, ip_addr, dev_rssi, dev_data)[source]¶
Class to setup the PCIe card devices.
This class takes care of setting up both PCIe card devices according to the communication type used.
If the PCIe card is present in the system:
All the RSSI connection lanes which point to the target IP address will be closed.
If PCIe communication type is used: * Verify that the DeviceId are correct for the RSSI (ID = 0) and the DATA (ID = 1) devices. * The RSSI connection is open in the specific lane. Also, when the the server is closed, the RSSI connection is closed.
If the PCIe card is not present:
If PCIe communication type is used, the program is terminated.
If ETH communication type is used, then this class does not do anything.
This class must be used in a ‘with’ block in order to ensure that the RSSI connection is close correctly during exit even in the case of an exception condition.
- class pysmurf.core.devices._PcieCard.PcieDev(dev, name, description)[source]¶
Class to setup each PCIe device
This class contains wrapper to facilitate the process of setting up each PCIe device independently by the PcieCard class.
This class must be used in a ‘with’ block in order to ensure that the RSSI connection is close correctly during exit even in the case of an exception condition.
_SmurfApplication¶
_SmurfProcessor¶
- class pysmurf.core.devices._SmurfProcessor.Downsampler(*args: Any, **kwargs: Any)[source]¶
SMuRF Data Downsampler Python Wrapper.
- class pysmurf.core.devices._SmurfProcessor.GeneralAnalogFilter(*args: Any, **kwargs: Any)[source]¶
SMuRF Data GeneralAnalogFilter Python Wrapper.
- class pysmurf.core.devices._SmurfProcessor.SmurfChannelMapper(*args: Any, **kwargs: Any)[source]¶
SMuRF Channel Mapper Python Wrapper.
- class pysmurf.core.devices._SmurfProcessor.SmurfProcessor(*args: Any, **kwargs: Any)[source]¶
SMuRF Processor device.
This is a slave device that accepts a raw SMuRF Streaming data stream from the FW application, and process it by doing channel mapping, data unwrapping, filtering and downsampling in a monolithic C++ module.
- Parameters
name (str) – Name of the device.
description (str) – Description of the device.
root (pyrogue.Root or None, optional, default None) – The pyrogue root. The configuration status of this root will go to the data file as metadata.
txDevice (pyrogue.Device or None, optional, default None) – A packet transmitter device.