22 #ifndef M2KANALOGOUT_HPP 23 #define M2KANALOGOUT_HPP 25 #include <libm2k/m2kglobal.hpp> 63 virtual void reset() = 0;
71 virtual std::vector<int> getOversamplingRatio() = 0;
80 virtual int getOversamplingRatio(
unsigned int chn) = 0;
88 virtual std::vector<int> setOversamplingRatio(std::vector<int> oversampling_ratio) = 0;
97 virtual int setOversamplingRatio(
unsigned int chn,
int oversampling_ratio) = 0;
103 virtual std::vector<double> getSampleRate() = 0;
112 virtual double getSampleRate(
unsigned int chn) = 0;
120 virtual std::vector<double> getAvailableSampleRates(
unsigned int chn) = 0;
129 virtual std::vector<double> setSampleRate(std::vector<double> samplerates) = 0;
139 virtual double setSampleRate(
unsigned int chn,
double samplerate) = 0;
145 virtual void setSyncedDma(
bool en,
int chn = -1) = 0;
150 virtual bool getSyncedDma(
int chn = -1) = 0;
155 virtual void setSyncedStartDma(
bool en,
int chn = -1) = 0;
160 virtual bool getSyncedStartDma(
int chn = -1) = 0;
169 virtual void setCyclic(
bool en) = 0;
180 virtual void setCyclic(
unsigned int chn,
bool en) = 0;
189 virtual bool getCyclic(
unsigned int chn) = 0;
200 virtual double getScalingFactor(
unsigned int chn) = 0;
209 virtual double getFilterCompensation(
double samplerate) = 0;
226 virtual void pushBytes(
unsigned int chnIdx,
double *data,
unsigned int nb_samples) = 0;
243 virtual void pushRawBytes(
unsigned int chnIdx,
short *data,
unsigned int nb_samples) = 0;
259 virtual void pushInterleaved(
double *data,
unsigned int nb_channels,
unsigned int nb_samples) = 0;
275 virtual void pushRawInterleaved(
short *data,
unsigned int nb_channels,
unsigned int nb_samples) = 0;
291 virtual void push(
unsigned int chnIdx, std::vector<double>
const &data) = 0;
307 virtual void pushRaw(
unsigned int chnIdx, std::vector<short>
const &data) = 0;
322 virtual void push(std::vector<std::vector<double>>
const &data) = 0;
337 virtual void pushRaw(std::vector<std::vector<short>>
const &data) = 0;
346 virtual void stop() = 0;
357 virtual void stop(
unsigned int chn) = 0;
364 virtual void cancelBuffer() = 0;
372 virtual void cancelBuffer(
unsigned int chn) = 0;
382 virtual void enableChannel(
unsigned int chnIdx,
bool enable) = 0;
393 virtual bool isChannelEnabled(
unsigned int chnIdx) = 0;
408 virtual bool isPushDone(
unsigned int chnIdx)
const = 0;
416 virtual void setKernelBuffersCount(
unsigned int chnIdx,
unsigned int count) = 0;
423 virtual unsigned int getKernelBuffersCount(
unsigned int chnIdx)
const = 0;
432 virtual short convertVoltsToRaw(
unsigned int channel,
double voltage) = 0;
441 virtual double convertRawToVolts(
unsigned int channel,
short raw) = 0;
449 virtual struct IIO_OBJECTS getIioObjects() = 0;
456 virtual unsigned int getNbChannels() = 0;
464 virtual std::string getChannelName(
unsigned int channel) = 0;
471 virtual double getMaximumSamplerate(
unsigned int chn_idx) = 0;
477 #endif //M2KANALOGOUT_HPP Controls the analogical output compound.
Definition: m2kanalogout.hpp:51
Generic M2K enumerations.