66 lines
969 B
C++
66 lines
969 B
C++
#ifndef DEVICE_NI_H
|
|
#define DEVICE_NI_H
|
|
|
|
#include <QDateTime>
|
|
#include <QDebug>
|
|
|
|
#include "hw/gtl_hw_device.h"
|
|
|
|
#include <set>
|
|
|
|
#include <NIDAQmx.h>
|
|
|
|
class device_ni : public gtl::hw::device
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
device_ni(QObject *parent);
|
|
~device_ni();
|
|
|
|
virtual QString type() const override;
|
|
|
|
virtual bool start(QString id, qreal rate);
|
|
virtual bool stop();
|
|
|
|
virtual qreal max_amplitude() const { return _max_amplitude; }
|
|
|
|
virtual void set_config(const QJsonValue& config) override;
|
|
|
|
private:
|
|
QString _name;
|
|
|
|
TaskHandle _task;
|
|
|
|
std::vector<qreal> _buffer_send;
|
|
std::vector<float64> _buffer_read;
|
|
|
|
QDateTime _time_send;
|
|
|
|
bool _is_full_restarting;
|
|
|
|
qreal _max_amplitude;
|
|
|
|
bool _is_support_iepe;
|
|
|
|
bool _is_running;
|
|
|
|
|
|
private:
|
|
virtual void run();
|
|
|
|
void send_data();
|
|
|
|
QString get_error_message(int32 code);
|
|
|
|
|
|
|
|
private slots:
|
|
virtual void ai_iepe_changed();
|
|
virtual void ai_coupling_changed();
|
|
|
|
|
|
};
|
|
|
|
#endif // NI9234_H
|