|
@@ -0,0 +1,1255 @@
|
|
|
+//#include "canrecv_consumer.h"
|
|
|
+
|
|
|
+//#include "math.h"
|
|
|
+
|
|
|
+//extern setupConfig_t setupConfig;
|
|
|
+//extern iv::msgunit shmSonar;
|
|
|
+
|
|
|
+//CANRecv_Consumer::CANRecv_Consumer(CAN_Producer_Consumer *pBuf)
|
|
|
+//{
|
|
|
+// pBuffer = pBuf;
|
|
|
+
|
|
|
+// QObject::connect(this,&CANRecv_Consumer::RadarObjectArray_Ready,this,&CANRecv_Consumer::RadarObjectArray_Ready_Slot);
|
|
|
+
|
|
|
+// iv::radar::radarobject xradarObj;
|
|
|
+// vradarObj.fill(xradarObj,RADAR_OBJ_MAX_NUM);
|
|
|
+// radarObjFreshFlag.fill(false,RADAR_OBJ_MAX_NUM);
|
|
|
+//}
|
|
|
+
|
|
|
+//CANRecv_Consumer::~CANRecv_Consumer()
|
|
|
+//{
|
|
|
+// requestInterruption();
|
|
|
+// while(this->isFinished() == false);
|
|
|
+//}
|
|
|
+
|
|
|
+//void CANRecv_Consumer::Clear_CAN_PrivateTempVariable(void)
|
|
|
+//{
|
|
|
+// CAN_ID = 0x000u;
|
|
|
+// CAN_DLC = 0;
|
|
|
+// for(int i=0;i<8;i++) CAN_data[i] = 0x00;
|
|
|
+//}
|
|
|
+
|
|
|
+//uint32_t CANRecv_Consumer::Trans_From_CANRaw(const iv::can::canraw &xraw) //only for standard data frame, return can id
|
|
|
+//{
|
|
|
+// this->Clear_CAN_PrivateTempVariable();
|
|
|
+// CAN_ID = xraw.id();
|
|
|
+// CAN_DLC = xraw.len();
|
|
|
+// char tempData[8];
|
|
|
+// int tempLen = (xraw.data().size() > 8) ? 8 : xraw.data().size();
|
|
|
+// strncpy(tempData,xraw.data().data(),tempLen);
|
|
|
+// for(int i=0;i<tempLen;i++)
|
|
|
+// {
|
|
|
+// CAN_data[i] = (uint8_t)tempData[i];
|
|
|
+// }
|
|
|
+
|
|
|
+// return CAN_ID;
|
|
|
+//}
|
|
|
+
|
|
|
+//void CANRecv_Consumer::Pack_Info_To_SHM_ch0(uint32_t can_id)
|
|
|
+//{
|
|
|
+// std::string major,minor,patch;
|
|
|
+// iv::radar::radarobject *pobj;
|
|
|
+// iv::radar::radarobject xradarObj_null;
|
|
|
+// double tempDX,tempDY,tempVX,tempVY,tempAX,tempAY,tempOri;
|
|
|
+// uint8_t tempObjID;
|
|
|
+
|
|
|
+// switch (can_id) {
|
|
|
+// case 0x201:
|
|
|
+// persistent_Error = ars408_can_database_ch0_rx.RadarState_ch0.RadarState_Persistent_Error;
|
|
|
+// interference_Error = ars408_can_database_ch0_rx.RadarState_ch0.RadarState_Interference;
|
|
|
+// temperature_Error = ars408_can_database_ch0_rx.RadarState_ch0.RadarState_Temperature_Error;
|
|
|
+// temporary_Error = ars408_can_database_ch0_rx.RadarState_ch0.RadarState_Temporary_Error;
|
|
|
+// voltage_Error = ars408_can_database_ch0_rx.RadarState_ch0.RadarState_Voltage_Error;
|
|
|
+// speed_Loss = ars408_can_database_ch0_rx.RadarState_ch0.RadarState_MotionRxState & 0x01;
|
|
|
+// yaw_Rate_Loss = (ars408_can_database_ch0_rx.RadarState_ch0.RadarState_MotionRxState >> 1) & 0x01;
|
|
|
+// break;
|
|
|
+// case 0x700:
|
|
|
+// major = std::to_string((unsigned int)ars408_can_database_ch0_rx.VersionID_ch0.Version_MajorRelease);
|
|
|
+// minor = std::to_string((unsigned int)ars408_can_database_ch0_rx.VersionID_ch0.Version_MinorRelease);
|
|
|
+// patch = std::to_string((unsigned int)ars408_can_database_ch0_rx.VersionID_ch0.Version_PatchLevel);
|
|
|
+// radar_Version = major + "." + minor + "." + patch;
|
|
|
+// break;
|
|
|
+// case 0x60A:
|
|
|
+// if(ars408_can_database_ch0_rx.Obj_0_Status_ch0.Obj_NofObjects == 0)
|
|
|
+// {
|
|
|
+// xradarObjArray.Clear();
|
|
|
+// xradarObjArray.set_mstime(QDateTime::currentMSecsSinceEpoch());
|
|
|
+// xradarObjArray.set_persistent_error(persistent_Error);
|
|
|
+// xradarObjArray.set_interference_error(interference_Error);
|
|
|
+// xradarObjArray.set_temperature_error(temperature_Error);
|
|
|
+// xradarObjArray.set_temporary_error(temporary_Error);
|
|
|
+// xradarObjArray.set_voltage_error(voltage_Error);
|
|
|
+// xradarObjArray.set_speed_loss(speed_Loss);
|
|
|
+// xradarObjArray.set_yaw_rate_loss(yaw_Rate_Loss);
|
|
|
+// xradarObjArray.set_radar_version(radar_Version);
|
|
|
+
|
|
|
+// radarObjArraySend_lock.lock();
|
|
|
+// radarObjArray_send.CopyFrom(xradarObjArray);
|
|
|
+// radarObjArraySend_lock.unlock();
|
|
|
+// emit RadarObjectArray_Ready();
|
|
|
+// }
|
|
|
+// else
|
|
|
+// {
|
|
|
+// xradarObjArray.Clear();
|
|
|
+// for(int i=0;i<RADAR_OBJ_MAX_NUM;i++)
|
|
|
+// {
|
|
|
+// if(radarObjFreshFlag[i] == true)
|
|
|
+// {
|
|
|
+// pobj = xradarObjArray.add_obj();
|
|
|
+// pobj->CopyFrom(vradarObj[i]);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// xradarObjArray.set_mstime(QDateTime::currentMSecsSinceEpoch());
|
|
|
+// xradarObjArray.set_persistent_error(persistent_Error);
|
|
|
+// xradarObjArray.set_interference_error(interference_Error);
|
|
|
+// xradarObjArray.set_temperature_error(temperature_Error);
|
|
|
+// xradarObjArray.set_temporary_error(temporary_Error);
|
|
|
+// xradarObjArray.set_voltage_error(voltage_Error);
|
|
|
+// xradarObjArray.set_speed_loss(speed_Loss);
|
|
|
+// xradarObjArray.set_yaw_rate_loss(yaw_Rate_Loss);
|
|
|
+// xradarObjArray.set_radar_version(radar_Version);
|
|
|
+
|
|
|
+// radarObjArraySend_lock.lock();
|
|
|
+// radarObjArray_send.CopyFrom(xradarObjArray);
|
|
|
+// radarObjArraySend_lock.unlock();
|
|
|
+//// std::cout<<radarObjArray_send.obj_size()<<std::endl;
|
|
|
+// emit RadarObjectArray_Ready();
|
|
|
+// }
|
|
|
+// //clear the obj vector and flag vector
|
|
|
+// vradarObj.fill(xradarObj_null,RADAR_OBJ_MAX_NUM);
|
|
|
+// radarObjFreshFlag.fill(false,RADAR_OBJ_MAX_NUM);
|
|
|
+// break;
|
|
|
+// case 0x60B:
|
|
|
+// tempObjID = ars408_can_database_ch0_rx.Obj_1_General_ch0.Obj_ID;
|
|
|
+// radarObjFreshFlag[tempObjID] = true;
|
|
|
+// tempDX = -ars408_can_database_ch0_rx.Obj_1_General_ch0.Obj_DistLat_phys;
|
|
|
+// tempDY = ars408_can_database_ch0_rx.Obj_1_General_ch0.Obj_DistLong_phys;
|
|
|
+// this->Rotate_Translate(tempDX,tempDY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_x(tempDX);
|
|
|
+// vradarObj[tempObjID].set_y(tempDY);
|
|
|
+// tempVX = -ars408_can_database_ch0_rx.Obj_1_General_ch0.Obj_VrelLat_phys;
|
|
|
+// tempVY = ars408_can_database_ch0_rx.Obj_1_General_ch0.Obj_VrelLong_phys;
|
|
|
+// this->Rotate_Translate(tempVX,tempVY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_vx(tempVX);
|
|
|
+// vradarObj[tempObjID].set_vy(tempVY);
|
|
|
+// vradarObj[tempObjID].set_vel(sqrt(tempVX*tempVX+tempVY*tempVY));
|
|
|
+// vradarObj[tempObjID].set_bvalid(true);
|
|
|
+// vradarObj[tempObjID].set_id(tempObjID);
|
|
|
+// vradarObj[tempObjID].set_dynamic_property(ars408_can_database_ch0_rx.Obj_1_General_ch0.Obj_DynProp);
|
|
|
+// vradarObj[tempObjID].set_rcs_radarcrosssection(ars408_can_database_ch0_rx.Obj_1_General_ch0.Obj_RCS_phys);
|
|
|
+// break;
|
|
|
+// case 0x60C:
|
|
|
+// tempObjID = ars408_can_database_ch0_rx.Obj_2_Quality_ch0.Obj_ID;
|
|
|
+// vradarObj[tempObjID].set_distlong_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch0_rx.Obj_2_Quality_ch0.Obj_DistLong_rms));
|
|
|
+// vradarObj[tempObjID].set_distlat_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch0_rx.Obj_2_Quality_ch0.Obj_DistLat_rms));
|
|
|
+// vradarObj[tempObjID].set_vrellong_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch0_rx.Obj_2_Quality_ch0.Obj_VrelLong_rms));
|
|
|
+// vradarObj[tempObjID].set_vrellat_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch0_rx.Obj_2_Quality_ch0.Obj_VrelLat_rms));
|
|
|
+// vradarObj[tempObjID].set_object_arellatrms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch0_rx.Obj_2_Quality_ch0.Obj_ArelLat_rms));
|
|
|
+// vradarObj[tempObjID].set_object_arellongrms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch0_rx.Obj_2_Quality_ch0.Obj_ArelLong_rms));
|
|
|
+// vradarObj[tempObjID].set_object_orientationrms(this->Trans_Ori_RMS_Ro_To_Phy(ars408_can_database_ch0_rx.Obj_2_Quality_ch0.Obj_Orientation_rms));
|
|
|
+// vradarObj[tempObjID].set_object_measurestate(ars408_can_database_ch0_rx.Obj_2_Quality_ch0.Obj_MeasState);
|
|
|
+// vradarObj[tempObjID].set_object_probofexist(this->Trans_ProbOfExist_Ro_To_Phy(ars408_can_database_ch0_rx.Obj_2_Quality_ch0.Obj_ProbOfExist));
|
|
|
+// break;
|
|
|
+// case 0x60D:
|
|
|
+// tempObjID = ars408_can_database_ch0_rx.Obj_3_Extended_ch0.Obj_ID;
|
|
|
+// tempAX = -ars408_can_database_ch0_rx.Obj_3_Extended_ch0.Obj_ArelLat_phys;
|
|
|
+// tempAY = ars408_can_database_ch0_rx.Obj_3_Extended_ch0.Obj_ArelLong_phys;
|
|
|
+// this->Rotate_Translate(tempAX,tempAY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_object_arellong(tempAY);
|
|
|
+// vradarObj[tempObjID].set_object_arellat(tempAX);
|
|
|
+// tempOri = ars408_can_database_ch0_rx.Obj_3_Extended_ch0.Obj_OrientationAngle_phys + setupConfig.radarAzimuth;
|
|
|
+// if(tempOri > 180.0)tempOri = tempOri - 360.0;
|
|
|
+// if(tempOri < -180.0)tempOri = tempOri + 360.0;
|
|
|
+// vradarObj[tempObjID].set_object_orientationangle(tempOri);
|
|
|
+// vradarObj[tempObjID].set_object_class(ars408_can_database_ch0_rx.Obj_3_Extended_ch0.Obj_Class);
|
|
|
+// vradarObj[tempObjID].set_object_length(ars408_can_database_ch0_rx.Obj_3_Extended_ch0.Obj_Length_phys);
|
|
|
+// vradarObj[tempObjID].set_object_width(ars408_can_database_ch0_rx.Obj_3_Extended_ch0.Obj_Width_phys);
|
|
|
+// break;
|
|
|
+// default:
|
|
|
+// break;
|
|
|
+// }
|
|
|
+//}
|
|
|
+
|
|
|
+//void CANRecv_Consumer::Pack_Info_To_SHM_ch1(uint32_t can_id)
|
|
|
+//{
|
|
|
+// std::string major,minor,patch;
|
|
|
+// iv::radar::radarobject *pobj;
|
|
|
+// iv::radar::radarobject xradarObj_null;
|
|
|
+// double tempDX,tempDY,tempVX,tempVY,tempAX,tempAY,tempOri;
|
|
|
+// uint8_t tempObjID;
|
|
|
+
|
|
|
+// switch (can_id - 0x010) {
|
|
|
+// case 0x201:
|
|
|
+// persistent_Error = ars408_can_database_ch1_rx.RadarState_ch1.RadarState_Persistent_Error;
|
|
|
+// interference_Error = ars408_can_database_ch1_rx.RadarState_ch1.RadarState_Interference;
|
|
|
+// temperature_Error = ars408_can_database_ch1_rx.RadarState_ch1.RadarState_Temperature_Error;
|
|
|
+// temporary_Error = ars408_can_database_ch1_rx.RadarState_ch1.RadarState_Temporary_Error;
|
|
|
+// voltage_Error = ars408_can_database_ch1_rx.RadarState_ch1.RadarState_Voltage_Error;
|
|
|
+// speed_Loss = ars408_can_database_ch1_rx.RadarState_ch1.RadarState_MotionRxState & 0x01;
|
|
|
+// yaw_Rate_Loss = (ars408_can_database_ch1_rx.RadarState_ch1.RadarState_MotionRxState >> 1) & 0x01;
|
|
|
+// break;
|
|
|
+// case 0x700:
|
|
|
+// major = std::to_string((unsigned int)ars408_can_database_ch1_rx.VersionID_ch1.Version_MajorRelease);
|
|
|
+// minor = std::to_string((unsigned int)ars408_can_database_ch1_rx.VersionID_ch1.Version_MinorRelease);
|
|
|
+// patch = std::to_string((unsigned int)ars408_can_database_ch1_rx.VersionID_ch1.Version_PatchLevel);
|
|
|
+// radar_Version = major + "." + minor + "." + patch;
|
|
|
+// break;
|
|
|
+// case 0x60A:
|
|
|
+// if(ars408_can_database_ch1_rx.Obj_0_Status_ch1.Obj_NofObjects == 0)
|
|
|
+// {
|
|
|
+// xradarObjArray.Clear();
|
|
|
+// xradarObjArray.set_mstime(QDateTime::currentMSecsSinceEpoch());
|
|
|
+// xradarObjArray.set_persistent_error(persistent_Error);
|
|
|
+// xradarObjArray.set_interference_error(interference_Error);
|
|
|
+// xradarObjArray.set_temperature_error(temperature_Error);
|
|
|
+// xradarObjArray.set_temporary_error(temporary_Error);
|
|
|
+// xradarObjArray.set_voltage_error(voltage_Error);
|
|
|
+// xradarObjArray.set_speed_loss(speed_Loss);
|
|
|
+// xradarObjArray.set_yaw_rate_loss(yaw_Rate_Loss);
|
|
|
+// xradarObjArray.set_radar_version(radar_Version);
|
|
|
+
|
|
|
+// radarObjArraySend_lock.lock();
|
|
|
+// radarObjArray_send.CopyFrom(xradarObjArray);
|
|
|
+// radarObjArraySend_lock.unlock();
|
|
|
+// emit RadarObjectArray_Ready();
|
|
|
+// }
|
|
|
+// else
|
|
|
+// {
|
|
|
+// xradarObjArray.Clear();
|
|
|
+// for(int i=0;i<RADAR_OBJ_MAX_NUM;i++)
|
|
|
+// {
|
|
|
+// if(radarObjFreshFlag[i] == true)
|
|
|
+// {
|
|
|
+// pobj = xradarObjArray.add_obj();
|
|
|
+// pobj->CopyFrom(vradarObj[i]);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// xradarObjArray.set_mstime(QDateTime::currentMSecsSinceEpoch());
|
|
|
+// xradarObjArray.set_persistent_error(persistent_Error);
|
|
|
+// xradarObjArray.set_interference_error(interference_Error);
|
|
|
+// xradarObjArray.set_temperature_error(temperature_Error);
|
|
|
+// xradarObjArray.set_temporary_error(temporary_Error);
|
|
|
+// xradarObjArray.set_voltage_error(voltage_Error);
|
|
|
+// xradarObjArray.set_speed_loss(speed_Loss);
|
|
|
+// xradarObjArray.set_yaw_rate_loss(yaw_Rate_Loss);
|
|
|
+// xradarObjArray.set_radar_version(radar_Version);
|
|
|
+
|
|
|
+// radarObjArraySend_lock.lock();
|
|
|
+// radarObjArray_send.CopyFrom(xradarObjArray);
|
|
|
+// radarObjArraySend_lock.unlock();
|
|
|
+//// std::cout<<radarObjArray_send.obj_size()<<std::endl;
|
|
|
+// emit RadarObjectArray_Ready();
|
|
|
+// }
|
|
|
+// //clear the obj vector and flag vector
|
|
|
+// vradarObj.fill(xradarObj_null,RADAR_OBJ_MAX_NUM);
|
|
|
+// radarObjFreshFlag.fill(false,RADAR_OBJ_MAX_NUM);
|
|
|
+// break;
|
|
|
+// case 0x60B:
|
|
|
+// tempObjID = ars408_can_database_ch1_rx.Obj_1_General_ch1.Obj_ID;
|
|
|
+// radarObjFreshFlag[tempObjID] = true;
|
|
|
+// tempDX = -ars408_can_database_ch1_rx.Obj_1_General_ch1.Obj_DistLat_phys;
|
|
|
+// tempDY = ars408_can_database_ch1_rx.Obj_1_General_ch1.Obj_DistLong_phys;
|
|
|
+// this->Rotate_Translate(tempDX,tempDY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_x(tempDX);
|
|
|
+// vradarObj[tempObjID].set_y(tempDY);
|
|
|
+// tempVX = -ars408_can_database_ch1_rx.Obj_1_General_ch1.Obj_VrelLat_phys;
|
|
|
+// tempVY = ars408_can_database_ch1_rx.Obj_1_General_ch1.Obj_VrelLong_phys;
|
|
|
+// this->Rotate_Translate(tempVX,tempVY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_vx(tempVX);
|
|
|
+// vradarObj[tempObjID].set_vy(tempVY);
|
|
|
+// vradarObj[tempObjID].set_vel(sqrt(tempVX*tempVX+tempVY*tempVY));
|
|
|
+// vradarObj[tempObjID].set_bvalid(true);
|
|
|
+// vradarObj[tempObjID].set_id(tempObjID);
|
|
|
+// vradarObj[tempObjID].set_dynamic_property(ars408_can_database_ch1_rx.Obj_1_General_ch1.Obj_DynProp);
|
|
|
+// vradarObj[tempObjID].set_rcs_radarcrosssection(ars408_can_database_ch1_rx.Obj_1_General_ch1.Obj_RCS_phys);
|
|
|
+// break;
|
|
|
+// case 0x60C:
|
|
|
+// tempObjID = ars408_can_database_ch1_rx.Obj_2_Quality_ch1.Obj_ID;
|
|
|
+// vradarObj[tempObjID].set_distlong_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch1_rx.Obj_2_Quality_ch1.Obj_DistLong_rms));
|
|
|
+// vradarObj[tempObjID].set_distlat_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch1_rx.Obj_2_Quality_ch1.Obj_DistLat_rms));
|
|
|
+// vradarObj[tempObjID].set_vrellong_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch1_rx.Obj_2_Quality_ch1.Obj_VrelLong_rms));
|
|
|
+// vradarObj[tempObjID].set_vrellat_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch1_rx.Obj_2_Quality_ch1.Obj_VrelLat_rms));
|
|
|
+// vradarObj[tempObjID].set_object_arellatrms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch1_rx.Obj_2_Quality_ch1.Obj_ArelLat_rms));
|
|
|
+// vradarObj[tempObjID].set_object_arellongrms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch1_rx.Obj_2_Quality_ch1.Obj_ArelLong_rms));
|
|
|
+// vradarObj[tempObjID].set_object_orientationrms(this->Trans_Ori_RMS_Ro_To_Phy(ars408_can_database_ch1_rx.Obj_2_Quality_ch1.Obj_Orientation_rms));
|
|
|
+// vradarObj[tempObjID].set_object_measurestate(ars408_can_database_ch1_rx.Obj_2_Quality_ch1.Obj_MeasState);
|
|
|
+// vradarObj[tempObjID].set_object_probofexist(this->Trans_ProbOfExist_Ro_To_Phy(ars408_can_database_ch1_rx.Obj_2_Quality_ch1.Obj_ProbOfExist));
|
|
|
+// break;
|
|
|
+// case 0x60D:
|
|
|
+// tempObjID = ars408_can_database_ch1_rx.Obj_3_Extended_ch1.Obj_ID;
|
|
|
+// tempAX = -ars408_can_database_ch1_rx.Obj_3_Extended_ch1.Obj_ArelLat_phys;
|
|
|
+// tempAY = ars408_can_database_ch1_rx.Obj_3_Extended_ch1.Obj_ArelLong_phys;
|
|
|
+// this->Rotate_Translate(tempAX,tempAY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_object_arellong(tempAY);
|
|
|
+// vradarObj[tempObjID].set_object_arellat(tempAX);
|
|
|
+// tempOri = ars408_can_database_ch1_rx.Obj_3_Extended_ch1.Obj_OrientationAngle_phys + setupConfig.radarAzimuth;
|
|
|
+// if(tempOri > 180.0)tempOri = tempOri - 360.0;
|
|
|
+// if(tempOri < -180.0)tempOri = tempOri + 360.0;
|
|
|
+// vradarObj[tempObjID].set_object_orientationangle(tempOri);
|
|
|
+// vradarObj[tempObjID].set_object_class(ars408_can_database_ch1_rx.Obj_3_Extended_ch1.Obj_Class);
|
|
|
+// vradarObj[tempObjID].set_object_length(ars408_can_database_ch1_rx.Obj_3_Extended_ch1.Obj_Length_phys);
|
|
|
+// vradarObj[tempObjID].set_object_width(ars408_can_database_ch1_rx.Obj_3_Extended_ch1.Obj_Width_phys);
|
|
|
+// break;
|
|
|
+// default:
|
|
|
+// break;
|
|
|
+// }
|
|
|
+//}
|
|
|
+
|
|
|
+//void CANRecv_Consumer::Pack_Info_To_SHM_ch2(uint32_t can_id)
|
|
|
+//{
|
|
|
+// std::string major,minor,patch;
|
|
|
+// iv::radar::radarobject *pobj;
|
|
|
+// iv::radar::radarobject xradarObj_null;
|
|
|
+// double tempDX,tempDY,tempVX,tempVY,tempAX,tempAY,tempOri;
|
|
|
+// uint8_t tempObjID;
|
|
|
+
|
|
|
+// switch (can_id - 0x020) {
|
|
|
+// case 0x201:
|
|
|
+// persistent_Error = ars408_can_database_ch2_rx.RadarState_ch2.RadarState_Persistent_Error;
|
|
|
+// interference_Error = ars408_can_database_ch2_rx.RadarState_ch2.RadarState_Interference;
|
|
|
+// temperature_Error = ars408_can_database_ch2_rx.RadarState_ch2.RadarState_Temperature_Error;
|
|
|
+// temporary_Error = ars408_can_database_ch2_rx.RadarState_ch2.RadarState_Temporary_Error;
|
|
|
+// voltage_Error = ars408_can_database_ch2_rx.RadarState_ch2.RadarState_Voltage_Error;
|
|
|
+// speed_Loss = ars408_can_database_ch2_rx.RadarState_ch2.RadarState_MotionRxState & 0x01;
|
|
|
+// yaw_Rate_Loss = (ars408_can_database_ch2_rx.RadarState_ch2.RadarState_MotionRxState >> 1) & 0x01;
|
|
|
+// break;
|
|
|
+// case 0x700:
|
|
|
+// major = std::to_string((unsigned int)ars408_can_database_ch2_rx.VersionID_ch2.Version_MajorRelease);
|
|
|
+// minor = std::to_string((unsigned int)ars408_can_database_ch2_rx.VersionID_ch2.Version_MinorRelease);
|
|
|
+// patch = std::to_string((unsigned int)ars408_can_database_ch2_rx.VersionID_ch2.Version_PatchLevel);
|
|
|
+// radar_Version = major + "." + minor + "." + patch;
|
|
|
+// break;
|
|
|
+// case 0x60A:
|
|
|
+// if(ars408_can_database_ch2_rx.Obj_0_Status_ch2.Obj_NofObjects == 0)
|
|
|
+// {
|
|
|
+// xradarObjArray.Clear();
|
|
|
+// xradarObjArray.set_mstime(QDateTime::currentMSecsSinceEpoch());
|
|
|
+// xradarObjArray.set_persistent_error(persistent_Error);
|
|
|
+// xradarObjArray.set_interference_error(interference_Error);
|
|
|
+// xradarObjArray.set_temperature_error(temperature_Error);
|
|
|
+// xradarObjArray.set_temporary_error(temporary_Error);
|
|
|
+// xradarObjArray.set_voltage_error(voltage_Error);
|
|
|
+// xradarObjArray.set_speed_loss(speed_Loss);
|
|
|
+// xradarObjArray.set_yaw_rate_loss(yaw_Rate_Loss);
|
|
|
+// xradarObjArray.set_radar_version(radar_Version);
|
|
|
+
|
|
|
+// radarObjArraySend_lock.lock();
|
|
|
+// radarObjArray_send.CopyFrom(xradarObjArray);
|
|
|
+// radarObjArraySend_lock.unlock();
|
|
|
+// emit RadarObjectArray_Ready();
|
|
|
+// }
|
|
|
+// else
|
|
|
+// {
|
|
|
+// xradarObjArray.Clear();
|
|
|
+// for(int i=0;i<RADAR_OBJ_MAX_NUM;i++)
|
|
|
+// {
|
|
|
+// if(radarObjFreshFlag[i] == true)
|
|
|
+// {
|
|
|
+// pobj = xradarObjArray.add_obj();
|
|
|
+// pobj->CopyFrom(vradarObj[i]);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// xradarObjArray.set_mstime(QDateTime::currentMSecsSinceEpoch());
|
|
|
+// xradarObjArray.set_persistent_error(persistent_Error);
|
|
|
+// xradarObjArray.set_interference_error(interference_Error);
|
|
|
+// xradarObjArray.set_temperature_error(temperature_Error);
|
|
|
+// xradarObjArray.set_temporary_error(temporary_Error);
|
|
|
+// xradarObjArray.set_voltage_error(voltage_Error);
|
|
|
+// xradarObjArray.set_speed_loss(speed_Loss);
|
|
|
+// xradarObjArray.set_yaw_rate_loss(yaw_Rate_Loss);
|
|
|
+// xradarObjArray.set_radar_version(radar_Version);
|
|
|
+
|
|
|
+// radarObjArraySend_lock.lock();
|
|
|
+// radarObjArray_send.CopyFrom(xradarObjArray);
|
|
|
+// radarObjArraySend_lock.unlock();
|
|
|
+//// std::cout<<radarObjArray_send.obj_size()<<std::endl;
|
|
|
+// emit RadarObjectArray_Ready();
|
|
|
+// }
|
|
|
+// //clear the obj vector and flag vector
|
|
|
+// vradarObj.fill(xradarObj_null,RADAR_OBJ_MAX_NUM);
|
|
|
+// radarObjFreshFlag.fill(false,RADAR_OBJ_MAX_NUM);
|
|
|
+// break;
|
|
|
+// case 0x60B:
|
|
|
+// tempObjID = ars408_can_database_ch2_rx.Obj_1_General_ch2.Obj_ID;
|
|
|
+// radarObjFreshFlag[tempObjID] = true;
|
|
|
+// tempDX = -ars408_can_database_ch2_rx.Obj_1_General_ch2.Obj_DistLat_phys;
|
|
|
+// tempDY = ars408_can_database_ch2_rx.Obj_1_General_ch2.Obj_DistLong_phys;
|
|
|
+// this->Rotate_Translate(tempDX,tempDY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_x(tempDX);
|
|
|
+// vradarObj[tempObjID].set_y(tempDY);
|
|
|
+// tempVX = -ars408_can_database_ch2_rx.Obj_1_General_ch2.Obj_VrelLat_phys;
|
|
|
+// tempVY = ars408_can_database_ch2_rx.Obj_1_General_ch2.Obj_VrelLong_phys;
|
|
|
+// this->Rotate_Translate(tempVX,tempVY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_vx(tempVX);
|
|
|
+// vradarObj[tempObjID].set_vy(tempVY);
|
|
|
+// vradarObj[tempObjID].set_vel(sqrt(tempVX*tempVX+tempVY*tempVY));
|
|
|
+// vradarObj[tempObjID].set_bvalid(true);
|
|
|
+// vradarObj[tempObjID].set_id(tempObjID);
|
|
|
+// vradarObj[tempObjID].set_dynamic_property(ars408_can_database_ch2_rx.Obj_1_General_ch2.Obj_DynProp);
|
|
|
+// vradarObj[tempObjID].set_rcs_radarcrosssection(ars408_can_database_ch2_rx.Obj_1_General_ch2.Obj_RCS_phys);
|
|
|
+// break;
|
|
|
+// case 0x60C:
|
|
|
+// tempObjID = ars408_can_database_ch2_rx.Obj_2_Quality_ch2.Obj_ID;
|
|
|
+// vradarObj[tempObjID].set_distlong_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch2_rx.Obj_2_Quality_ch2.Obj_DistLong_rms));
|
|
|
+// vradarObj[tempObjID].set_distlat_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch2_rx.Obj_2_Quality_ch2.Obj_DistLat_rms));
|
|
|
+// vradarObj[tempObjID].set_vrellong_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch2_rx.Obj_2_Quality_ch2.Obj_VrelLong_rms));
|
|
|
+// vradarObj[tempObjID].set_vrellat_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch2_rx.Obj_2_Quality_ch2.Obj_VrelLat_rms));
|
|
|
+// vradarObj[tempObjID].set_object_arellatrms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch2_rx.Obj_2_Quality_ch2.Obj_ArelLat_rms));
|
|
|
+// vradarObj[tempObjID].set_object_arellongrms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch2_rx.Obj_2_Quality_ch2.Obj_ArelLong_rms));
|
|
|
+// vradarObj[tempObjID].set_object_orientationrms(this->Trans_Ori_RMS_Ro_To_Phy(ars408_can_database_ch2_rx.Obj_2_Quality_ch2.Obj_Orientation_rms));
|
|
|
+// vradarObj[tempObjID].set_object_measurestate(ars408_can_database_ch2_rx.Obj_2_Quality_ch2.Obj_MeasState);
|
|
|
+// vradarObj[tempObjID].set_object_probofexist(this->Trans_ProbOfExist_Ro_To_Phy(ars408_can_database_ch2_rx.Obj_2_Quality_ch2.Obj_ProbOfExist));
|
|
|
+// break;
|
|
|
+// case 0x60D:
|
|
|
+// tempObjID = ars408_can_database_ch2_rx.Obj_3_Extended_ch2.Obj_ID;
|
|
|
+// tempAX = -ars408_can_database_ch2_rx.Obj_3_Extended_ch2.Obj_ArelLat_phys;
|
|
|
+// tempAY = ars408_can_database_ch2_rx.Obj_3_Extended_ch2.Obj_ArelLong_phys;
|
|
|
+// this->Rotate_Translate(tempAX,tempAY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_object_arellong(tempAY);
|
|
|
+// vradarObj[tempObjID].set_object_arellat(tempAX);
|
|
|
+// tempOri = ars408_can_database_ch2_rx.Obj_3_Extended_ch2.Obj_OrientationAngle_phys + setupConfig.radarAzimuth;
|
|
|
+// if(tempOri > 180.0)tempOri = tempOri - 360.0;
|
|
|
+// if(tempOri < -180.0)tempOri = tempOri + 360.0;
|
|
|
+// vradarObj[tempObjID].set_object_orientationangle(tempOri);
|
|
|
+// vradarObj[tempObjID].set_object_class(ars408_can_database_ch2_rx.Obj_3_Extended_ch2.Obj_Class);
|
|
|
+// vradarObj[tempObjID].set_object_length(ars408_can_database_ch2_rx.Obj_3_Extended_ch2.Obj_Length_phys);
|
|
|
+// vradarObj[tempObjID].set_object_width(ars408_can_database_ch2_rx.Obj_3_Extended_ch2.Obj_Width_phys);
|
|
|
+// break;
|
|
|
+// default:
|
|
|
+// break;
|
|
|
+// }
|
|
|
+//}
|
|
|
+
|
|
|
+//void CANRecv_Consumer::Pack_Info_To_SHM_ch3(uint32_t can_id)
|
|
|
+//{
|
|
|
+// std::string major,minor,patch;
|
|
|
+// iv::radar::radarobject *pobj;
|
|
|
+// iv::radar::radarobject xradarObj_null;
|
|
|
+// double tempDX,tempDY,tempVX,tempVY,tempAX,tempAY,tempOri;
|
|
|
+// uint8_t tempObjID;
|
|
|
+
|
|
|
+// switch (can_id - 0x030) {
|
|
|
+// case 0x201:
|
|
|
+// persistent_Error = ars408_can_database_ch3_rx.RadarState_ch3.RadarState_Persistent_Error;
|
|
|
+// interference_Error = ars408_can_database_ch3_rx.RadarState_ch3.RadarState_Interference;
|
|
|
+// temperature_Error = ars408_can_database_ch3_rx.RadarState_ch3.RadarState_Temperature_Error;
|
|
|
+// temporary_Error = ars408_can_database_ch3_rx.RadarState_ch3.RadarState_Temporary_Error;
|
|
|
+// voltage_Error = ars408_can_database_ch3_rx.RadarState_ch3.RadarState_Voltage_Error;
|
|
|
+// speed_Loss = ars408_can_database_ch3_rx.RadarState_ch3.RadarState_MotionRxState & 0x01;
|
|
|
+// yaw_Rate_Loss = (ars408_can_database_ch3_rx.RadarState_ch3.RadarState_MotionRxState >> 1) & 0x01;
|
|
|
+// break;
|
|
|
+// case 0x700:
|
|
|
+// major = std::to_string((unsigned int)ars408_can_database_ch3_rx.VersionID_ch3.Version_MajorRelease);
|
|
|
+// minor = std::to_string((unsigned int)ars408_can_database_ch3_rx.VersionID_ch3.Version_MinorRelease);
|
|
|
+// patch = std::to_string((unsigned int)ars408_can_database_ch3_rx.VersionID_ch3.Version_PatchLevel);
|
|
|
+// radar_Version = major + "." + minor + "." + patch;
|
|
|
+// break;
|
|
|
+// case 0x60A:
|
|
|
+// if(ars408_can_database_ch3_rx.Obj_0_Status_ch3.Obj_NofObjects == 0)
|
|
|
+// {
|
|
|
+// xradarObjArray.Clear();
|
|
|
+// xradarObjArray.set_mstime(QDateTime::currentMSecsSinceEpoch());
|
|
|
+// xradarObjArray.set_persistent_error(persistent_Error);
|
|
|
+// xradarObjArray.set_interference_error(interference_Error);
|
|
|
+// xradarObjArray.set_temperature_error(temperature_Error);
|
|
|
+// xradarObjArray.set_temporary_error(temporary_Error);
|
|
|
+// xradarObjArray.set_voltage_error(voltage_Error);
|
|
|
+// xradarObjArray.set_speed_loss(speed_Loss);
|
|
|
+// xradarObjArray.set_yaw_rate_loss(yaw_Rate_Loss);
|
|
|
+// xradarObjArray.set_radar_version(radar_Version);
|
|
|
+
|
|
|
+// radarObjArraySend_lock.lock();
|
|
|
+// radarObjArray_send.CopyFrom(xradarObjArray);
|
|
|
+// radarObjArraySend_lock.unlock();
|
|
|
+// emit RadarObjectArray_Ready();
|
|
|
+// }
|
|
|
+// else
|
|
|
+// {
|
|
|
+// xradarObjArray.Clear();
|
|
|
+// for(int i=0;i<RADAR_OBJ_MAX_NUM;i++)
|
|
|
+// {
|
|
|
+// if(radarObjFreshFlag[i] == true)
|
|
|
+// {
|
|
|
+// pobj = xradarObjArray.add_obj();
|
|
|
+// pobj->CopyFrom(vradarObj[i]);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// xradarObjArray.set_mstime(QDateTime::currentMSecsSinceEpoch());
|
|
|
+// xradarObjArray.set_persistent_error(persistent_Error);
|
|
|
+// xradarObjArray.set_interference_error(interference_Error);
|
|
|
+// xradarObjArray.set_temperature_error(temperature_Error);
|
|
|
+// xradarObjArray.set_temporary_error(temporary_Error);
|
|
|
+// xradarObjArray.set_voltage_error(voltage_Error);
|
|
|
+// xradarObjArray.set_speed_loss(speed_Loss);
|
|
|
+// xradarObjArray.set_yaw_rate_loss(yaw_Rate_Loss);
|
|
|
+// xradarObjArray.set_radar_version(radar_Version);
|
|
|
+
|
|
|
+// radarObjArraySend_lock.lock();
|
|
|
+// radarObjArray_send.CopyFrom(xradarObjArray);
|
|
|
+// radarObjArraySend_lock.unlock();
|
|
|
+//// std::cout<<radarObjArray_send.obj_size()<<std::endl;
|
|
|
+// emit RadarObjectArray_Ready();
|
|
|
+// }
|
|
|
+// //clear the obj vector and flag vector
|
|
|
+// vradarObj.fill(xradarObj_null,RADAR_OBJ_MAX_NUM);
|
|
|
+// radarObjFreshFlag.fill(false,RADAR_OBJ_MAX_NUM);
|
|
|
+// break;
|
|
|
+// case 0x60B:
|
|
|
+// tempObjID = ars408_can_database_ch3_rx.Obj_1_General_ch3.Obj_ID;
|
|
|
+// radarObjFreshFlag[tempObjID] = true;
|
|
|
+// tempDX = -ars408_can_database_ch3_rx.Obj_1_General_ch3.Obj_DistLat_phys;
|
|
|
+// tempDY = ars408_can_database_ch3_rx.Obj_1_General_ch3.Obj_DistLong_phys;
|
|
|
+// this->Rotate_Translate(tempDX,tempDY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_x(tempDX);
|
|
|
+// vradarObj[tempObjID].set_y(tempDY);
|
|
|
+// tempVX = -ars408_can_database_ch3_rx.Obj_1_General_ch3.Obj_VrelLat_phys;
|
|
|
+// tempVY = ars408_can_database_ch3_rx.Obj_1_General_ch3.Obj_VrelLong_phys;
|
|
|
+// this->Rotate_Translate(tempVX,tempVY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_vx(tempVX);
|
|
|
+// vradarObj[tempObjID].set_vy(tempVY);
|
|
|
+// vradarObj[tempObjID].set_vel(sqrt(tempVX*tempVX+tempVY*tempVY));
|
|
|
+// vradarObj[tempObjID].set_bvalid(true);
|
|
|
+// vradarObj[tempObjID].set_id(tempObjID);
|
|
|
+// vradarObj[tempObjID].set_dynamic_property(ars408_can_database_ch3_rx.Obj_1_General_ch3.Obj_DynProp);
|
|
|
+// vradarObj[tempObjID].set_rcs_radarcrosssection(ars408_can_database_ch3_rx.Obj_1_General_ch3.Obj_RCS_phys);
|
|
|
+// break;
|
|
|
+// case 0x60C:
|
|
|
+// tempObjID = ars408_can_database_ch3_rx.Obj_2_Quality_ch3.Obj_ID;
|
|
|
+// vradarObj[tempObjID].set_distlong_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch3_rx.Obj_2_Quality_ch3.Obj_DistLong_rms));
|
|
|
+// vradarObj[tempObjID].set_distlat_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch3_rx.Obj_2_Quality_ch3.Obj_DistLat_rms));
|
|
|
+// vradarObj[tempObjID].set_vrellong_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch3_rx.Obj_2_Quality_ch3.Obj_VrelLong_rms));
|
|
|
+// vradarObj[tempObjID].set_vrellat_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch3_rx.Obj_2_Quality_ch3.Obj_VrelLat_rms));
|
|
|
+// vradarObj[tempObjID].set_object_arellatrms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch3_rx.Obj_2_Quality_ch3.Obj_ArelLat_rms));
|
|
|
+// vradarObj[tempObjID].set_object_arellongrms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch3_rx.Obj_2_Quality_ch3.Obj_ArelLong_rms));
|
|
|
+// vradarObj[tempObjID].set_object_orientationrms(this->Trans_Ori_RMS_Ro_To_Phy(ars408_can_database_ch3_rx.Obj_2_Quality_ch3.Obj_Orientation_rms));
|
|
|
+// vradarObj[tempObjID].set_object_measurestate(ars408_can_database_ch3_rx.Obj_2_Quality_ch3.Obj_MeasState);
|
|
|
+// vradarObj[tempObjID].set_object_probofexist(this->Trans_ProbOfExist_Ro_To_Phy(ars408_can_database_ch3_rx.Obj_2_Quality_ch3.Obj_ProbOfExist));
|
|
|
+// break;
|
|
|
+// case 0x60D:
|
|
|
+// tempObjID = ars408_can_database_ch3_rx.Obj_3_Extended_ch3.Obj_ID;
|
|
|
+// tempAX = -ars408_can_database_ch3_rx.Obj_3_Extended_ch3.Obj_ArelLat_phys;
|
|
|
+// tempAY = ars408_can_database_ch3_rx.Obj_3_Extended_ch3.Obj_ArelLong_phys;
|
|
|
+// this->Rotate_Translate(tempAX,tempAY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_object_arellong(tempAY);
|
|
|
+// vradarObj[tempObjID].set_object_arellat(tempAX);
|
|
|
+// tempOri = ars408_can_database_ch3_rx.Obj_3_Extended_ch3.Obj_OrientationAngle_phys + setupConfig.radarAzimuth;
|
|
|
+// if(tempOri > 180.0)tempOri = tempOri - 360.0;
|
|
|
+// if(tempOri < -180.0)tempOri = tempOri + 360.0;
|
|
|
+// vradarObj[tempObjID].set_object_orientationangle(tempOri);
|
|
|
+// vradarObj[tempObjID].set_object_class(ars408_can_database_ch3_rx.Obj_3_Extended_ch3.Obj_Class);
|
|
|
+// vradarObj[tempObjID].set_object_length(ars408_can_database_ch3_rx.Obj_3_Extended_ch3.Obj_Length_phys);
|
|
|
+// vradarObj[tempObjID].set_object_width(ars408_can_database_ch3_rx.Obj_3_Extended_ch3.Obj_Width_phys);
|
|
|
+// break;
|
|
|
+// default:
|
|
|
+// break;
|
|
|
+// }
|
|
|
+//}
|
|
|
+
|
|
|
+//void CANRecv_Consumer::Pack_Info_To_SHM_ch4(uint32_t can_id)
|
|
|
+//{
|
|
|
+// std::string major,minor,patch;
|
|
|
+// iv::radar::radarobject *pobj;
|
|
|
+// iv::radar::radarobject xradarObj_null;
|
|
|
+// double tempDX,tempDY,tempVX,tempVY,tempAX,tempAY,tempOri;
|
|
|
+// uint8_t tempObjID;
|
|
|
+
|
|
|
+// switch (can_id - 0x040) {
|
|
|
+// case 0x201:
|
|
|
+// persistent_Error = ars408_can_database_ch4_rx.RadarState_ch4.RadarState_Persistent_Error;
|
|
|
+// interference_Error = ars408_can_database_ch4_rx.RadarState_ch4.RadarState_Interference;
|
|
|
+// temperature_Error = ars408_can_database_ch4_rx.RadarState_ch4.RadarState_Temperature_Error;
|
|
|
+// temporary_Error = ars408_can_database_ch4_rx.RadarState_ch4.RadarState_Temporary_Error;
|
|
|
+// voltage_Error = ars408_can_database_ch4_rx.RadarState_ch4.RadarState_Voltage_Error;
|
|
|
+// speed_Loss = ars408_can_database_ch4_rx.RadarState_ch4.RadarState_MotionRxState & 0x01;
|
|
|
+// yaw_Rate_Loss = (ars408_can_database_ch4_rx.RadarState_ch4.RadarState_MotionRxState >> 1) & 0x01;
|
|
|
+// break;
|
|
|
+// case 0x700:
|
|
|
+// major = std::to_string((unsigned int)ars408_can_database_ch4_rx.VersionID_ch4.Version_MajorRelease);
|
|
|
+// minor = std::to_string((unsigned int)ars408_can_database_ch4_rx.VersionID_ch4.Version_MinorRelease);
|
|
|
+// patch = std::to_string((unsigned int)ars408_can_database_ch4_rx.VersionID_ch4.Version_PatchLevel);
|
|
|
+// radar_Version = major + "." + minor + "." + patch;
|
|
|
+// break;
|
|
|
+// case 0x60A:
|
|
|
+// if(ars408_can_database_ch4_rx.Obj_0_Status_ch4.Obj_NofObjects == 0)
|
|
|
+// {
|
|
|
+// xradarObjArray.Clear();
|
|
|
+// xradarObjArray.set_mstime(QDateTime::currentMSecsSinceEpoch());
|
|
|
+// xradarObjArray.set_persistent_error(persistent_Error);
|
|
|
+// xradarObjArray.set_interference_error(interference_Error);
|
|
|
+// xradarObjArray.set_temperature_error(temperature_Error);
|
|
|
+// xradarObjArray.set_temporary_error(temporary_Error);
|
|
|
+// xradarObjArray.set_voltage_error(voltage_Error);
|
|
|
+// xradarObjArray.set_speed_loss(speed_Loss);
|
|
|
+// xradarObjArray.set_yaw_rate_loss(yaw_Rate_Loss);
|
|
|
+// xradarObjArray.set_radar_version(radar_Version);
|
|
|
+
|
|
|
+// radarObjArraySend_lock.lock();
|
|
|
+// radarObjArray_send.CopyFrom(xradarObjArray);
|
|
|
+// radarObjArraySend_lock.unlock();
|
|
|
+// emit RadarObjectArray_Ready();
|
|
|
+// }
|
|
|
+// else
|
|
|
+// {
|
|
|
+// xradarObjArray.Clear();
|
|
|
+// for(int i=0;i<RADAR_OBJ_MAX_NUM;i++)
|
|
|
+// {
|
|
|
+// if(radarObjFreshFlag[i] == true)
|
|
|
+// {
|
|
|
+// pobj = xradarObjArray.add_obj();
|
|
|
+// pobj->CopyFrom(vradarObj[i]);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// xradarObjArray.set_mstime(QDateTime::currentMSecsSinceEpoch());
|
|
|
+// xradarObjArray.set_persistent_error(persistent_Error);
|
|
|
+// xradarObjArray.set_interference_error(interference_Error);
|
|
|
+// xradarObjArray.set_temperature_error(temperature_Error);
|
|
|
+// xradarObjArray.set_temporary_error(temporary_Error);
|
|
|
+// xradarObjArray.set_voltage_error(voltage_Error);
|
|
|
+// xradarObjArray.set_speed_loss(speed_Loss);
|
|
|
+// xradarObjArray.set_yaw_rate_loss(yaw_Rate_Loss);
|
|
|
+// xradarObjArray.set_radar_version(radar_Version);
|
|
|
+
|
|
|
+// radarObjArraySend_lock.lock();
|
|
|
+// radarObjArray_send.CopyFrom(xradarObjArray);
|
|
|
+// radarObjArraySend_lock.unlock();
|
|
|
+//// std::cout<<radarObjArray_send.obj_size()<<std::endl;
|
|
|
+// emit RadarObjectArray_Ready();
|
|
|
+// }
|
|
|
+// //clear the obj vector and flag vector
|
|
|
+// vradarObj.fill(xradarObj_null,RADAR_OBJ_MAX_NUM);
|
|
|
+// radarObjFreshFlag.fill(false,RADAR_OBJ_MAX_NUM);
|
|
|
+// break;
|
|
|
+// case 0x60B:
|
|
|
+// tempObjID = ars408_can_database_ch4_rx.Obj_1_General_ch4.Obj_ID;
|
|
|
+// radarObjFreshFlag[tempObjID] = true;
|
|
|
+// tempDX = -ars408_can_database_ch4_rx.Obj_1_General_ch4.Obj_DistLat_phys;
|
|
|
+// tempDY = ars408_can_database_ch4_rx.Obj_1_General_ch4.Obj_DistLong_phys;
|
|
|
+// this->Rotate_Translate(tempDX,tempDY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_x(tempDX);
|
|
|
+// vradarObj[tempObjID].set_y(tempDY);
|
|
|
+// tempVX = -ars408_can_database_ch4_rx.Obj_1_General_ch4.Obj_VrelLat_phys;
|
|
|
+// tempVY = ars408_can_database_ch4_rx.Obj_1_General_ch4.Obj_VrelLong_phys;
|
|
|
+// this->Rotate_Translate(tempVX,tempVY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_vx(tempVX);
|
|
|
+// vradarObj[tempObjID].set_vy(tempVY);
|
|
|
+// vradarObj[tempObjID].set_vel(sqrt(tempVX*tempVX+tempVY*tempVY));
|
|
|
+// vradarObj[tempObjID].set_bvalid(true);
|
|
|
+// vradarObj[tempObjID].set_id(tempObjID);
|
|
|
+// vradarObj[tempObjID].set_dynamic_property(ars408_can_database_ch4_rx.Obj_1_General_ch4.Obj_DynProp);
|
|
|
+// vradarObj[tempObjID].set_rcs_radarcrosssection(ars408_can_database_ch4_rx.Obj_1_General_ch4.Obj_RCS_phys);
|
|
|
+// break;
|
|
|
+// case 0x60C:
|
|
|
+// tempObjID = ars408_can_database_ch4_rx.Obj_2_Quality_ch4.Obj_ID;
|
|
|
+// vradarObj[tempObjID].set_distlong_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch4_rx.Obj_2_Quality_ch4.Obj_DistLong_rms));
|
|
|
+// vradarObj[tempObjID].set_distlat_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch4_rx.Obj_2_Quality_ch4.Obj_DistLat_rms));
|
|
|
+// vradarObj[tempObjID].set_vrellong_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch4_rx.Obj_2_Quality_ch4.Obj_VrelLong_rms));
|
|
|
+// vradarObj[tempObjID].set_vrellat_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch4_rx.Obj_2_Quality_ch4.Obj_VrelLat_rms));
|
|
|
+// vradarObj[tempObjID].set_object_arellatrms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch4_rx.Obj_2_Quality_ch4.Obj_ArelLat_rms));
|
|
|
+// vradarObj[tempObjID].set_object_arellongrms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch4_rx.Obj_2_Quality_ch4.Obj_ArelLong_rms));
|
|
|
+// vradarObj[tempObjID].set_object_orientationrms(this->Trans_Ori_RMS_Ro_To_Phy(ars408_can_database_ch4_rx.Obj_2_Quality_ch4.Obj_Orientation_rms));
|
|
|
+// vradarObj[tempObjID].set_object_measurestate(ars408_can_database_ch4_rx.Obj_2_Quality_ch4.Obj_MeasState);
|
|
|
+// vradarObj[tempObjID].set_object_probofexist(this->Trans_ProbOfExist_Ro_To_Phy(ars408_can_database_ch4_rx.Obj_2_Quality_ch4.Obj_ProbOfExist));
|
|
|
+// break;
|
|
|
+// case 0x60D:
|
|
|
+// tempObjID = ars408_can_database_ch4_rx.Obj_3_Extended_ch4.Obj_ID;
|
|
|
+// tempAX = -ars408_can_database_ch4_rx.Obj_3_Extended_ch4.Obj_ArelLat_phys;
|
|
|
+// tempAY = ars408_can_database_ch4_rx.Obj_3_Extended_ch4.Obj_ArelLong_phys;
|
|
|
+// this->Rotate_Translate(tempAX,tempAY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_object_arellong(tempAY);
|
|
|
+// vradarObj[tempObjID].set_object_arellat(tempAX);
|
|
|
+// tempOri = ars408_can_database_ch4_rx.Obj_3_Extended_ch4.Obj_OrientationAngle_phys + setupConfig.radarAzimuth;
|
|
|
+// if(tempOri > 180.0)tempOri = tempOri - 360.0;
|
|
|
+// if(tempOri < -180.0)tempOri = tempOri + 360.0;
|
|
|
+// vradarObj[tempObjID].set_object_orientationangle(tempOri);
|
|
|
+// vradarObj[tempObjID].set_object_class(ars408_can_database_ch4_rx.Obj_3_Extended_ch4.Obj_Class);
|
|
|
+// vradarObj[tempObjID].set_object_length(ars408_can_database_ch4_rx.Obj_3_Extended_ch4.Obj_Length_phys);
|
|
|
+// vradarObj[tempObjID].set_object_width(ars408_can_database_ch4_rx.Obj_3_Extended_ch4.Obj_Width_phys);
|
|
|
+// break;
|
|
|
+// default:
|
|
|
+// break;
|
|
|
+// }
|
|
|
+//}
|
|
|
+
|
|
|
+//void CANRecv_Consumer::Pack_Info_To_SHM_ch5(uint32_t can_id)
|
|
|
+//{
|
|
|
+// std::string major,minor,patch;
|
|
|
+// iv::radar::radarobject *pobj;
|
|
|
+// iv::radar::radarobject xradarObj_null;
|
|
|
+// double tempDX,tempDY,tempVX,tempVY,tempAX,tempAY,tempOri;
|
|
|
+// uint8_t tempObjID;
|
|
|
+
|
|
|
+// switch (can_id - 0x050) {
|
|
|
+// case 0x201:
|
|
|
+// persistent_Error = ars408_can_database_ch5_rx.RadarState_ch5.RadarState_Persistent_Error;
|
|
|
+// interference_Error = ars408_can_database_ch5_rx.RadarState_ch5.RadarState_Interference;
|
|
|
+// temperature_Error = ars408_can_database_ch5_rx.RadarState_ch5.RadarState_Temperature_Error;
|
|
|
+// temporary_Error = ars408_can_database_ch5_rx.RadarState_ch5.RadarState_Temporary_Error;
|
|
|
+// voltage_Error = ars408_can_database_ch5_rx.RadarState_ch5.RadarState_Voltage_Error;
|
|
|
+// speed_Loss = ars408_can_database_ch5_rx.RadarState_ch5.RadarState_MotionRxState & 0x01;
|
|
|
+// yaw_Rate_Loss = (ars408_can_database_ch5_rx.RadarState_ch5.RadarState_MotionRxState >> 1) & 0x01;
|
|
|
+// break;
|
|
|
+// case 0x700:
|
|
|
+// major = std::to_string((unsigned int)ars408_can_database_ch5_rx.VersionID_ch5.Version_MajorRelease);
|
|
|
+// minor = std::to_string((unsigned int)ars408_can_database_ch5_rx.VersionID_ch5.Version_MinorRelease);
|
|
|
+// patch = std::to_string((unsigned int)ars408_can_database_ch5_rx.VersionID_ch5.Version_PatchLevel);
|
|
|
+// radar_Version = major + "." + minor + "." + patch;
|
|
|
+// break;
|
|
|
+// case 0x60A:
|
|
|
+// if(ars408_can_database_ch5_rx.Obj_0_Status_ch5.Obj_NofObjects == 0)
|
|
|
+// {
|
|
|
+// xradarObjArray.Clear();
|
|
|
+// xradarObjArray.set_mstime(QDateTime::currentMSecsSinceEpoch());
|
|
|
+// xradarObjArray.set_persistent_error(persistent_Error);
|
|
|
+// xradarObjArray.set_interference_error(interference_Error);
|
|
|
+// xradarObjArray.set_temperature_error(temperature_Error);
|
|
|
+// xradarObjArray.set_temporary_error(temporary_Error);
|
|
|
+// xradarObjArray.set_voltage_error(voltage_Error);
|
|
|
+// xradarObjArray.set_speed_loss(speed_Loss);
|
|
|
+// xradarObjArray.set_yaw_rate_loss(yaw_Rate_Loss);
|
|
|
+// xradarObjArray.set_radar_version(radar_Version);
|
|
|
+
|
|
|
+// radarObjArraySend_lock.lock();
|
|
|
+// radarObjArray_send.CopyFrom(xradarObjArray);
|
|
|
+// radarObjArraySend_lock.unlock();
|
|
|
+// emit RadarObjectArray_Ready();
|
|
|
+// }
|
|
|
+// else
|
|
|
+// {
|
|
|
+// xradarObjArray.Clear();
|
|
|
+// for(int i=0;i<RADAR_OBJ_MAX_NUM;i++)
|
|
|
+// {
|
|
|
+// if(radarObjFreshFlag[i] == true)
|
|
|
+// {
|
|
|
+// pobj = xradarObjArray.add_obj();
|
|
|
+// pobj->CopyFrom(vradarObj[i]);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// xradarObjArray.set_mstime(QDateTime::currentMSecsSinceEpoch());
|
|
|
+// xradarObjArray.set_persistent_error(persistent_Error);
|
|
|
+// xradarObjArray.set_interference_error(interference_Error);
|
|
|
+// xradarObjArray.set_temperature_error(temperature_Error);
|
|
|
+// xradarObjArray.set_temporary_error(temporary_Error);
|
|
|
+// xradarObjArray.set_voltage_error(voltage_Error);
|
|
|
+// xradarObjArray.set_speed_loss(speed_Loss);
|
|
|
+// xradarObjArray.set_yaw_rate_loss(yaw_Rate_Loss);
|
|
|
+// xradarObjArray.set_radar_version(radar_Version);
|
|
|
+
|
|
|
+// radarObjArraySend_lock.lock();
|
|
|
+// radarObjArray_send.CopyFrom(xradarObjArray);
|
|
|
+// radarObjArraySend_lock.unlock();
|
|
|
+//// std::cout<<radarObjArray_send.obj_size()<<std::endl;
|
|
|
+// emit RadarObjectArray_Ready();
|
|
|
+// }
|
|
|
+// //clear the obj vector and flag vector
|
|
|
+// vradarObj.fill(xradarObj_null,RADAR_OBJ_MAX_NUM);
|
|
|
+// radarObjFreshFlag.fill(false,RADAR_OBJ_MAX_NUM);
|
|
|
+// break;
|
|
|
+// case 0x60B:
|
|
|
+// tempObjID = ars408_can_database_ch5_rx.Obj_1_General_ch5.Obj_ID;
|
|
|
+// radarObjFreshFlag[tempObjID] = true;
|
|
|
+// tempDX = -ars408_can_database_ch5_rx.Obj_1_General_ch5.Obj_DistLat_phys;
|
|
|
+// tempDY = ars408_can_database_ch5_rx.Obj_1_General_ch5.Obj_DistLong_phys;
|
|
|
+// this->Rotate_Translate(tempDX,tempDY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_x(tempDX);
|
|
|
+// vradarObj[tempObjID].set_y(tempDY);
|
|
|
+// tempVX = -ars408_can_database_ch5_rx.Obj_1_General_ch5.Obj_VrelLat_phys;
|
|
|
+// tempVY = ars408_can_database_ch5_rx.Obj_1_General_ch5.Obj_VrelLong_phys;
|
|
|
+// this->Rotate_Translate(tempVX,tempVY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_vx(tempVX);
|
|
|
+// vradarObj[tempObjID].set_vy(tempVY);
|
|
|
+// vradarObj[tempObjID].set_vel(sqrt(tempVX*tempVX+tempVY*tempVY));
|
|
|
+// vradarObj[tempObjID].set_bvalid(true);
|
|
|
+// vradarObj[tempObjID].set_id(tempObjID);
|
|
|
+// vradarObj[tempObjID].set_dynamic_property(ars408_can_database_ch5_rx.Obj_1_General_ch5.Obj_DynProp);
|
|
|
+// vradarObj[tempObjID].set_rcs_radarcrosssection(ars408_can_database_ch5_rx.Obj_1_General_ch5.Obj_RCS_phys);
|
|
|
+// break;
|
|
|
+// case 0x60C:
|
|
|
+// tempObjID = ars408_can_database_ch5_rx.Obj_2_Quality_ch5.Obj_ID;
|
|
|
+// vradarObj[tempObjID].set_distlong_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch5_rx.Obj_2_Quality_ch5.Obj_DistLong_rms));
|
|
|
+// vradarObj[tempObjID].set_distlat_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch5_rx.Obj_2_Quality_ch5.Obj_DistLat_rms));
|
|
|
+// vradarObj[tempObjID].set_vrellong_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch5_rx.Obj_2_Quality_ch5.Obj_VrelLong_rms));
|
|
|
+// vradarObj[tempObjID].set_vrellat_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch5_rx.Obj_2_Quality_ch5.Obj_VrelLat_rms));
|
|
|
+// vradarObj[tempObjID].set_object_arellatrms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch5_rx.Obj_2_Quality_ch5.Obj_ArelLat_rms));
|
|
|
+// vradarObj[tempObjID].set_object_arellongrms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch5_rx.Obj_2_Quality_ch5.Obj_ArelLong_rms));
|
|
|
+// vradarObj[tempObjID].set_object_orientationrms(this->Trans_Ori_RMS_Ro_To_Phy(ars408_can_database_ch5_rx.Obj_2_Quality_ch5.Obj_Orientation_rms));
|
|
|
+// vradarObj[tempObjID].set_object_measurestate(ars408_can_database_ch5_rx.Obj_2_Quality_ch5.Obj_MeasState);
|
|
|
+// vradarObj[tempObjID].set_object_probofexist(this->Trans_ProbOfExist_Ro_To_Phy(ars408_can_database_ch5_rx.Obj_2_Quality_ch5.Obj_ProbOfExist));
|
|
|
+// break;
|
|
|
+// case 0x60D:
|
|
|
+// tempObjID = ars408_can_database_ch5_rx.Obj_3_Extended_ch5.Obj_ID;
|
|
|
+// tempAX = -ars408_can_database_ch5_rx.Obj_3_Extended_ch5.Obj_ArelLat_phys;
|
|
|
+// tempAY = ars408_can_database_ch5_rx.Obj_3_Extended_ch5.Obj_ArelLong_phys;
|
|
|
+// this->Rotate_Translate(tempAX,tempAY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_object_arellong(tempAY);
|
|
|
+// vradarObj[tempObjID].set_object_arellat(tempAX);
|
|
|
+// tempOri = ars408_can_database_ch5_rx.Obj_3_Extended_ch5.Obj_OrientationAngle_phys + setupConfig.radarAzimuth;
|
|
|
+// if(tempOri > 180.0)tempOri = tempOri - 360.0;
|
|
|
+// if(tempOri < -180.0)tempOri = tempOri + 360.0;
|
|
|
+// vradarObj[tempObjID].set_object_orientationangle(tempOri);
|
|
|
+// vradarObj[tempObjID].set_object_class(ars408_can_database_ch5_rx.Obj_3_Extended_ch5.Obj_Class);
|
|
|
+// vradarObj[tempObjID].set_object_length(ars408_can_database_ch5_rx.Obj_3_Extended_ch5.Obj_Length_phys);
|
|
|
+// vradarObj[tempObjID].set_object_width(ars408_can_database_ch5_rx.Obj_3_Extended_ch5.Obj_Width_phys);
|
|
|
+// break;
|
|
|
+// default:
|
|
|
+// break;
|
|
|
+// }
|
|
|
+//}
|
|
|
+
|
|
|
+//void CANRecv_Consumer::Pack_Info_To_SHM_ch6(uint32_t can_id)
|
|
|
+//{
|
|
|
+// std::string major,minor,patch;
|
|
|
+// iv::radar::radarobject *pobj;
|
|
|
+// iv::radar::radarobject xradarObj_null;
|
|
|
+// double tempDX,tempDY,tempVX,tempVY,tempAX,tempAY,tempOri;
|
|
|
+// uint8_t tempObjID;
|
|
|
+
|
|
|
+// switch (can_id - 0x060) {
|
|
|
+// case 0x201:
|
|
|
+// persistent_Error = ars408_can_database_ch6_rx.RadarState_ch6.RadarState_Persistent_Error;
|
|
|
+// interference_Error = ars408_can_database_ch6_rx.RadarState_ch6.RadarState_Interference;
|
|
|
+// temperature_Error = ars408_can_database_ch6_rx.RadarState_ch6.RadarState_Temperature_Error;
|
|
|
+// temporary_Error = ars408_can_database_ch6_rx.RadarState_ch6.RadarState_Temporary_Error;
|
|
|
+// voltage_Error = ars408_can_database_ch6_rx.RadarState_ch6.RadarState_Voltage_Error;
|
|
|
+// speed_Loss = ars408_can_database_ch6_rx.RadarState_ch6.RadarState_MotionRxState & 0x01;
|
|
|
+// yaw_Rate_Loss = (ars408_can_database_ch6_rx.RadarState_ch6.RadarState_MotionRxState >> 1) & 0x01;
|
|
|
+// break;
|
|
|
+// case 0x700:
|
|
|
+// major = std::to_string((unsigned int)ars408_can_database_ch6_rx.VersionID_ch6.Version_MajorRelease);
|
|
|
+// minor = std::to_string((unsigned int)ars408_can_database_ch6_rx.VersionID_ch6.Version_MinorRelease);
|
|
|
+// patch = std::to_string((unsigned int)ars408_can_database_ch6_rx.VersionID_ch6.Version_PatchLevel);
|
|
|
+// radar_Version = major + "." + minor + "." + patch;
|
|
|
+// break;
|
|
|
+// case 0x60A:
|
|
|
+// if(ars408_can_database_ch6_rx.Obj_0_Status_ch6.Obj_NofObjects == 0)
|
|
|
+// {
|
|
|
+// xradarObjArray.Clear();
|
|
|
+// xradarObjArray.set_mstime(QDateTime::currentMSecsSinceEpoch());
|
|
|
+// xradarObjArray.set_persistent_error(persistent_Error);
|
|
|
+// xradarObjArray.set_interference_error(interference_Error);
|
|
|
+// xradarObjArray.set_temperature_error(temperature_Error);
|
|
|
+// xradarObjArray.set_temporary_error(temporary_Error);
|
|
|
+// xradarObjArray.set_voltage_error(voltage_Error);
|
|
|
+// xradarObjArray.set_speed_loss(speed_Loss);
|
|
|
+// xradarObjArray.set_yaw_rate_loss(yaw_Rate_Loss);
|
|
|
+// xradarObjArray.set_radar_version(radar_Version);
|
|
|
+
|
|
|
+// radarObjArraySend_lock.lock();
|
|
|
+// radarObjArray_send.CopyFrom(xradarObjArray);
|
|
|
+// radarObjArraySend_lock.unlock();
|
|
|
+// emit RadarObjectArray_Ready();
|
|
|
+// }
|
|
|
+// else
|
|
|
+// {
|
|
|
+// xradarObjArray.Clear();
|
|
|
+// for(int i=0;i<RADAR_OBJ_MAX_NUM;i++)
|
|
|
+// {
|
|
|
+// if(radarObjFreshFlag[i] == true)
|
|
|
+// {
|
|
|
+// pobj = xradarObjArray.add_obj();
|
|
|
+// pobj->CopyFrom(vradarObj[i]);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// xradarObjArray.set_mstime(QDateTime::currentMSecsSinceEpoch());
|
|
|
+// xradarObjArray.set_persistent_error(persistent_Error);
|
|
|
+// xradarObjArray.set_interference_error(interference_Error);
|
|
|
+// xradarObjArray.set_temperature_error(temperature_Error);
|
|
|
+// xradarObjArray.set_temporary_error(temporary_Error);
|
|
|
+// xradarObjArray.set_voltage_error(voltage_Error);
|
|
|
+// xradarObjArray.set_speed_loss(speed_Loss);
|
|
|
+// xradarObjArray.set_yaw_rate_loss(yaw_Rate_Loss);
|
|
|
+// xradarObjArray.set_radar_version(radar_Version);
|
|
|
+
|
|
|
+// radarObjArraySend_lock.lock();
|
|
|
+// radarObjArray_send.CopyFrom(xradarObjArray);
|
|
|
+// radarObjArraySend_lock.unlock();
|
|
|
+//// std::cout<<radarObjArray_send.obj_size()<<std::endl;
|
|
|
+// emit RadarObjectArray_Ready();
|
|
|
+// }
|
|
|
+// //clear the obj vector and flag vector
|
|
|
+// vradarObj.fill(xradarObj_null,RADAR_OBJ_MAX_NUM);
|
|
|
+// radarObjFreshFlag.fill(false,RADAR_OBJ_MAX_NUM);
|
|
|
+// break;
|
|
|
+// case 0x60B:
|
|
|
+// tempObjID = ars408_can_database_ch6_rx.Obj_1_General_ch6.Obj_ID;
|
|
|
+// radarObjFreshFlag[tempObjID] = true;
|
|
|
+// tempDX = -ars408_can_database_ch6_rx.Obj_1_General_ch6.Obj_DistLat_phys;
|
|
|
+// tempDY = ars408_can_database_ch6_rx.Obj_1_General_ch6.Obj_DistLong_phys;
|
|
|
+// this->Rotate_Translate(tempDX,tempDY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_x(tempDX);
|
|
|
+// vradarObj[tempObjID].set_y(tempDY);
|
|
|
+// tempVX = -ars408_can_database_ch6_rx.Obj_1_General_ch6.Obj_VrelLat_phys;
|
|
|
+// tempVY = ars408_can_database_ch6_rx.Obj_1_General_ch6.Obj_VrelLong_phys;
|
|
|
+// this->Rotate_Translate(tempVX,tempVY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_vx(tempVX);
|
|
|
+// vradarObj[tempObjID].set_vy(tempVY);
|
|
|
+// vradarObj[tempObjID].set_vel(sqrt(tempVX*tempVX+tempVY*tempVY));
|
|
|
+// vradarObj[tempObjID].set_bvalid(true);
|
|
|
+// vradarObj[tempObjID].set_id(tempObjID);
|
|
|
+// vradarObj[tempObjID].set_dynamic_property(ars408_can_database_ch6_rx.Obj_1_General_ch6.Obj_DynProp);
|
|
|
+// vradarObj[tempObjID].set_rcs_radarcrosssection(ars408_can_database_ch6_rx.Obj_1_General_ch6.Obj_RCS_phys);
|
|
|
+// break;
|
|
|
+// case 0x60C:
|
|
|
+// tempObjID = ars408_can_database_ch6_rx.Obj_2_Quality_ch6.Obj_ID;
|
|
|
+// vradarObj[tempObjID].set_distlong_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch6_rx.Obj_2_Quality_ch6.Obj_DistLong_rms));
|
|
|
+// vradarObj[tempObjID].set_distlat_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch6_rx.Obj_2_Quality_ch6.Obj_DistLat_rms));
|
|
|
+// vradarObj[tempObjID].set_vrellong_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch6_rx.Obj_2_Quality_ch6.Obj_VrelLong_rms));
|
|
|
+// vradarObj[tempObjID].set_vrellat_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch6_rx.Obj_2_Quality_ch6.Obj_VrelLat_rms));
|
|
|
+// vradarObj[tempObjID].set_object_arellatrms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch6_rx.Obj_2_Quality_ch6.Obj_ArelLat_rms));
|
|
|
+// vradarObj[tempObjID].set_object_arellongrms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch6_rx.Obj_2_Quality_ch6.Obj_ArelLong_rms));
|
|
|
+// vradarObj[tempObjID].set_object_orientationrms(this->Trans_Ori_RMS_Ro_To_Phy(ars408_can_database_ch6_rx.Obj_2_Quality_ch6.Obj_Orientation_rms));
|
|
|
+// vradarObj[tempObjID].set_object_measurestate(ars408_can_database_ch6_rx.Obj_2_Quality_ch6.Obj_MeasState);
|
|
|
+// vradarObj[tempObjID].set_object_probofexist(this->Trans_ProbOfExist_Ro_To_Phy(ars408_can_database_ch6_rx.Obj_2_Quality_ch6.Obj_ProbOfExist));
|
|
|
+// break;
|
|
|
+// case 0x60D:
|
|
|
+// tempObjID = ars408_can_database_ch6_rx.Obj_3_Extended_ch6.Obj_ID;
|
|
|
+// tempAX = -ars408_can_database_ch6_rx.Obj_3_Extended_ch6.Obj_ArelLat_phys;
|
|
|
+// tempAY = ars408_can_database_ch6_rx.Obj_3_Extended_ch6.Obj_ArelLong_phys;
|
|
|
+// this->Rotate_Translate(tempAX,tempAY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_object_arellong(tempAY);
|
|
|
+// vradarObj[tempObjID].set_object_arellat(tempAX);
|
|
|
+// tempOri = ars408_can_database_ch6_rx.Obj_3_Extended_ch6.Obj_OrientationAngle_phys + setupConfig.radarAzimuth;
|
|
|
+// if(tempOri > 180.0)tempOri = tempOri - 360.0;
|
|
|
+// if(tempOri < -180.0)tempOri = tempOri + 360.0;
|
|
|
+// vradarObj[tempObjID].set_object_orientationangle(tempOri);
|
|
|
+// vradarObj[tempObjID].set_object_class(ars408_can_database_ch6_rx.Obj_3_Extended_ch6.Obj_Class);
|
|
|
+// vradarObj[tempObjID].set_object_length(ars408_can_database_ch6_rx.Obj_3_Extended_ch6.Obj_Length_phys);
|
|
|
+// vradarObj[tempObjID].set_object_width(ars408_can_database_ch6_rx.Obj_3_Extended_ch6.Obj_Width_phys);
|
|
|
+// break;
|
|
|
+// default:
|
|
|
+// break;
|
|
|
+// }
|
|
|
+//}
|
|
|
+
|
|
|
+//void CANRecv_Consumer::Pack_Info_To_SHM_ch7(uint32_t can_id)
|
|
|
+//{
|
|
|
+// std::string major,minor,patch;
|
|
|
+// iv::radar::radarobject *pobj;
|
|
|
+// iv::radar::radarobject xradarObj_null;
|
|
|
+// double tempDX,tempDY,tempVX,tempVY,tempAX,tempAY,tempOri;
|
|
|
+// uint8_t tempObjID;
|
|
|
+
|
|
|
+// switch (can_id - 0x070) {
|
|
|
+// case 0x201:
|
|
|
+// persistent_Error = ars408_can_database_ch7_rx.RadarState_ch7.RadarState_Persistent_Error;
|
|
|
+// interference_Error = ars408_can_database_ch7_rx.RadarState_ch7.RadarState_Interference;
|
|
|
+// temperature_Error = ars408_can_database_ch7_rx.RadarState_ch7.RadarState_Temperature_Error;
|
|
|
+// temporary_Error = ars408_can_database_ch7_rx.RadarState_ch7.RadarState_Temporary_Error;
|
|
|
+// voltage_Error = ars408_can_database_ch7_rx.RadarState_ch7.RadarState_Voltage_Error;
|
|
|
+// speed_Loss = ars408_can_database_ch7_rx.RadarState_ch7.RadarState_MotionRxState & 0x01;
|
|
|
+// yaw_Rate_Loss = (ars408_can_database_ch7_rx.RadarState_ch7.RadarState_MotionRxState >> 1) & 0x01;
|
|
|
+// break;
|
|
|
+// case 0x700:
|
|
|
+// major = std::to_string((unsigned int)ars408_can_database_ch7_rx.VersionID_ch7.Version_MajorRelease);
|
|
|
+// minor = std::to_string((unsigned int)ars408_can_database_ch7_rx.VersionID_ch7.Version_MinorRelease);
|
|
|
+// patch = std::to_string((unsigned int)ars408_can_database_ch7_rx.VersionID_ch7.Version_PatchLevel);
|
|
|
+// radar_Version = major + "." + minor + "." + patch;
|
|
|
+// break;
|
|
|
+// case 0x60A:
|
|
|
+// if(ars408_can_database_ch7_rx.Obj_0_Status_ch7.Obj_NofObjects == 0)
|
|
|
+// {
|
|
|
+// xradarObjArray.Clear();
|
|
|
+// xradarObjArray.set_mstime(QDateTime::currentMSecsSinceEpoch());
|
|
|
+// xradarObjArray.set_persistent_error(persistent_Error);
|
|
|
+// xradarObjArray.set_interference_error(interference_Error);
|
|
|
+// xradarObjArray.set_temperature_error(temperature_Error);
|
|
|
+// xradarObjArray.set_temporary_error(temporary_Error);
|
|
|
+// xradarObjArray.set_voltage_error(voltage_Error);
|
|
|
+// xradarObjArray.set_speed_loss(speed_Loss);
|
|
|
+// xradarObjArray.set_yaw_rate_loss(yaw_Rate_Loss);
|
|
|
+// xradarObjArray.set_radar_version(radar_Version);
|
|
|
+
|
|
|
+// radarObjArraySend_lock.lock();
|
|
|
+// radarObjArray_send.CopyFrom(xradarObjArray);
|
|
|
+// radarObjArraySend_lock.unlock();
|
|
|
+// emit RadarObjectArray_Ready();
|
|
|
+// }
|
|
|
+// else
|
|
|
+// {
|
|
|
+// xradarObjArray.Clear();
|
|
|
+// for(int i=0;i<RADAR_OBJ_MAX_NUM;i++)
|
|
|
+// {
|
|
|
+// if(radarObjFreshFlag[i] == true)
|
|
|
+// {
|
|
|
+// pobj = xradarObjArray.add_obj();
|
|
|
+// pobj->CopyFrom(vradarObj[i]);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// xradarObjArray.set_mstime(QDateTime::currentMSecsSinceEpoch());
|
|
|
+// xradarObjArray.set_persistent_error(persistent_Error);
|
|
|
+// xradarObjArray.set_interference_error(interference_Error);
|
|
|
+// xradarObjArray.set_temperature_error(temperature_Error);
|
|
|
+// xradarObjArray.set_temporary_error(temporary_Error);
|
|
|
+// xradarObjArray.set_voltage_error(voltage_Error);
|
|
|
+// xradarObjArray.set_speed_loss(speed_Loss);
|
|
|
+// xradarObjArray.set_yaw_rate_loss(yaw_Rate_Loss);
|
|
|
+// xradarObjArray.set_radar_version(radar_Version);
|
|
|
+
|
|
|
+// radarObjArraySend_lock.lock();
|
|
|
+// radarObjArray_send.CopyFrom(xradarObjArray);
|
|
|
+// radarObjArraySend_lock.unlock();
|
|
|
+//// std::cout<<radarObjArray_send.obj_size()<<std::endl;
|
|
|
+// emit RadarObjectArray_Ready();
|
|
|
+// }
|
|
|
+// //clear the obj vector and flag vector
|
|
|
+// vradarObj.fill(xradarObj_null,RADAR_OBJ_MAX_NUM);
|
|
|
+// radarObjFreshFlag.fill(false,RADAR_OBJ_MAX_NUM);
|
|
|
+// break;
|
|
|
+// case 0x60B:
|
|
|
+// tempObjID = ars408_can_database_ch7_rx.Obj_1_General_ch7.Obj_ID;
|
|
|
+// radarObjFreshFlag[tempObjID] = true;
|
|
|
+// tempDX = -ars408_can_database_ch7_rx.Obj_1_General_ch7.Obj_DistLat_phys;
|
|
|
+// tempDY = ars408_can_database_ch7_rx.Obj_1_General_ch7.Obj_DistLong_phys;
|
|
|
+// this->Rotate_Translate(tempDX,tempDY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_x(tempDX);
|
|
|
+// vradarObj[tempObjID].set_y(tempDY);
|
|
|
+// tempVX = -ars408_can_database_ch7_rx.Obj_1_General_ch7.Obj_VrelLat_phys;
|
|
|
+// tempVY = ars408_can_database_ch7_rx.Obj_1_General_ch7.Obj_VrelLong_phys;
|
|
|
+// this->Rotate_Translate(tempVX,tempVY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_vx(tempVX);
|
|
|
+// vradarObj[tempObjID].set_vy(tempVY);
|
|
|
+// vradarObj[tempObjID].set_vel(sqrt(tempVX*tempVX+tempVY*tempVY));
|
|
|
+// vradarObj[tempObjID].set_bvalid(true);
|
|
|
+// vradarObj[tempObjID].set_id(tempObjID);
|
|
|
+// vradarObj[tempObjID].set_dynamic_property(ars408_can_database_ch7_rx.Obj_1_General_ch7.Obj_DynProp);
|
|
|
+// vradarObj[tempObjID].set_rcs_radarcrosssection(ars408_can_database_ch7_rx.Obj_1_General_ch7.Obj_RCS_phys);
|
|
|
+// break;
|
|
|
+// case 0x60C:
|
|
|
+// tempObjID = ars408_can_database_ch7_rx.Obj_2_Quality_ch7.Obj_ID;
|
|
|
+// vradarObj[tempObjID].set_distlong_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch7_rx.Obj_2_Quality_ch7.Obj_DistLong_rms));
|
|
|
+// vradarObj[tempObjID].set_distlat_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch7_rx.Obj_2_Quality_ch7.Obj_DistLat_rms));
|
|
|
+// vradarObj[tempObjID].set_vrellong_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch7_rx.Obj_2_Quality_ch7.Obj_VrelLong_rms));
|
|
|
+// vradarObj[tempObjID].set_vrellat_rms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch7_rx.Obj_2_Quality_ch7.Obj_VrelLat_rms));
|
|
|
+// vradarObj[tempObjID].set_object_arellatrms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch7_rx.Obj_2_Quality_ch7.Obj_ArelLat_rms));
|
|
|
+// vradarObj[tempObjID].set_object_arellongrms(this->Trans_DVA_RMS_Ro_To_Phy(ars408_can_database_ch7_rx.Obj_2_Quality_ch7.Obj_ArelLong_rms));
|
|
|
+// vradarObj[tempObjID].set_object_orientationrms(this->Trans_Ori_RMS_Ro_To_Phy(ars408_can_database_ch7_rx.Obj_2_Quality_ch7.Obj_Orientation_rms));
|
|
|
+// vradarObj[tempObjID].set_object_measurestate(ars408_can_database_ch7_rx.Obj_2_Quality_ch7.Obj_MeasState);
|
|
|
+// vradarObj[tempObjID].set_object_probofexist(this->Trans_ProbOfExist_Ro_To_Phy(ars408_can_database_ch7_rx.Obj_2_Quality_ch7.Obj_ProbOfExist));
|
|
|
+// break;
|
|
|
+// case 0x60D:
|
|
|
+// tempObjID = ars408_can_database_ch7_rx.Obj_3_Extended_ch7.Obj_ID;
|
|
|
+// tempAX = -ars408_can_database_ch7_rx.Obj_3_Extended_ch7.Obj_ArelLat_phys;
|
|
|
+// tempAY = ars408_can_database_ch7_rx.Obj_3_Extended_ch7.Obj_ArelLong_phys;
|
|
|
+// this->Rotate_Translate(tempAX,tempAY,setupConfig.radarAzimuth,setupConfig.radarOffsetX,setupConfig.radarOffsetY);
|
|
|
+// vradarObj[tempObjID].set_object_arellong(tempAY);
|
|
|
+// vradarObj[tempObjID].set_object_arellat(tempAX);
|
|
|
+// tempOri = ars408_can_database_ch7_rx.Obj_3_Extended_ch7.Obj_OrientationAngle_phys + setupConfig.radarAzimuth;
|
|
|
+// if(tempOri > 180.0)tempOri = tempOri - 360.0;
|
|
|
+// if(tempOri < -180.0)tempOri = tempOri + 360.0;
|
|
|
+// vradarObj[tempObjID].set_object_orientationangle(tempOri);
|
|
|
+// vradarObj[tempObjID].set_object_class(ars408_can_database_ch7_rx.Obj_3_Extended_ch7.Obj_Class);
|
|
|
+// vradarObj[tempObjID].set_object_length(ars408_can_database_ch7_rx.Obj_3_Extended_ch7.Obj_Length_phys);
|
|
|
+// vradarObj[tempObjID].set_object_width(ars408_can_database_ch7_rx.Obj_3_Extended_ch7.Obj_Width_phys);
|
|
|
+// break;
|
|
|
+// default:
|
|
|
+// break;
|
|
|
+// }
|
|
|
+//}
|
|
|
+
|
|
|
+//double CANRecv_Consumer::Trans_DVA_RMS_Ro_To_Phy(uint8_t data)
|
|
|
+//{
|
|
|
+// double phy;
|
|
|
+// switch (data) {
|
|
|
+// case 0x0: phy = 0.005;break;
|
|
|
+// case 0x1: phy = 0.006;break;
|
|
|
+// case 0x2: phy = 0.008;break;
|
|
|
+// case 0x3: phy = 0.011;break;
|
|
|
+// case 0x4: phy = 0.014;break;
|
|
|
+// case 0x5: phy = 0.018;break;
|
|
|
+// case 0x6: phy = 0.023;break;
|
|
|
+// case 0x7: phy = 0.029;break;
|
|
|
+// case 0x8: phy = 0.038;break;
|
|
|
+// case 0x9: phy = 0.049;break;
|
|
|
+// case 0xA: phy = 0.063;break;
|
|
|
+// case 0xB: phy = 0.081;break;
|
|
|
+// case 0xC: phy = 0.105;break;
|
|
|
+// case 0xD: phy = 0.135;break;
|
|
|
+// case 0xE: phy = 0.174;break;
|
|
|
+// case 0xF: phy = 0.224;break;
|
|
|
+// case 0x10: phy = 0.288;break;
|
|
|
+// case 0x11: phy = 0.371;break;
|
|
|
+// case 0x12: phy = 0.478;break;
|
|
|
+// case 0x13: phy = 0.616;break;
|
|
|
+// case 0x14: phy = 0.794;break;
|
|
|
+// case 0x15: phy = 1.023;break;
|
|
|
+// case 0x16: phy = 1.317;break;
|
|
|
+// case 0x17: phy = 1.697;break;
|
|
|
+// case 0x18: phy = 2.187;break;
|
|
|
+// case 0x19: phy = 2.817;break;
|
|
|
+// case 0x1A: phy = 3.630;break;
|
|
|
+// case 0x1B: phy = 4.676;break;
|
|
|
+// case 0x1C: phy = 6.025;break;
|
|
|
+// case 0x1D: phy = 7.762;break;
|
|
|
+// case 0x1E: phy = 10.000;break;
|
|
|
+// case 0x1F: phy = -1.0;break;
|
|
|
+// default:
|
|
|
+// phy = -1.0;
|
|
|
+// break;
|
|
|
+// }
|
|
|
+
|
|
|
+// return phy;
|
|
|
+//}
|
|
|
+
|
|
|
+//double CANRecv_Consumer::Trans_Ori_RMS_Ro_To_Phy(uint8_t data)
|
|
|
+//{
|
|
|
+// double phy;
|
|
|
+// switch (data) {
|
|
|
+// case 0x0: phy = 0.005;break;
|
|
|
+// case 0x1: phy = 0.007;break;
|
|
|
+// case 0x2: phy = 0.010;break;
|
|
|
+// case 0x3: phy = 0.014;break;
|
|
|
+// case 0x4: phy = 0.020;break;
|
|
|
+// case 0x5: phy = 0.029;break;
|
|
|
+// case 0x6: phy = 0.041;break;
|
|
|
+// case 0x7: phy = 0.058;break;
|
|
|
+// case 0x8: phy = 0.082;break;
|
|
|
+// case 0x9: phy = 0.116;break;
|
|
|
+// case 0xA: phy = 0.165;break;
|
|
|
+// case 0xB: phy = 0.234;break;
|
|
|
+// case 0xC: phy = 0.332;break;
|
|
|
+// case 0xD: phy = 0.471;break;
|
|
|
+// case 0xE: phy = 0.669;break;
|
|
|
+// case 0xF: phy = 0.949;break;
|
|
|
+// case 0x10: phy = 1.346;break;
|
|
|
+// case 0x11: phy = 1.909;break;
|
|
|
+// case 0x12: phy = 2.709;break;
|
|
|
+// case 0x13: phy = 3.843;break;
|
|
|
+// case 0x14: phy = 5.451;break;
|
|
|
+// case 0x15: phy = 7.734;break;
|
|
|
+// case 0x16: phy = 10.971;break;
|
|
|
+// case 0x17: phy = 15.565;break;
|
|
|
+// case 0x18: phy = 22.081;break;
|
|
|
+// case 0x19: phy = 31.325;break;
|
|
|
+// case 0x1A: phy = 44.439;break;
|
|
|
+// case 0x1B: phy = 63.044;break;
|
|
|
+// case 0x1C: phy = 89.437;break;
|
|
|
+// case 0x1D: phy = 126.881;break;
|
|
|
+// case 0x1E: phy = 180.000;break;
|
|
|
+// case 0x1F: phy = -1.0;break;
|
|
|
+// default:
|
|
|
+// phy = -1.0;
|
|
|
+// break;
|
|
|
+// }
|
|
|
+
|
|
|
+// return phy;
|
|
|
+//}
|
|
|
+
|
|
|
+//double CANRecv_Consumer::Trans_ProbOfExist_Ro_To_Phy(uint8_t data)
|
|
|
+//{
|
|
|
+// double phy;
|
|
|
+// switch (data) {
|
|
|
+// case 0x0:
|
|
|
+// phy = -1.0;
|
|
|
+// break;
|
|
|
+// case 0x1:
|
|
|
+// phy = 25.0;
|
|
|
+// break;
|
|
|
+// case 0x2:
|
|
|
+// phy = 50.0;
|
|
|
+// break;
|
|
|
+// case 0x3:
|
|
|
+// phy = 75.0;
|
|
|
+// break;
|
|
|
+// case 0x4:
|
|
|
+// phy = 90.0;
|
|
|
+// break;
|
|
|
+// case 0x5:
|
|
|
+// phy = 99.0;
|
|
|
+// break;
|
|
|
+// case 0x6:
|
|
|
+// phy = 99.9;
|
|
|
+// break;
|
|
|
+// case 0x7:
|
|
|
+// phy = 100.0;
|
|
|
+// break;
|
|
|
+// default:
|
|
|
+// phy = 0.0;
|
|
|
+// break;
|
|
|
+// }
|
|
|
+
|
|
|
+// return phy;
|
|
|
+//}
|
|
|
+
|
|
|
+//void CANRecv_Consumer::Rotate_Translate(double &x,double &y,double theta,double offset_x,double offset_y) //RFU,deg
|
|
|
+//{
|
|
|
+// double tempX = x;
|
|
|
+// double tempY = y;
|
|
|
+// double tempTheta = theta / 180.0 * M_PI;
|
|
|
+// double tempSinTheta = sin(tempTheta);
|
|
|
+// double tempCosTheta = cos(tempTheta);
|
|
|
+
|
|
|
+// x = (tempX * tempCosTheta + tempY * tempSinTheta) + offset_x;
|
|
|
+// y = (tempY * tempCosTheta - tempX * tempSinTheta) + offset_y;
|
|
|
+//}
|
|
|
+
|
|
|
+//void CANRecv_Consumer::run()
|
|
|
+//{
|
|
|
+// radarType = setupConfig.radarType;
|
|
|
+
|
|
|
+// uint32_t tempCANID = 0x000u;
|
|
|
+
|
|
|
+// while (!QThread::isInterruptionRequested())
|
|
|
+// {
|
|
|
+// switch (setupConfig.radarID) {
|
|
|
+// case 0:
|
|
|
+// this->Trans_From_CANRaw(pBuffer->Consume_Element());
|
|
|
+// tempCANID = ars408_can_database_ch0_Receive(&ars408_can_database_ch0_rx,CAN_data,CAN_ID,CAN_DLC);
|
|
|
+// Pack_Info_To_SHM_ch0(tempCANID);
|
|
|
+// break;
|
|
|
+// case 1:
|
|
|
+// this->Trans_From_CANRaw(pBuffer->Consume_Element());
|
|
|
+// tempCANID = ars408_can_database_ch1_Receive(&ars408_can_database_ch1_rx,CAN_data,CAN_ID,CAN_DLC);
|
|
|
+// Pack_Info_To_SHM_ch1(tempCANID);
|
|
|
+// break;
|
|
|
+// case 2:
|
|
|
+// this->Trans_From_CANRaw(pBuffer->Consume_Element());
|
|
|
+// tempCANID = ars408_can_database_ch2_Receive(&ars408_can_database_ch2_rx,CAN_data,CAN_ID,CAN_DLC);
|
|
|
+// Pack_Info_To_SHM_ch2(tempCANID);
|
|
|
+// break;
|
|
|
+// case 3:
|
|
|
+// this->Trans_From_CANRaw(pBuffer->Consume_Element());
|
|
|
+// tempCANID = ars408_can_database_ch3_Receive(&ars408_can_database_ch3_rx,CAN_data,CAN_ID,CAN_DLC);
|
|
|
+// Pack_Info_To_SHM_ch3(tempCANID);
|
|
|
+// break;
|
|
|
+// case 4:
|
|
|
+// this->Trans_From_CANRaw(pBuffer->Consume_Element());
|
|
|
+// tempCANID = ars408_can_database_ch4_Receive(&ars408_can_database_ch4_rx,CAN_data,CAN_ID,CAN_DLC);
|
|
|
+// Pack_Info_To_SHM_ch4(tempCANID);
|
|
|
+// break;
|
|
|
+// case 5:
|
|
|
+// this->Trans_From_CANRaw(pBuffer->Consume_Element());
|
|
|
+// tempCANID = ars408_can_database_ch5_Receive(&ars408_can_database_ch5_rx,CAN_data,CAN_ID,CAN_DLC);
|
|
|
+// Pack_Info_To_SHM_ch5(tempCANID);
|
|
|
+// break;
|
|
|
+// case 6:
|
|
|
+// this->Trans_From_CANRaw(pBuffer->Consume_Element());
|
|
|
+// tempCANID = ars408_can_database_ch6_Receive(&ars408_can_database_ch6_rx,CAN_data,CAN_ID,CAN_DLC);
|
|
|
+// Pack_Info_To_SHM_ch6(tempCANID);
|
|
|
+// break;
|
|
|
+// case 7:
|
|
|
+// this->Trans_From_CANRaw(pBuffer->Consume_Element());
|
|
|
+// tempCANID = ars408_can_database_ch7_Receive(&ars408_can_database_ch7_rx,CAN_data,CAN_ID,CAN_DLC);
|
|
|
+// Pack_Info_To_SHM_ch7(tempCANID);
|
|
|
+// break;
|
|
|
+// default:
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// }
|
|
|
+//}
|
|
|
+
|
|
|
+//void CANRecv_Consumer::RadarObjectArray_Ready_Slot()
|
|
|
+//{
|
|
|
+// radarObjArraySend_lock.lock();
|
|
|
+// int ndatasize = radarObjArray_send.ByteSize();
|
|
|
+// char * strser = new char[ndatasize];
|
|
|
+// std::shared_ptr<char> pstrser;
|
|
|
+// pstrser.reset(strser);
|
|
|
+// if(radarObjArray_send.SerializePartialToArray(strser,ndatasize))
|
|
|
+// {
|
|
|
+// iv::modulecomm::ModuleSendMsg(shmSonar.mpa,strser,ndatasize);
|
|
|
+// }
|
|
|
+// else
|
|
|
+// {
|
|
|
+// std::cout<<"RadarObjectArray serialize error."<<std::endl;
|
|
|
+// }
|
|
|
+// radarObjArraySend_lock.unlock();
|
|
|
+//}
|