ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

cleanRobot(扫地机器人上位机)

2021-01-20 19:34:31  阅读:275  来源: 互联网

标签:include recviveData int void QPoint 上位 扫地 cleanRobot RECV


页面展示 运用了大量的背景图片,按钮图片;

 

 

 

 

通信设置

 

/*

* 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

 

 

*

 

 

*

 

 

*

 

 

*

 

 

*

 

 

*

 

 

*

 

 

标签:include,recviveData,int,void,QPoint,上位,扫地,cleanRobot,RECV
来源: https://www.cnblogs.com/tangyuanjie/p/14304622.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有