Browse Source

HAPO v2x update stream

jiaolili 4 years ago
parent
commit
729bc994e8
2 changed files with 79 additions and 37 deletions
  1. 76 37
      src/v2x/v2xTcpClient/mainwindow.cpp
  2. 3 0
      src/v2x/v2xTcpClient/mainwindow.h

+ 76 - 37
src/v2x/v2xTcpClient/mainwindow.cpp

@@ -96,9 +96,10 @@ MainWindow::MainWindow(QWidget *parent) :
     //heart beat,jiaolili,20210207
     m_bEnablePlatform=false;
     m_bIsConnect=false;
+    m_iHeartbeatCount=0;
     QTimer *timer = new QTimer(this);
     connect(timer,SIGNAL(timeout()),SLOT(heartBeat()));
-    timer->start(1000);
+    timer->start(200);
     ///////////////////////////////////////////
 
 }
@@ -129,10 +130,24 @@ void MainWindow::heartBeat()
 }
 void MainWindow::upDataStream()
 {
-//    upVehicleStatus();
-//    upHardwareStatus();
-//    upObstacleDataStatus();
-    upSoftwareStatus();
+    m_iHeartbeatCount++;
+    if(m_iHeartbeatCount%4==0) {
+        upVehicleStatus();
+        return;
+    }
+    if(m_iHeartbeatCount%4==1) {
+        upHardwareStatus();
+        return;
+    }
+    if(m_iHeartbeatCount%4==2) {
+        upObstacleDataStatus();
+        return;
+    }
+    if(m_iHeartbeatCount%4==3) {
+        upSoftwareStatus();
+        return;
+    }
+
 }
 void MainWindow::socket_Read_Data()
 {
@@ -410,62 +425,86 @@ void MainWindow::shareV2xStReqMsg()
     givlog->info("v2x","send st req");
     delete str;
 }
-//void MainWindow::on_pushButton_sendVehicle_clicked()
-//{
-//    QString head= "[";
-//    QString packageID="'DDFF'";
-//    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::upVehicleStatus()
 {
     QString time_stamp=getTimeStamp();
-    QString test="['CCFF',"+time_stamp+mscarID+","+QString::number(micarMode)+","+QString::number(mfspeed)+","+ \
+    QString test="['CCFF',"+time_stamp+",'"+mscarID+"',"+QString::number(micarMode)+","+QString::number(mfspeed)+","+ \
             QString::number(mfsteerAngle)+","+ QString::number(miSOC)+","+ QString::number(micarError)+","+ \
             QString::number(mierrorNum)+","+QString::number(mflon)+","+ QString::number(mflat)+","+ \
             QString::number(mfheading)+"]";
     //QByteArray bytes = test.toUtf8();
     QByteArray bytes = test.toLatin1();
-    socket->write(bytes);
-    micarMode = 0;
-    mfspeed = 0;
-    mfsteerAngle = 0;
-    miSOC = 0;
-    micarError = 0;
-    mierrorNum = 0;
-    mflon = 0;
-    mflat = 0;
-    mfheading = 0;
+    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]]";
+    //QString test="['DDFF',"+time_stamp+",[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[[0,0],[0,0]],[2,0]]";
+    QString test="['DDFF',"+time_stamp+",["+ \
+            QString::number(mistRadar)+","+getHardwareType(mistRadar)+"],["+ \
+            QString::number(mistLidar)+","+getHardwareType(mistLidar)+"],["+ \
+            QString::number(mistSonic)+","+getHardwareType(mistSonic)+"],["+ \
+            QString::number(mistCamera)+","+getHardwareType(mistCamera)+"],["+ \
+            QString::number(mistmic)+","+getHardwareType(mistmic)+"],["+ \
+            QString::number(mistGPS)+","+getHardwareType(mistGPS)+"],[["+ \
+            QString::number(mistCanRadar)+","+getHardwareType(mistCanRadar)+"],["+ \
+            QString::number(mistCanCar)+","+getHardwareType(mistCanCar)+"]],["+ \
+            "2,0]]";
     //QByteArray bytes = test.toUtf8();
     QByteArray bytes = test.toLatin1();
     socket->write(bytes);
-    mistRadar = 1;
-    mistLidar = 1;
-    mistSonic = 0;//超声
-    mistCamera = 0;
-    mistmic = 0;
-    mistGPS = 1;
-    mistCanCar = 1;
-    mistCanRadar = 1;
-    mistlight = 0;//红绿灯
 }
+
+QString MainWindow::getHardwareType(int state)
+{
+    QString type;
+    int iType=-1;
+    if(state==1) {
+        iType=11;
+    } else if(state==0) {
+        iType=0;
+    } else {
+        ui->textEdit_messages->insertPlainText("ModelError消息:Hardware state get error!!!\n");
+    }
+    type=QString::number(iType);
+    return type;
+}
+
 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]]";
+    //QString test="['EEFF',"+time_stamp+",[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]";
+    QString test="['EEFF',"+time_stamp+ \
+            getObstacleData(0)+getObstacleData(1)+ \
+            +"]";
+
     //QByteArray bytes = test.toUtf8();
     QByteArray bytes = test.toLatin1();
     socket->write(bytes);
 }
+
+QString MainWindow::getObstacleData(int type)
+{
+    QString message="";
+    ObsInfo obs;
+    int i;
+    if(type==0) {
+        for(i=0;i<miRadarObsCount;i++) {
+            obs=mqRadarObsInfo[i];
+            message += ",["+QString::number(obs.type)+","+QString::number(obs.lon)+","+QString::number(obs.lat)+"]";
+        }
+    } else if(type==1) {
+        for(i=0;i<miLidarObsCount;i++) {
+            obs=mqLidarObsInfo[i];
+            message += ",["+QString::number(obs.type)+","+QString::number(obs.lon)+","+QString::number(obs.lat)+"]";
+        }
+    } else {
+        ui->textEdit_messages->insertPlainText("ProcessError消息:Obstacle data type get error!!!\n");
+    }
+    return message;
+}
+
 void MainWindow::upSoftwareStatus()
 {
     QString time_stamp=getTimeStamp();

+ 3 - 0
src/v2x/v2xTcpClient/mainwindow.h

@@ -60,6 +60,8 @@ public:
 //    int GetTypeString(const char*  obsType) const;
     void upVehicleStatus();
     void upHardwareStatus();
+    QString getHardwareType(int state);
+    QString getObstacleData(int type);
     void upObstacleDataStatus();
     void upSoftwareStatus();
     void upDataStream();
@@ -99,6 +101,7 @@ private:
     bool m_bIsConnect;
     QVector<StationGps> mstationGps;
     iv::GPS_INS mpdata;
+    int m_iHeartbeatCount;
 
     /* 车辆状态数据 上行 BEGIN */
     QString mscarID ;