Files
gcs-nf/App/ToolsUI/PowerSystem/PowerSystem.h
T
2023-05-17 16:27:12 +08:00

125 lines
2.0 KiB
C++

#ifndef POWERSYSTEM_H
#define POWERSYSTEM_H
#include <QWidget>
#include "QMouseEvent"
#include "QDebug"
#include "QAction"
#include "QContextMenuEvent"
#include "QMenu"
#include "QColor"
#include "QLabel"
#include "mavlink.h"
#include "QStyle"
#include "QDebug"
#include "QScreen"
#include <QtGlobal>
#include <QTime>
#include <QDateTime>
#include <QTimer>
#include "Scope.h"
//#include "QChart"
#include "QDateTime"
namespace Ui {
class PowerSystem;
}
struct TimeRPM
{
QDateTime time;
uint16_t rpm;
};
class PowerSystem : public QWidget
{
Q_OBJECT
public:
enum state{
success = 0,
failure,
};
explicit PowerSystem(QWidget *parent = nullptr);
~PowerSystem();
void mousePressEvent(QMouseEvent *event);
void closeEvent(QCloseEvent *event);
void contextMenuEvent(QContextMenuEvent *event);
void setTurbineState(mavlink_turbinestate_t *t);
void setCCMState(mavlink_ccmstate_t *t);
void updateUI();
private:
void resizeEvent(QResizeEvent *event);
private slots:
void setColor(QWidget *w, state s);
void setValue(QLabel *w,QString s);
public slots:
void setFloat(void);
void setMa(qint64 time, QVariant Ma);
void setAlt(QVariant Alt);
void setFuel(QVariant press,QVariant value);
private:
QTimer timer2;
QTimer timer;
QTime time = QTime(0, 0);
QHash<int,QString> cmdList;
QWidget *m_parent;
Ui::PowerSystem *ui;
Chart *ScopeRPM = nullptr;
Chart *ScopeTemp = nullptr;
Chart *ScopeAlt = nullptr;
Chart *ScopeMa = nullptr;
QVector<double> averageMa;
QVector<qint64> averageTime;
QMap<quint64,double> MaMap;
QTimer *AMaTimer = nullptr;
/*
QtCharts::QChart *ScopeRPM = nullptr;
QtCharts::QChart *ScopeTemp = nullptr;
QtCharts::QChart *ScopeAlt = nullptr;
QtCharts::QChart *ScopeMa = nullptr;
*/
};
#endif // POWERSYSTEM_H