|
@@ -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();
|