58 lines
1010 B
C
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
|