|
@@ -359,7 +359,7 @@ ADCIntelligentVehicle::ADCIntelligentVehicle(QWidget *parent)
|
|
|
ModuleFun fundecition =std::bind(&ADCIntelligentVehicle::UpdateDecition,this,std::placeholders::_1,std::placeholders::_2,std::placeholders::_3,std::placeholders::_4,std::placeholders::_5);
|
|
|
mpaDecition = iv::modulecomm::RegisterRecvPlus("deciton",fundecition);
|
|
|
mpaLidar = iv::modulecomm::RegisterRecv("lidar_obs",ListenOBS);
|
|
|
- mpaObu = iv::modulecomm::RegisterRecv("obu",ListenObu);
|
|
|
+ mpaObu = iv::modulecomm::RegisterRecv("v2r_send",ListenObu);
|
|
|
mpaHMI = iv::modulecomm::RegisterSend("hmi",10*sizeof(iv::hmi::HMIBasic),10);
|
|
|
mpadst = iv::modulecomm::RegisterSend("xodrreq",1000,1);//地图站点gps信息
|
|
|
|
|
@@ -814,63 +814,101 @@ void ADCIntelligentVehicle::onStateTimerTraffic()
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ img3.load(":/light_image/zhixing-black.png");
|
|
|
+ img3 = img3.scaled(66,66,Qt::IgnoreAspectRatio);
|
|
|
+ ui->label_35->setPixmap(QPixmap::fromImage(img3));
|
|
|
+ ui->lcdStraight->display(0);
|
|
|
+ }
|
|
|
if(mobuEn)
|
|
|
{
|
|
|
if(mbTrafficInfoEn)
|
|
|
{
|
|
|
- if(miobuSt<10)
|
|
|
+ if(miobuSt == 1)
|
|
|
{
|
|
|
ui->button_trafficInfoLight_st->setStyleSheet("background-color: green");
|
|
|
- ui->lineEd_trafficInfo->setText("减速至xx km/h");
|
|
|
- ui->textBr_trafficInfo->append(QTime::currentTime().toString("hh:mm:ss.zzz") + "xxxxx");
|
|
|
+ ui->textBr_trafficInfo->append(QTime::currentTime().toString("hh:mm:ss.zzz") + \
|
|
|
+ "\n\t事件范围[ 经度:" + QString::number(miBroadcastGpsLon,'g',6) +\
|
|
|
+ " 纬度:" + QString::number(miBroadcastGpsLat,'g',6) + \
|
|
|
+ " ]\n\t辐射范围: " + QString::number(miBroadcastRange) + \
|
|
|
+ "\n\t事件类型: " + QString::number(miBroadcastTrafficType));
|
|
|
+ switch(micarSt){
|
|
|
+ case 0:
|
|
|
+ ui->lineEd_trafficInfo->setText("正常行驶");
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ ui->lineEd_trafficInfo->setText("减速至 " + QString::number(micarSpeedDis,'g',1) + "km/h");
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ ui->lineEd_trafficInfo->setText("停车");
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
- else
|
|
|
+ else if(miobuSt == 10)
|
|
|
{
|
|
|
ui->button_trafficInfoLight_st->setStyleSheet("background-color: red");
|
|
|
- ui->textBr_trafficInfo->clear();
|
|
|
+ ui->textBr_trafficInfo->append(QTime::currentTime().toString("hh:mm:ss.zzz") +"连接丢失");
|
|
|
ui->lineEd_trafficInfo->clear();
|
|
|
+ miobuSt++;
|
|
|
}
|
|
|
}
|
|
|
else if(mbFCWEn)//碰撞预警
|
|
|
{
|
|
|
- if(miobuSt<10)
|
|
|
+ if(miobuSt == 1)
|
|
|
{
|
|
|
- ui->textBr_FCW->append(QTime::currentTime().toString("hh:mm:ss.zzz") + "xxxxx");
|
|
|
+ switch(miWarningType){
|
|
|
+ case 1:
|
|
|
+ ui->textBr_FCW->append(QTime::currentTime().toString("hh:mm:ss.zzz") + \
|
|
|
+ "前方碰撞预警,减速至:" + QString::number(miWarningSpeedLimit));
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ ui->textBr_FCW->append(QTime::currentTime().toString("hh:mm:ss.zzz") + \
|
|
|
+ "前方碰撞预警,停车");
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
ui->button_FWCLight_st->setStyleSheet("background-color: green");
|
|
|
}
|
|
|
- else
|
|
|
+ else if(miobuSt == 10)
|
|
|
{
|
|
|
- ui->textBr_FCW->clear();
|
|
|
+ ui->textBr_FCW->append(QTime::currentTime().toString("hh:mm:ss.zzz") +"连接丢失");
|
|
|
ui->button_FWCLight_st->setStyleSheet("background-color: red");
|
|
|
+ miobuSt++;
|
|
|
}
|
|
|
}
|
|
|
else if(mbjamsEn)//交通拥堵
|
|
|
{
|
|
|
- if(miobuSt<10)
|
|
|
+ if(miobuSt == 1)
|
|
|
{
|
|
|
ui->button_jamsLight_st->setStyleSheet("background-color: green");
|
|
|
- ui->lineEdit_jamsMode->setText("xxx");
|
|
|
+ ui->lineEdit_jamsMode->setText("开启");
|
|
|
ui->lineEdit_jamsVIN->setText(QString::fromStdString(gstrvin));
|
|
|
|
|
|
}
|
|
|
- else
|
|
|
+ else if(miobuSt == 10)
|
|
|
{
|
|
|
ui->button_jamsLight_st->setStyleSheet("background-color: red");
|
|
|
ui->lineEdit_jamsMode->clear();
|
|
|
ui->lineEdit_jamsVIN->clear();
|
|
|
+ miobuSt++;
|
|
|
}
|
|
|
}
|
|
|
else if(mbdriCrimsEn)//危险驾驶
|
|
|
{
|
|
|
- if(miobuSt<10)
|
|
|
+ if(miobuSt == 1)
|
|
|
{
|
|
|
ui->button_DriCrimsLight_st->setStyleSheet("background-color: green");
|
|
|
ui->textBr_FCW_2->append(QTime::currentTime().toString("hh:mm:ss.zzz")+"进入危险驾驶模式");
|
|
|
}
|
|
|
- else
|
|
|
+ else if(miobuSt == 10)
|
|
|
{
|
|
|
ui->button_DriCrimsLight_st->setStyleSheet("background-color: red");
|
|
|
- ui->textBr_FCW_2->clear();
|
|
|
+ ui->textBr_FCW_2->append(QTime::currentTime().toString("hh:mm:ss.zzz") +"连接丢失");
|
|
|
+ miobuSt++;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1793,15 +1831,27 @@ void ADCIntelligentVehicle::UpdateVehicleState(const char * strdata,const unsign
|
|
|
gIvlog->warn("ADCIntelligentVehicle::UpdateVehicleState parse error,nSize is %d ",nSize);
|
|
|
return;
|
|
|
}
|
|
|
- ServiceCarStatus.bocheEnable = xbrainstate.mbbocheenable();
|
|
|
- ServiceCarStatus.mObs = xbrainstate.mfobs();
|
|
|
- ServiceCarStatus.mLidarObs = xbrainstate.mflidarobs();
|
|
|
- ServiceCarStatus.mRadarObs = xbrainstate.mfradarobs();
|
|
|
- mbBrainRunning = xbrainstate.mbbrainrunning();
|
|
|
- ServiceCarStatus.mbBrainCtring = xbrainstate.mbbrainrunning();
|
|
|
- mdecition_period = xbrainstate.decision_period();
|
|
|
+ if(xbrainstate.has_mbbocheenable())
|
|
|
+ ServiceCarStatus.bocheEnable = xbrainstate.mbbocheenable();
|
|
|
+ if(xbrainstate.has_mfobs())
|
|
|
+ ServiceCarStatus.mObs = xbrainstate.mfobs();
|
|
|
+ if(xbrainstate.has_mflidarobs())
|
|
|
+ ServiceCarStatus.mLidarObs = xbrainstate.mflidarobs();
|
|
|
+ if(xbrainstate.has_mfradarobs())
|
|
|
+ ServiceCarStatus.mRadarObs = xbrainstate.mfradarobs();
|
|
|
+ if(xbrainstate.has_mbbrainrunning())
|
|
|
+ mbBrainRunning = xbrainstate.mbbrainrunning();
|
|
|
+ if(xbrainstate.has_mbbrainrunning())
|
|
|
+ ServiceCarStatus.mbBrainCtring = xbrainstate.mbbrainrunning();
|
|
|
+ if(xbrainstate.has_decision_period())
|
|
|
+ mdecition_period = xbrainstate.decision_period();
|
|
|
+ if(xbrainstate.has_vehicle_state())
|
|
|
+ micarSt = xbrainstate.vehicle_state();
|
|
|
+ if(xbrainstate.has_vehicle_spd())
|
|
|
+ micarSpeedDis = xbrainstate.vehicle_spd();
|
|
|
|
|
|
mnTimeUpdateVS = mTimeState.elapsed();
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -2246,6 +2296,8 @@ void ADCIntelligentVehicle::on_button_SimCar_en_clicked()
|
|
|
hmi.set_headingup(ui->lineEdit_jamsHead_up->text().toDouble());
|
|
|
hmi.set_headinglow(ui->lineEdit_jamsHead_low->text().toDouble());
|
|
|
hmi.set_carcount(ui->lineEdit_jamsCarNum->text().toInt());
|
|
|
+ hmi.set_speedlow(ui->lineEdit_jamsSpeed_low->text().toDouble());
|
|
|
+ hmi.set_speedup(ui->lineEdit_jamsSpeed_up->text().toDouble());
|
|
|
ShareHMIMsgPro(hmi);
|
|
|
}
|
|
|
|