feat:初始化wuhan_QT界面代码
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
#ifndef MOCKVEHICLE_H
|
||||
#define MOCKVEHICLE_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QUdpSocket>
|
||||
#include <QTimer>
|
||||
#include <QVector>
|
||||
|
||||
// ===================== 内置模拟车载端(离线演示) =====================
|
||||
// 以独立 UDP 套接字在回环地址上与遥控端通信:向 UI 端口周期发送遥测,
|
||||
// 接收并响应 UI 下发的控制命令(行驶/机械臂/球阀/泵/洗消/自检/急停等)。
|
||||
class MockVehicle : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit MockVehicle(QObject* parent = nullptr);
|
||||
bool enabled() const { return m_enabled; }
|
||||
|
||||
private slots:
|
||||
void onReadyRead();
|
||||
void onSendTick();
|
||||
void onSelfCheckTick();
|
||||
|
||||
private:
|
||||
void sendJson(const QJsonObject& obj);
|
||||
void sendTelemetry();
|
||||
void sendHeartbeat();
|
||||
void handleCommand(const QJsonObject& o);
|
||||
|
||||
QUdpSocket* m_socket = nullptr;
|
||||
QTimer* m_sendTimer = nullptr;
|
||||
QTimer* m_selfCheckTimer = nullptr;
|
||||
|
||||
int m_localPort = 9000; // 遥控端收包端口(本端发送目标)
|
||||
int m_remotePort = 9001; // 本端绑定端口(遥控端发包目标)
|
||||
bool m_enabled = true;
|
||||
bool m_plantSelfCheckFault = false;
|
||||
|
||||
// 模拟车辆状态
|
||||
bool m_estop = false;
|
||||
bool m_gasRunning = false;
|
||||
bool m_washRunning = false;
|
||||
QString m_washMode = "手动消除";
|
||||
bool m_valve1Open = false; // D1 控制状态(开/关)
|
||||
bool m_valve2Open = false;
|
||||
bool m_pPlunger = false, m_pAir = false, m_pLeaf = false;
|
||||
double m_speed = 3.45;
|
||||
int m_airRpm = 300, m_plungerRpm = 200, m_leafRpm = 200;
|
||||
QVector<double> m_js{30, 20, 0, 90, 45, 0};
|
||||
bool m_armHomed = true;
|
||||
QString m_armReturn = "idle";
|
||||
|
||||
// 自检序列
|
||||
bool m_selfCheckActive = false;
|
||||
int m_selfCheckIndex = 0;
|
||||
};
|
||||
|
||||
#endif // MOCKVEHICLE_H
|
||||
Reference in New Issue
Block a user