2020-09-12 05:07:15 +08:00
|
|
|
#ifndef SIGNALGENERATOR_H
|
|
|
|
#define SIGNALGENERATOR_H
|
|
|
|
|
2021-09-04 01:01:22 +08:00
|
|
|
#include "savable.h"
|
2022-08-23 06:37:25 +08:00
|
|
|
#include "appwindow.h"
|
2020-09-12 05:07:15 +08:00
|
|
|
|
2021-10-21 19:00:34 +08:00
|
|
|
#include <QWidget>
|
|
|
|
|
2020-09-12 05:07:15 +08:00
|
|
|
namespace Ui {
|
2020-09-13 20:44:45 +08:00
|
|
|
class SignalgeneratorWidget;
|
2020-09-12 05:07:15 +08:00
|
|
|
}
|
|
|
|
|
2021-09-04 01:01:22 +08:00
|
|
|
class SignalgeneratorWidget : public QWidget, public Savable
|
2020-09-12 05:07:15 +08:00
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
2022-08-23 06:37:25 +08:00
|
|
|
explicit SignalgeneratorWidget(AppWindow *window, QWidget *parent = nullptr);
|
2020-09-13 20:44:45 +08:00
|
|
|
~SignalgeneratorWidget();
|
|
|
|
|
2022-08-04 23:31:24 +08:00
|
|
|
VirtualDevice::SGSettings getDeviceStatus();
|
2021-09-04 01:01:22 +08:00
|
|
|
virtual nlohmann::json toJSON() override;
|
|
|
|
virtual void fromJSON(nlohmann::json j) override;
|
2020-09-12 05:07:15 +08:00
|
|
|
|
2022-08-23 06:37:25 +08:00
|
|
|
void deviceInfoUpdated();
|
2020-09-12 05:07:15 +08:00
|
|
|
signals:
|
2020-09-13 20:44:45 +08:00
|
|
|
void SettingsChanged();
|
2020-09-12 05:07:15 +08:00
|
|
|
|
2020-10-22 23:13:36 +08:00
|
|
|
public slots:
|
2020-09-12 05:07:15 +08:00
|
|
|
void setLevel(double level);
|
2020-10-22 23:13:36 +08:00
|
|
|
void setFrequency(double frequency);
|
2021-04-11 06:10:22 +08:00
|
|
|
void setPort(int port);
|
2021-04-06 17:58:48 +08:00
|
|
|
|
|
|
|
protected:
|
|
|
|
void timerEvent(QTimerEvent *) override;
|
|
|
|
|
2020-09-12 05:07:15 +08:00
|
|
|
private:
|
2020-09-13 20:44:45 +08:00
|
|
|
Ui::SignalgeneratorWidget *ui;
|
2021-04-06 17:58:48 +08:00
|
|
|
int m_timerId;
|
2022-08-23 06:37:25 +08:00
|
|
|
AppWindow *window;
|
|
|
|
std::vector<QCheckBox*> portCheckboxes;
|
2020-09-12 05:07:15 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // SIGNALGENERATOR_H
|