|
@@ -2,7 +2,7 @@
|
|
|
#include "ui_mainwindow.h"
|
|
|
|
|
|
iv::Ivlog *givlog;
|
|
|
-unsigned int gv2xEn = false;
|
|
|
+unsigned int gv2xEn = true;
|
|
|
|
|
|
void ListenV2xStEn(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname)
|
|
|
{
|
|
@@ -31,6 +31,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|
|
socket=new QTcpSocket();
|
|
|
ui->lineEdit_ip->setText("47.95.196.28");
|
|
|
ui->lineEdit_port->setText("12123");
|
|
|
+ ui->pushButton_connect->setEnabled(false);
|
|
|
//连接信号槽
|
|
|
|
|
|
givlog = new iv::Ivlog("v2x");
|
|
@@ -41,6 +42,14 @@ MainWindow::MainWindow(QWidget *parent) :
|
|
|
iv::modulecomm::RegisterRecv("v2xStEn", ListenV2xStEn);
|
|
|
mp_v2xStSend = iv::modulecomm::RegisterSend("v2xStReq",1000,1);
|
|
|
shareV2xStReqMsg();
|
|
|
+ //heart beat,jiaolili,20210207
|
|
|
+ m_bEnablePlatform=false;
|
|
|
+ m_bIsConnect=false;
|
|
|
+ QTimer *timer = new QTimer(this);
|
|
|
+ connect(timer,SIGNAL(timeout()),SLOT(heartBeat()));
|
|
|
+ timer->start(1000);
|
|
|
+ ///////////////////////////////////////////
|
|
|
+
|
|
|
}
|
|
|
|
|
|
MainWindow::~MainWindow()
|
|
@@ -48,6 +57,32 @@ MainWindow::~MainWindow()
|
|
|
delete this->socket;
|
|
|
delete ui;
|
|
|
}
|
|
|
+void MainWindow::heartBeat()
|
|
|
+{
|
|
|
+ if(gv2xEn) {
|
|
|
+ if(!m_bEnablePlatform) {
|
|
|
+ connectPlatform();
|
|
|
+ }
|
|
|
+ if(m_bIsConnect) {
|
|
|
+ upDataStream();
|
|
|
+ } else {
|
|
|
+ connectPlatform();
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ if(m_bEnablePlatform) {
|
|
|
+ disconnectPlatform();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ m_bEnablePlatform = gv2xEn;
|
|
|
+}
|
|
|
+void MainWindow::upDataStream()
|
|
|
+{
|
|
|
+// upVehicleStatus();
|
|
|
+// upHardwareStatus();
|
|
|
+// upObstacleDataStatus();
|
|
|
+ upSoftwareStatus();
|
|
|
+}
|
|
|
void MainWindow::socket_Read_Data()
|
|
|
{
|
|
|
QByteArray buffer;
|
|
@@ -206,7 +241,40 @@ void MainWindow::socket_Disconnected()
|
|
|
ui->pushButton_connect->setText("connect");
|
|
|
ui->textEdit_messages->insertPlainText("服务器消息:Disconnected");
|
|
|
}
|
|
|
+void MainWindow::connectPlatform()
|
|
|
+{
|
|
|
+ QString IP;
|
|
|
+ int port;
|
|
|
+ //获取IP地址
|
|
|
+ IP = ui->lineEdit_ip->text();
|
|
|
+ //获取端口号
|
|
|
+ port = ui->lineEdit_port->text().toInt();
|
|
|
+ ui->textEdit_messages->setText("");
|
|
|
+ ui->textEdit_messages->insertPlainText("正在连接"+ui->lineEdit_ip->text()+":"+ui->lineEdit_port->text()+"\n");
|
|
|
+ //取消已有的连接
|
|
|
+ socket->abort();
|
|
|
+ //连接服务器
|
|
|
+ socket->connectToHost(IP, port);
|
|
|
+ //等待连接成功
|
|
|
+ if(!socket->waitForConnected(30000)) {
|
|
|
+ ui->textEdit_messages->insertPlainText("连接失败\n");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ m_bIsConnect = true;
|
|
|
+ ui->textEdit_messages->insertPlainText("连接成功\n");
|
|
|
+ //修改按键文字
|
|
|
+ ui->pushButton_connect->setText("disconnect");
|
|
|
+}
|
|
|
|
|
|
+void MainWindow::disconnectPlatform()
|
|
|
+{
|
|
|
+ //断开连接
|
|
|
+ ui->textEdit_messages->setText("断开连接\n");
|
|
|
+ socket->disconnectFromHost();
|
|
|
+ //修改按键文字
|
|
|
+ ui->pushButton_connect->setText("connect");
|
|
|
+ m_bIsConnect=false;
|
|
|
+}
|
|
|
void MainWindow::on_pushButton_connect_clicked()
|
|
|
{
|
|
|
if(ui->pushButton_connect->text() == tr("connect"))
|
|
@@ -302,3 +370,35 @@ void MainWindow::shareV2xStReqMsg()
|
|
|
// socket->write(bytes);
|
|
|
//}
|
|
|
|
|
|
+void MainWindow::upVehicleStatus()
|
|
|
+{
|
|
|
+ QString time_stamp=getTimeStamp();
|
|
|
+ QString test="['CCFF',"+time_stamp+",'catarc001',1,0,0,100,0,0,0,0,0]";
|
|
|
+ //QByteArray bytes = test.toUtf8();
|
|
|
+ QByteArray bytes = test.toLatin1();
|
|
|
+ socket->write(bytes);
|
|
|
+}
|
|
|
+void MainWindow::upHardwareStatus()
|
|
|
+{
|
|
|
+ QString time_stamp=getTimeStamp();
|
|
|
+ QString test="['DDFF',"+time_stamp+",[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[[0,0],[0,0]],[2,0]]";
|
|
|
+ //QByteArray bytes = test.toUtf8();
|
|
|
+ QByteArray bytes = test.toLatin1();
|
|
|
+ socket->write(bytes);
|
|
|
+}
|
|
|
+void MainWindow::upObstacleDataStatus()
|
|
|
+{
|
|
|
+ QString time_stamp=getTimeStamp();
|
|
|
+ QString test="['EEFF',"+time_stamp+",[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]";
|
|
|
+ //QByteArray bytes = test.toUtf8();
|
|
|
+ QByteArray bytes = test.toLatin1();
|
|
|
+ socket->write(bytes);
|
|
|
+}
|
|
|
+void MainWindow::upSoftwareStatus()
|
|
|
+{
|
|
|
+ QString time_stamp=getTimeStamp();
|
|
|
+ QString test="['FFFF',"+time_stamp+",[1,10,1,10,1,10,1,10],[0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0]]";
|
|
|
+ //QByteArray bytes = test.toUtf8();
|
|
|
+ QByteArray bytes = test.toLatin1();
|
|
|
+ socket->write(bytes);
|
|
|
+}
|