25#include <libm2k/m2kglobal.hpp>
28#include <libm2k/m2khardwaretrigger.hpp>
53 virtual void reset() = 0;
124 virtual void push(std::vector<unsigned short>
const &data) = 0;
135 virtual void push(
unsigned short *data,
unsigned int nb_samples) = 0;
215 virtual std::vector<unsigned short>
getSamples(
unsigned int nb_samples) = 0;
224 virtual const unsigned short *
getSamplesP(
unsigned int nb_samples) = 0;
382 virtual struct IIO_OBJECTS getIioObjects() = 0;
408 virtual void getSamples(std::vector<unsigned short> &data,
unsigned int nb_samples) = 0;
Controls the hardware trigger for ADALM2000.
Definition m2khardwaretrigger.hpp:42
Controls the digital input and output segment.
Definition m2kdigital.hpp:45
DIO_MODE
Output mode for a digital channel.
Definition digital/enums.hpp:94
DIO_LEVEL
Logic voltage levels.
Definition digital/enums.hpp:56
DIO_CHANNEL
Indexes of the channels.
Definition digital/enums.hpp:69
DIO_DIRECTION
Direction of a digital channel.
Definition digital/enums.hpp:43
virtual bool getCyclic()=0
Retrieve the value of the cyclic mode.
virtual void cancelAcquisition()=0
Cancel all rx-buffer operations.
virtual bool anyChannelEnabled(DIO_DIRECTION dir)=0
Check if there is at least one channel enabled.
virtual unsigned int getNbChannelsOut()=0
Retrieve the number of digital output channels.
virtual DIO_MODE getOutputMode(DIO_CHANNEL chn)=0
Retrieve the output mode for the given digital channel.
virtual void setDirection(DIO_CHANNEL index, DIO_DIRECTION dir)=0
Set the direction of the given digital channel.
virtual double getSampleRateOut()=0
Retrieve the sample rate of all digital output channels.
virtual void setDirection(DIO_CHANNEL index, bool dir)=0
Set the direction of the given digital channel.
virtual void setRateMux()=0
Force the digital interface to use the analogical rate.
virtual void enableChannel(unsigned int index, bool enable)=0
Enable or disable the given digital channel.
virtual void setDirection(unsigned int index, bool dir)=0
Set the direction of the given digital channel.
virtual void push(std::vector< unsigned short > const &data)=0
Send the samples to all digital channels.
virtual DIO_DIRECTION getDirection(DIO_CHANNEL index)=0
Retrieve the direction of the given digital channel.
virtual std::vector< unsigned short > getSamples(unsigned int nb_samples)=0
Retrieve a specific number of samples.
virtual DIO_LEVEL getValueRaw(unsigned int index)=0
Retrieve the raw value of the given digital channel.
virtual void startAcquisition(unsigned int nb_samples)=0
Create the buffer for all channels and start the acquisition.
virtual void setValueRaw(DIO_CHANNEL index, DIO_LEVEL level)=0
Set the raw value of a given digital channel.
virtual const unsigned short * getSamplesP(unsigned int nb_samples)=0
Retrieve a specific number of samples.
virtual void cancelBufferOut()=0
Cancel all tx-buffer operations.
virtual void setCyclic(bool cyclic)=0
Enable or disable the cyclic mode for all digital channels.
virtual void setKernelBuffersCountOut(unsigned int count)=0
Set the kernel buffers for output to a specific value.
virtual void setOutputMode(unsigned int chn, DIO_MODE mode)=0
Set the output mode for the given digital channel.
virtual void setDirection(unsigned short mask)=0
Set the direction for all digital channels.
virtual void stopAcquisition()=0
Destroy the buffer and stop the acquisition.
virtual double setSampleRateIn(double samplerate)=0
Set the sample rate for all digital input channels.
virtual void setValueRaw(unsigned int index, DIO_LEVEL level)=0
Set the raw value of a given digital channel.
virtual libm2k::M2kHardwareTrigger * getTrigger()=0
Get the hardware trigger handler.
virtual void setDirection(unsigned int index, DIO_DIRECTION dir)=0
Set the direction of the given digital channel.
virtual bool isClocksourceExternal()=0
Get the current clocksource.
virtual double getSampleRateIn()=0
Retrieve the sample rate of all digital input channels.
virtual void stopBufferOut()=0
Stop all digital channels from sending the signals.
virtual DIO_MODE getOutputMode(unsigned int chn)=0
Retrieve the output mode for the given digital channel.
virtual void setValueRaw(DIO_CHANNEL index, bool level)=0
Set the raw value of a given digital channel.
virtual void setKernelBuffersCountIn(unsigned int count)=0
Set the kernel buffers for input to a specific value.
virtual void getSamples(std::vector< unsigned short > &data, unsigned int nb_samples)=0
Retrieve a specific number of samples.
virtual double setSampleRateOut(double samplerate)=0
Set the sample rate for all digital output channels.
virtual void setOutputMode(DIO_CHANNEL chn, DIO_MODE mode)=0
Set the output mode for the given digital channel.
virtual void enableAllOut(bool enable)=0
Enable or disable all output channels.
virtual DIO_LEVEL getValueRaw(DIO_CHANNEL index)=0
Retrieve the raw value of the given digital channel.
virtual void resetRateMux()=0
Reset the digital rate to default.
virtual void enableChannel(DIO_CHANNEL index, bool enable)=0
Enable or disable the given digital channel.
virtual unsigned int getNbChannelsIn()=0
Retrieve the number of digital input channels.
virtual void push(unsigned short *data, unsigned int nb_samples)=0
Send the samples to all digital channels.
virtual void setExternalClocksource(bool external)=0
Set the clocksource.