cleanRobot(掃地機器人上位機)


頁面展示 運用了大量的背景圖片,按鈕圖片;

 

 

 

 

通信設置

 

/*

* Copyright (c) 2019,浙江智瀾科技有限公司

* All rights reserved.

*

* 要:udp通信,與ros進行udp通信,進而與掃地機通信

*

* 當前版本:1.1

* 者:聶咸豐

* 完成日期:2019 7 10

*

* 取代版本:1.0

* 者:張雪平

* 完成日期:2019 5 12

*/

#ifndef CARUDP_H

#define CARUDP_H

 

#include <QDialog>

#include <QLabel>

#include <QTextCodec>

#include <QPainter>

#include <QTimer>

#include <QTime>

#include <QUdpSocket>

#include <QNetworkInterface>

#include <QDebug>

#include "common.h"

 

/*

* g_recviveData[RECV_DATA_BASE+0] - 清理寄存器

* g_recviveData[RECV_DATA_BASE+2~3] - 滾刷速度

* g_recviveData[RECV_DATA_BASE+4] - 燈寄存器

* g_recviveData[RECV_DATA_BASE+5] - 電源速度

* g_recviveData[RECV_DATA_BASE+6] - 電源電量

* g_recviveData[RECV_DATA_BASE+7] - 液位寄存器

*/

static QByteArray g_recviveDat; // UDP接受數據

 

namespace Ui {

class carUdp;

}

 

class carUdp : public QDialog

{

Q_OBJECT

 

public:

explicit carUdp(QWidget *parent = nullptr);

~carUdp();

 

void udpSend(QByteArray data); // UDP發送數據

bool udpSendConCmd(qint16 cmd, char data,char data1=0); // 發送控制命令:cmd為命令,char為數據(0-關閉/下降 1-開啟/關閉) 參數默認值為0

bool udpSendMapxy(qint16 cmd, int data1,int data2); // 發送地圖導航點坐標數據

bool udpSendQueryCmd(); // 發送查詢指令

void udpRecived(); // 接收函數

// ----

void setPoweValue(QPoint m_vXY,QLabel *label,int value=100); // 設置電池電量

void paintPower(QWidget *parent); // 繪制電池電量

void setScheduleValue(QPoint m_vXY,QLabel *label,int value=80); // 設置進度

void paintSchedule(QWidget *parent); // 繪制進度

void setWaterValue(QPoint m_vXY,QLabel *label,int value=100); // 設置水量

void paintWater(QWidget *parent); // 繪制水量

 

private slots:

void doProssTimeout(); // 超時處理

void doProssTimeoutToSendQueryCmd(); // 5S鍾查詢一次數據

void doProssUdpread(); // UDP接收數據

 

signals:

void doProseSendData(int powerdata,int waterdata,int scheduldata);

 

private:

Ui::carUdp *ui;

 

QUdpSocket *m_Socket; // 套接字

QString m_ipAddress; // IP地址

QByteArray m_sendData; // 發送數據幀

uint8_t m_sendCount; // 重發命令幀次數

bool m_receSuccessFlag; // 接收數據成功標志位

QTimer *m_timer;

QTimer *m_timerToSendQueryCmd; // udp接收查詢數據超時定時器

 

int m_powerValue; // 電量值

int m_scheduleValue; // 進度值

int m_waterValue; // 水量值

QPoint m_powerIcon_XY; // 電量繪制坐標

QPoint m_scheduleIcon_XY; // 進度繪制坐標

QPoint m_waterIcon_XY; // 水量繪制坐標

 

void init(); // 初始化函數

bool delayMsec(int msec); // 非阻塞延時(true接收應發成功,fals接收應答失敗)

};

 

#endif // CARUDP_H

 

 

*

 

 

*

 

 

*

 

 

*

 

 

*

 

 

*

 

 

*

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM