36#ifndef BERTOutputChannel_h
37#define BERTOutputChannel_h
50 const std::string& hwname,
52 const std::string& color =
"#808080",
57 virtual void Refresh(vk::raii::CommandBuffer& cmdBuf, std::shared_ptr<QueueHandle> queue)
override;
195 virtual PhysicalConnector GetPhysicalConnector()
override;
Definition AcceleratorBuffer.h:204
A pattern generator channel of a BERT.
Definition BERTOutputChannel.h:46
virtual bool ValidateChannel(size_t i, StreamDescriptor stream) override
Check if a stream is allowed to be connected to the given input.
Definition BERTOutputChannel.cpp:83
void SetInvert(bool invert)
Set the polarity inversion state of this channel.
Definition BERTOutputChannel.h:89
void SetPostCursor(float f)
Sets the TX FFE post-cursor coefficient.
Definition BERTOutputChannel.h:173
void SetDataRate(int64_t rate)
Sets the data rate of this channel, in symbols per second.
Definition BERTOutputChannel.h:192
void SetPattern(BERT::Pattern pattern)
Set the pattern this channel is generating.
Definition BERTOutputChannel.h:69
bool GetEnable()
Gets the enable status of this channel.
Definition BERTOutputChannel.h:117
void Enable(bool b)
Set the enable state of this channel.
Definition BERTOutputChannel.h:125
float GetPreCursor()
Gets the TX FFE pre-cursor coefficient.
Definition BERTOutputChannel.h:136
int64_t GetDataRate()
Gets the data rate of this channel, in symbols per second.
Definition BERTOutputChannel.h:179
std::vector< float > GetAvailableDriveStrengths()
Get the set of amplitudes this channel is capable of outputting.
Definition BERTOutputChannel.h:97
void SetPreCursor(float f)
Sets the TX FFE pre-cursor coefficient.
Definition BERTOutputChannel.h:149
float GetDriveStrength()
Get the current nominal amplitude of this channel.
Definition BERTOutputChannel.h:105
BERT * GetBERT() const
Get the BERT this channel is part of.
Definition BERTOutputChannel.h:61
void SetDriveStrength(float drive)
Set the current nominal amplitude of this channel.
Definition BERTOutputChannel.h:113
bool GetInvert()
Get the polarity inversion state of this channel.
Definition BERTOutputChannel.h:81
std::vector< BERT::Pattern > GetAvailablePatterns()
Get the set of patterns this channel is capable of generating.
Definition BERTOutputChannel.h:77
float GetPostCursor()
Gets the TX FFE post-cursor coefficient.
Definition BERTOutputChannel.h:160
BERT::Pattern GetPattern()
Get the pattern this channel is currently generating.
Definition BERTOutputChannel.h:73
Base class for bit error rate tester drivers.
Definition BERT.h:45
virtual float GetTxPostCursor(size_t i)=0
Get the post-cursor equalizer tap for a channel.
virtual void SetTxInvert(size_t i, bool invert)=0
Sets the transmit invert flag for a channel.
virtual void SetTxPreCursor(size_t i, float precursor)=0
Set the pre-cursor equalizer tap for a channel.
virtual Pattern GetTxPattern(size_t i)=0
Gets the currently selected transmit pattern for a channel.
virtual float GetTxDriveStrength(size_t i)=0
Get the drive strength for a channel.
virtual void SetTxPostCursor(size_t i, float postcursor)=0
Set the post-cursor equalizer tap for a channel.
virtual bool GetTxEnable(size_t i)=0
Gets the transmit enable flag for a channel.
virtual int64_t GetDataRate(size_t i)=0
Gets the currently selected line rate (in symbols/sec)
virtual void SetTxDriveStrength(size_t i, float drive)=0
Set the drive strength for a channel.
virtual void SetTxPattern(size_t i, Pattern pattern)=0
Sets the transmit pattern for the selected channel.
Pattern
Set of patterns we can generate or accept.
Definition BERT.h:54
virtual bool GetTxInvert(size_t i)=0
Gets the transmit invert flag for a channel.
virtual void SetTxEnable(size_t i, bool enable)=0
Sets the transmit enable flag for a channel.
virtual float GetTxPreCursor(size_t i)=0
Get the pre-cursor equalizer tap for a channel.
virtual std::vector< Pattern > GetAvailableTxPatterns(size_t i)=0
Gets the list of available transmit patterns for a channel.
virtual std::vector< float > GetAvailableTxDriveStrengths(size_t i)=0
Gets the list of available drive strengths (in volts) for a channel.
virtual void SetDataRate(size_t i, int64_t rate)=0
Sets the data rate (in symbols/sec)
A single channel of an instrument.
Definition InstrumentChannel.h:63
Instrument * m_instrument
The instrument we're part of (may be null in the case of filters etc)
Definition InstrumentChannel.h:313
size_t GetIndex() const
Gets the (zero based) index of the channel.
Definition InstrumentChannel.h:94
Descriptor for a single stream coming off a channel.
Definition StreamDescriptor.h:47