test_sdk/hw/gtl_analog_input.h

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