22 #ifndef M2KANALOGIN_HPP 23 #define M2KANALOGIN_HPP 25 #include <libm2k/m2kglobal.hpp> 27 #include <libm2k/m2khardwaretrigger.hpp> 57 virtual void reset() = 0;
63 virtual void startAcquisition(
unsigned int nb_samples) = 0;
69 virtual void stopAcquisition() = 0;
82 virtual std::vector<std::vector<double>> getSamples(
unsigned int nb_samples) = 0;
95 virtual std::vector<std::vector<double>> getSamplesRaw(
unsigned int nb_samples) = 0;
110 virtual const double* getSamplesInterleaved(
unsigned int nb_samples_per_channel) = 0;
125 virtual const short* getSamplesRawInterleaved(
unsigned int nb_samples_per_channel) = 0;
142 virtual const double* getSamplesInterleaved_matlab(
unsigned int nb_samples) = 0;
159 virtual const short* getSamplesRawInterleaved_matlab(
unsigned int nb_samples) = 0;
168 virtual short getVoltageRaw(
unsigned int ch) = 0;
177 virtual double getVoltage(
unsigned int ch) = 0;
205 virtual std::vector<short> getVoltageRaw() = 0;
215 virtual std::vector<double> getVoltage() = 0;
223 virtual const short *getVoltageRawP() = 0;
231 virtual const double *getVoltageP() = 0;
238 virtual void setVerticalOffset(
ANALOG_IN_CHANNEL channel,
double vertOffset) = 0;
299 virtual std::vector<std::pair<std::string, std::pair<double, double>>> getAvailableRanges() = 0;
307 virtual int getOversamplingRatio() = 0;
316 virtual int getOversamplingRatio(
unsigned int chn_idx) = 0;
325 virtual int setOversamplingRatio(
int oversampling) = 0;
335 virtual int setOversamplingRatio(
unsigned int chn_idx,
int oversampling) = 0;
343 virtual double getSampleRate() = 0;
350 virtual std::vector<double> getAvailableSampleRates() = 0;
358 virtual double setSampleRate(
double samplerate) = 0;
376 virtual double getFilterCompensation(
double samplerate) = 0;
385 virtual double getValueForRange(
M2K_RANGE range) = 0;
394 virtual double convertRawToVolts(
unsigned int channel,
short raw) = 0;
404 virtual short convertVoltsToRaw(
unsigned int channel,
double voltage) = 0;
412 virtual unsigned int getNbChannels() = 0;
420 virtual std::string getName() = 0;
429 virtual void enableChannel(
unsigned int chnIdx,
bool enable) = 0;
439 virtual bool isChannelEnabled(
unsigned int chnIdx) = 0;
446 virtual void cancelAcquisition() = 0;
453 virtual void setKernelBuffersCount(
unsigned int count) = 0;
459 virtual unsigned int getKernelBuffersCount()
const = 0;
474 virtual struct IIO_OBJECTS getIioObjects() = 0;
488 virtual void getSamples(std::vector<std::vector<double>> &data,
unsigned int nb_samples) = 0;
495 virtual std::string getChannelName(
unsigned int channel) = 0;
501 virtual double getMaximumSamplerate() = 0;
507 #endif //M2KANALOGIN_HPP Controls the analogical input compound.
Definition: m2kanalogin.hpp:46
Controls the hardware trigger for ADALM2000.
Definition: m2khardwaretrigger.hpp:41
ANALOG_IN_CHANNEL
Indexes of the channels.
Definition: analog/enums.hpp:59
M2K_RANGE
Range of the signal's amplitude.
Definition: analog/enums.hpp:70