#ifndef DEVICE_D001_H #define DEVICE_D001_H #include #include #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 _ids; std::vector _modules; std::vector> _buffer; std::vector _buffer_send; std::vector> _buffer_read; std::vector _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