test_sdk/hw/d001/device_d001.h

58 lines
1010 B
C++

#ifndef DEVICE_D001_H
#define DEVICE_D001_H
#include <QDateTime>
#include <QDebug>
#include "hw/gtl_hw_device.h"
#include "usbdask64.h"
class device_d001 : public gtl::hw::device
{
Q_OBJECT
public:
device_d001(QObject *parent);
~device_d001();
virtual QString type() const override;
virtual bool start(QString id, qreal rate);
virtual bool stop();
virtual int channels() { return 4 * (int)_modules.size();}
virtual qreal max_amplitude() const { return 10; }
virtual void set_config(const QJsonValue& config) override;
private:
std::map<int, int> _ids;
std::vector<U16> _modules;
std::vector<std::vector<I32>> _buffer;
std::vector<qreal> _buffer_send;
std::vector<std::vector<U32>> _buffer_read;
std::vector<int> _ids_current;
bool _is_full_restarting;
private:
void run();
void send_data();
U16 get_channel_config(int channel);
private slots:
virtual void ai_iepe_changed();
virtual void ai_coupling_changed();
};
#endif // ADLINK2405_H