22 #ifndef M2KANALOGOUT_HPP 23 #define M2KANALOGOUT_HPP 25 #include <libm2k/m2kglobal.hpp> 27 #include <libm2k/m2khardwaretrigger.hpp> 64 virtual void reset() = 0;
72 virtual std::vector<int> getOversamplingRatio() = 0;
81 virtual int getOversamplingRatio(
unsigned int chn) = 0;
89 virtual std::vector<int> setOversamplingRatio(std::vector<int> oversampling_ratio) = 0;
98 virtual int setOversamplingRatio(
unsigned int chn,
int oversampling_ratio) = 0;
104 virtual std::vector<double> getSampleRate() = 0;
113 virtual double getSampleRate(
unsigned int chn) = 0;
121 virtual std::vector<double> getAvailableSampleRates(
unsigned int chn) = 0;
130 virtual std::vector<double> setSampleRate(std::vector<double> samplerates) = 0;
140 virtual double setSampleRate(
unsigned int chn,
double samplerate) = 0;
146 virtual void setSyncedDma(
bool en,
int chn = -1) = 0;
151 virtual bool getSyncedDma(
int chn = -1) = 0;
156 virtual void setSyncedStartDma(
bool en,
int chn = -1) = 0;
161 virtual bool getSyncedStartDma(
int chn = -1) = 0;
170 virtual void setCyclic(
bool en) = 0;
181 virtual void setCyclic(
unsigned int chn,
bool en) = 0;
190 virtual bool getCyclic(
unsigned int chn) = 0;
201 virtual double getScalingFactor(
unsigned int chn) = 0;
210 virtual double getFilterCompensation(
double samplerate) = 0;
227 virtual void pushBytes(
unsigned int chnIdx,
double *data,
unsigned int nb_samples) = 0;
244 virtual void pushRawBytes(
unsigned int chnIdx,
short *data,
unsigned int nb_samples) = 0;
260 virtual void pushInterleaved(
double *data,
unsigned int nb_channels,
unsigned int nb_samples) = 0;
276 virtual void pushRawInterleaved(
short *data,
unsigned int nb_channels,
unsigned int nb_samples) = 0;
292 virtual void push(
unsigned int chnIdx, std::vector<double>
const &data) = 0;
308 virtual void pushRaw(
unsigned int chnIdx, std::vector<short>
const &data) = 0;
323 virtual void push(std::vector<std::vector<double>>
const &data) = 0;
338 virtual void pushRaw(std::vector<std::vector<short>>
const &data) = 0;
347 virtual void stop() = 0;
358 virtual void stop(
unsigned int chn) = 0;
365 virtual void cancelBuffer() = 0;
373 virtual void cancelBuffer(
unsigned int chn) = 0;
383 virtual void enableChannel(
unsigned int chnIdx,
bool enable) = 0;
394 virtual bool isChannelEnabled(
unsigned int chnIdx) = 0;
409 virtual bool isPushDone(
unsigned int chnIdx)
const = 0;
417 virtual void setKernelBuffersCount(
unsigned int chnIdx,
unsigned int count) = 0;
424 virtual unsigned int getKernelBuffersCount(
unsigned int chnIdx)
const = 0;
433 virtual short convertVoltsToRaw(
unsigned int channel,
double voltage) = 0;
442 virtual double convertRawToVolts(
unsigned int channel,
short raw) = 0;
450 virtual struct IIO_OBJECTS getIioObjects() = 0;
457 virtual unsigned int getNbChannels() = 0;
465 virtual std::string getChannelName(
unsigned int channel) = 0;
472 virtual double getMaximumSamplerate(
unsigned int chn_idx) = 0;
484 virtual unsigned short setVoltage(
unsigned int chn_idx,
double volts) = 0;
495 virtual unsigned short setVoltageRaw(
unsigned int chn_idx,
unsigned short raw) = 0;
519 virtual void setBufferRearmOnTrigger(
bool enable) = 0;
529 virtual bool getBufferRearmOnTrigger()
const = 0;
535 #endif //M2KANALOGOUT_HPP Controls the analogical output compound.
Definition: m2kanalogout.hpp:52
Controls the hardware trigger for ADALM2000.
Definition: m2khardwaretrigger.hpp:41
Generic M2K enumerations.