76 lines
1.7 KiB
C++
76 lines
1.7 KiB
C++
#ifndef ANALOG_INPUT_H
|
|
#define ANALOG_INPUT_H
|
|
|
|
#include <QObject>
|
|
|
|
#include "core/gtl_analog_data.h"
|
|
|
|
#include "hw_global.h"
|
|
|
|
#include "core/gtl_device.h"
|
|
|
|
|
|
namespace gtl
|
|
{
|
|
namespace hw
|
|
{
|
|
class HW_EXPORT analog_input : public gtl::analog_data
|
|
{
|
|
Q_OBJECT
|
|
Q_PROPERTY(qreal reference READ reference WRITE set_reference NOTIFY reference_changed)
|
|
public:
|
|
explicit analog_input(qreal rate, QString name, gtl::device *parent);
|
|
|
|
void set_data(qreal* data, int size, int offset, int step);
|
|
|
|
void set_iepe(bool value);
|
|
bool is_iepe() const;
|
|
|
|
void set_coupling(bool value);
|
|
bool is_coupling() const;
|
|
|
|
void set_sensitivity(qreal value);
|
|
qreal sensitivity() const;
|
|
|
|
void set_gain(qreal value);
|
|
qreal gain() const;
|
|
|
|
void set_offset(qreal value);
|
|
bool offset() const;
|
|
|
|
void set_inverting(bool value);
|
|
bool is_inverting() const;
|
|
|
|
void set_reference(qreal value);
|
|
|
|
virtual void save(QDomElement& root_element) override;
|
|
virtual void load(const QDomElement& root_element) override;
|
|
virtual void get_state(QJsonObject& root) override;
|
|
|
|
virtual qreal reference() const override;
|
|
|
|
private:
|
|
|
|
bool _is_iepe;
|
|
bool _is_coupling;
|
|
|
|
qreal _sensitivity;
|
|
qreal _gain;
|
|
qreal _offset;
|
|
bool _is_inverting;
|
|
|
|
qreal _reference;
|
|
|
|
|
|
signals:
|
|
void iepe_changed();
|
|
void coupling_changed();
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif // ANALOG_INPUT_H
|