|
ngscopeclient v0.1
|
#include <SCPIBERT.h>


Public Types | |
| typedef std::shared_ptr< SCPIBERT >(* | BERTCreateProcType) (SCPITransport *) |
Public Types inherited from BERT | |
| enum | Pattern { PATTERN_PRBS7 , PATTERN_PRBS9 , PATTERN_PRBS11 , PATTERN_PRBS15 , PATTERN_PRBS23 , PATTERN_PRBS31 , PATTERN_CUSTOM , PATTERN_CLOCK_DIV2 , PATTERN_CLOCK_DIV32 , PATTERN_AUTO } |
| Set of patterns we can generate or accept. More... | |
Public Types inherited from Instrument | |
| enum | InstrumentTypes { INST_OSCILLOSCOPE = 0x01 , INST_DMM = 0x02 , INST_PSU = 0x04 , INST_FUNCTION = 0x08 , INST_RF_GEN = 0x10 , INST_LOAD = 0x20 , INST_BERT = 0x40 , INST_MISC = 0x80 , INST_SWITCH_MATRIX = 0x100 } |
Public Member Functions | |
| virtual void | PostCtorInit ()=0 |
| Does any initialization that can't happen during the constructor. More... | |
Public Member Functions inherited from BERT | |
| virtual unsigned int | GetInstrumentTypes () const override |
| Returns a bitfield describing the set of instrument types that this instrument supports. More... | |
| virtual Pattern | GetTxPattern (size_t i)=0 |
| Gets the currently selected transmit pattern for a channel. More... | |
| virtual void | SetTxPattern (size_t i, Pattern pattern)=0 |
| Sets the transmit pattern for the selected channel. More... | |
| virtual std::vector< Pattern > | GetAvailableTxPatterns (size_t i)=0 |
| Gets the list of available transmit patterns for a channel. More... | |
| virtual bool | IsCustomPatternPerChannel ()=0 |
| Determines whether custom patterns are settable per channel, or shared by the whole device. More... | |
| virtual size_t | GetCustomPatternLength ()=0 |
| Returns the number of bits in a custom pattern (may change with line rate) More... | |
| virtual void | SetGlobalCustomPattern (uint64_t pattern)=0 |
| Sets the global custom pattern (only valid if IsCustomPatternPerChannel returns false) More... | |
| virtual uint64_t | GetGlobalCustomPattern ()=0 |
| Gets the global custom pattern (only valid if IsCustomPatternPerChannel returns false) More... | |
| virtual bool | GetTxInvert (size_t i)=0 |
| Gets the transmit invert flag for a channel. More... | |
| virtual void | SetTxInvert (size_t i, bool invert)=0 |
| Sets the transmit invert flag for a channel. More... | |
| virtual std::vector< float > | GetAvailableTxDriveStrengths (size_t i)=0 |
| Gets the list of available drive strengths (in volts) for a channel. More... | |
| virtual float | GetTxDriveStrength (size_t i)=0 |
| Get the drive strength for a channel. More... | |
| virtual void | SetTxDriveStrength (size_t i, float drive)=0 |
| Set the drive strength for a channel. More... | |
| virtual void | SetTxEnable (size_t i, bool enable)=0 |
| Sets the transmit enable flag for a channel. More... | |
| virtual bool | GetTxEnable (size_t i)=0 |
| Gets the transmit enable flag for a channel. More... | |
| virtual float | GetTxPreCursor (size_t i)=0 |
| Get the pre-cursor equalizer tap for a channel. More... | |
| virtual void | SetTxPreCursor (size_t i, float precursor)=0 |
| Set the pre-cursor equalizer tap for a channel. More... | |
| virtual float | GetTxPostCursor (size_t i)=0 |
| Get the post-cursor equalizer tap for a channel. More... | |
| virtual void | SetTxPostCursor (size_t i, float postcursor)=0 |
| Set the post-cursor equalizer tap for a channel. More... | |
| virtual bool | GetRxInvert (size_t i)=0 |
| Gets the transmit invert flag for a channel. More... | |
| virtual void | SetRxInvert (size_t i, bool invert)=0 |
| Sets the receive invert flag for a channel. More... | |
| virtual bool | GetRxCdrLockState (size_t i)=0 |
| Gets the RX CDR lock state (true=lock, false=unlock) More... | |
| virtual bool | HasRxCTLE ()=0 |
| Determines whether the input buffer has a continuous-time linear equalizer. More... | |
| virtual std::vector< float > | GetRxCTLEGainSteps ()=0 |
| Get the list of available RX CTLE gain values (in dB) More... | |
| virtual size_t | GetRxCTLEGainStep (size_t i)=0 |
| Gets the currently selected RX CTLE gain index. More... | |
| virtual void | SetRxCTLEGainStep (size_t i, size_t step)=0 |
| Sets the RX CTLE gain index. More... | |
| virtual Pattern | GetRxPattern (size_t i)=0 |
| Gets the currently selected receive pattern for a channel. More... | |
| virtual void | SetRxPattern (size_t i, Pattern pattern)=0 |
| Sets the receive pattern for the selected channel. More... | |
| virtual std::vector< Pattern > | GetAvailableRxPatterns (size_t i)=0 |
| Gets the list of available receive patterns for a channel. More... | |
| virtual int64_t | GetExpectedBathtubCaptureTime (size_t i) |
| Returns the expected time, in femtoseconds, to complete a bathtub scan with the current settings. More... | |
| virtual int64_t | GetExpectedEyeCaptureTime (size_t i) |
| Returns the expected time, in femtoseconds, to complete an eye scan with the current settings. More... | |
| virtual void | MeasureHBathtub (size_t i)=0 |
| Acquires a bathtub curve. More... | |
| virtual void | MeasureEye (size_t i)=0 |
| Acquires an eye pattern. More... | |
| virtual void | SetBERIntegrationLength (int64_t uis)=0 |
| Set the integration period for BER measurements. More... | |
| virtual int64_t | GetBERIntegrationLength ()=0 |
| Get the integration period for BER measurements. More... | |
| virtual void | SetBERSamplingPoint (size_t i, int64_t dx, float dy)=0 |
| Set the sampling point for BER measurements. More... | |
| virtual void | GetBERSamplingPoint (size_t i, int64_t &dx, float &dy)=0 |
| Get the sampling point for BER measurements. More... | |
| virtual bool | IsHBathtubScanInProgress (size_t i) |
| Returns true if a horizontal bathtub scan is in progress. More... | |
| virtual bool | IsEyeScanInProgress (size_t i) |
| Returns true if an eye scan is in progress. More... | |
| virtual float | GetScanProgress (size_t i) |
| Gets the estimated completion status (0-1) of the current scan. More... | |
| virtual bool | HasConfigurableScanDepth () |
| Determines whether this instrument has configurable integration depth for eye / bathtub scans. More... | |
| virtual std::vector< int64_t > | GetScanDepths (size_t i) |
| Returns the list of integration depths for eye / bathtub scans. More... | |
| virtual int64_t | GetScanDepth (size_t i) |
| Get the configured scan depth for a channel, in UIs per sample/pixel. More... | |
| virtual void | SetScanDepth (size_t i, int64_t depth) |
| Set the configured scan depth for a channel. More... | |
| virtual bool | HasRefclkIn ()=0 |
| Returns true if this instrument has a reference clock input port. More... | |
| virtual bool | HasRefclkOut ()=0 |
| Returns true if this instrument has a reference clock output port. More... | |
| virtual size_t | GetRefclkOutMux ()=0 |
| Gets the currently selected reference clock output mux setting. More... | |
| virtual void | SetRefclkOutMux (size_t i)=0 |
| Sets the reference clock output mux. More... | |
| virtual std::vector< std::string > | GetRefclkOutMuxNames ()=0 |
| Gets the list of available reference clock mux settings. More... | |
| virtual int64_t | GetRefclkOutFrequency ()=0 |
| Gets the currently selected refclk out frequency, in Hz. More... | |
| virtual int64_t | GetRefclkInFrequency ()=0 |
| Gets the refclk in frequency, in Hz, required to generate the currently selected data rate. More... | |
| virtual bool | IsDataRatePerChannel ()=0 |
| Determines whether the TX/RX clock is a per-instrument or per-channel setting. More... | |
| virtual int64_t | GetDataRate (size_t i)=0 |
| Gets the currently selected line rate (in symbols/sec) More... | |
| virtual void | SetDataRate (size_t i, int64_t rate)=0 |
| Sets the data rate (in symbols/sec) More... | |
| virtual std::vector< int64_t > | GetAvailableDataRates ()=0 |
| Gets the list of available data rates, in symbols/sec. More... | |
| virtual void | SetUseExternalRefclk (bool external)=0 |
| Sets the reference clock source (internal or external) More... | |
| virtual bool | GetUseExternalRefclk ()=0 |
| Sets the reference clock source. More... | |
Public Member Functions inherited from Instrument | |
| virtual unsigned int | GetInstrumentTypes () const =0 |
| Returns a bitfield describing the set of instrument types that this instrument supports. More... | |
| virtual std::string | GetName () const =0 |
| virtual std::string | GetVendor () const =0 |
| virtual std::string | GetSerial () const =0 |
| virtual std::string | GetTransportConnectionString ()=0 |
| Gets the connection string for our transport. More... | |
| virtual std::string | GetTransportName ()=0 |
| Gets the name of our transport. More... | |
| virtual uint32_t | GetInstrumentTypesForChannel (size_t i) const =0 |
| Returns a bitfield describing the set of instrument types that a given channel supports. More... | |
| size_t | GetChannelCount () const |
| Gets the number of channels (of any type) this instrument has. | |
| InstrumentChannel * | GetChannel (size_t i) const |
| Gets a given channel on the instrument. More... | |
| virtual std::string | GetChannelDisplayName (size_t i) |
| Gets the hardware display name for a channel. This is an arbitrary user-selected string. More... | |
| virtual void | SetChannelDisplayName (size_t i, std::string name) |
| Sets the hardware display name for a channel. This is an arbitrary user-selected string. More... | |
| InstrumentChannel * | GetChannelByDisplayName (const std::string &name) |
| Gets a channel given the display name. | |
| InstrumentChannel * | GetChannelByHwName (const std::string &name) |
| Gets a channel given the hardware name. | |
| virtual bool | AcquireData ()=0 |
| Pull data from the instrument. More... | |
| virtual void | FlushConfigCache () |
| Instruments are allowed to cache configuration settings to reduce round trip queries to the device. More... | |
| virtual YAML::Node | SerializeConfiguration (IDTable &table) const |
| Serializes this instrument's configuration to a YAML node. More... | |
| virtual void | LoadConfiguration (int version, const YAML::Node &node, IDTable &idmap) |
| Load instrument and channel configuration from a save file. More... | |
| virtual void | PreLoadConfiguration (int version, const YAML::Node &node, IDTable &idmap, ConfigWarningList &warnings) |
| Parse a limited subset of instrument configuration but do not apply it. More... | |
Public Member Functions inherited from SCPIInstrument | |
| SCPIInstrument (SCPITransport *transport, bool identify=true) | |
| virtual std::string | GetTransportConnectionString () |
| Gets the connection string for our transport. More... | |
| virtual std::string | GetTransportName () |
| Gets the name of our transport. More... | |
| virtual std::string | GetName () const |
| virtual std::string | GetVendor () const |
| virtual std::string | GetSerial () const |
| virtual std::string | GetDriverName () const =0 |
Public Member Functions inherited from SCPIDevice | |
| SCPIDevice (SCPITransport *transport, bool identify=true) | |
| SCPITransport * | GetTransport () const |
Static Public Member Functions | |
| static void | DoAddDriverClass (std::string name, BERTCreateProcType proc) |
| static void | EnumDrivers (std::vector< std::string > &names) |
| static std::shared_ptr< SCPIBERT > | CreateBERT (std::string driver, SCPITransport *transport) |
Static Public Member Functions inherited from BERT | |
| static std::string | GetPatternName (Pattern pat) |
| Converts a Pattern enum into a strnig. More... | |
| static Pattern | GetPatternOfName (std::string name) |
| Converts a string name into a Pattern enum. More... | |
Protected Types | |
| typedef std::map< std::string, BERTCreateProcType > | BERTCreateMapType |
Static Protected Attributes | |
| static BERTCreateMapType | m_bertcreateprocs |
Additional Inherited Members | |
Public Attributes inherited from Instrument | |
| std::string | m_nickname |
| Optional user-selected nickname of the instrument. More... | |
Protected Member Functions inherited from BERT | |
| void | DoSerializeConfiguration (YAML::Node &node, IDTable &table) |
| Serializes this BERT's configuration to a YAML node. More... | |
| void | DoLoadConfiguration (int version, const YAML::Node &node, IDTable &idmap) |
| Load instrument and channel configuration from a save file. More... | |
| void | DoPreLoadConfiguration (int version, const YAML::Node &node, IDTable &idmap, ConfigWarningList &list) |
| Validate instrument and channel configuration from a save file. More... | |
Protected Member Functions inherited from SCPIInstrument | |
| void | DoSerializeConfiguration (YAML::Node &node, IDTable &table) |
Protected Attributes inherited from Instrument | |
| std::list< sigc::slot< void(YAML::Node &, IDTable &)> > | m_serializers |
| List of methods which need to be called to serialize this node's configuration. | |
| std::list< sigc::slot< void(int, const YAML::Node &, IDTable &)> > | m_loaders |
| List of methods which need to be called to deserialize this node's configuration. | |
| std::list< sigc::slot< void(int, const YAML::Node &, IDTable &, ConfigWarningList &)> > | m_preloaders |
| List of methods which need to be called to pre-load this node's configuration. | |
| std::vector< InstrumentChannel * > | m_channels |
| Set of all channels on this instrument. | |
Protected Attributes inherited from SCPIDevice | |
| SCPITransport * | m_transport |
| std::string | m_vendor |
| std::string | m_model |
| std::string | m_serial |
| std::string | m_fwVersion |
An SCPI-based BERT.
|
pure virtual |
Does any initialization that can't happen during the constructor.
Implemented in AntikernelLabsTriggerCrossbar, and MultiLaneBERT.