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;
A pattern generator channel of a BERT.
Definition: BERTOutputChannel.h:46
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
BERTOutputChannel(const std::string &hwname, BERT *bert, const std::string &color="#808080", size_t index=0)
Initialize the channel.
Definition: BERTOutputChannel.cpp:52
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)
virtual void Refresh()
Evaluates a filter graph node.
Definition: FlowGraphNode.cpp:87
A single channel of an instrument.
Definition: InstrumentChannel.h:63
size_t GetIndex()
Gets the (zero based) index of the channel.
Definition: InstrumentChannel.h:94
Instrument * m_instrument
The instrument we're part of (may be null in the case of filters etc)
Definition: InstrumentChannel.h:274
Descriptor for a single stream coming off a channel.
Definition: StreamDescriptor.h:46