#ifndef DEVICE_NI_H #define DEVICE_NI_H #include #include #include "hw/gtl_hw_device.h" #include #include 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 _buffer_send; std::vector _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