|
@@ -365,6 +365,8 @@ void ars548pac::DecodeDetect()
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
+ mpactype = ars548pactype::TypeDectect;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
void ars548pac::DecodeObj()
|
|
@@ -465,7 +467,177 @@ void ars548pac::DecodeObj()
|
|
|
unsigned char u_Shape_Width_Edge_InvalidFlags;SetMotoData(ppayload,nPos2,(char *)&u_Shape_Width_Edge_InvalidFlags,1);nPos2 = nPos2 + 1;
|
|
|
float u_Shape_Width_Edge_Mean;SetMotoData(ppayload,nPos2,(char *)&u_Shape_Width_Edge_Mean,4);nPos2 = nPos2 + 4;
|
|
|
float u_Shape_Width_Edge_STD;SetMotoData(ppayload,nPos2,(char *)&u_Shape_Width_Edge_STD,4);nPos2 = nPos2 + 4;
|
|
|
+
|
|
|
+ iv::radar::radar4dobject xobj;
|
|
|
+ xobj.set_u_statussensor(u_StatusSensor);
|
|
|
+ xobj.set_u_id(u_ID);
|
|
|
+ xobj.set_u_age(u_Age);
|
|
|
+ switch(u_StatusMeasurement)
|
|
|
+ {
|
|
|
+ case 0:
|
|
|
+ xobj.set_u_statusmeasurement(iv::radar::radar4dobject::MeasurementMeasured);
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ xobj.set_u_statusmeasurement(iv::radar::radar4dobject::MeasurementNew);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ xobj.set_u_statusmeasurement(iv::radar::radar4dobject::MeasurementPredicted);
|
|
|
+ break;
|
|
|
+ case 255:
|
|
|
+ xobj.set_u_statusmeasurement(iv::radar::radar4dobject::MeasurementInvalid);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ std::cout<<" u_StatusMeasurement have error value: "<<u_StatusMeasurement<<std::endl;
|
|
|
+ xobj.set_u_statusmeasurement(iv::radar::radar4dobject::MeasurementInvalid);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ switch (u_StatusMovement) {
|
|
|
+ case 0:
|
|
|
+ xobj.set_u_statusmovement(iv::radar::radar4dobject::MovementMoved);
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ xobj.set_u_statusmovement(iv::radar::radar4dobject::MovementStationary);
|
|
|
+ break;
|
|
|
+ case 255:
|
|
|
+ xobj.set_u_statusmovement(iv::radar::radar4dobject::MovementInvalid);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ std::cout<<" u_StatusMovement have error value: "<<u_StatusMovement<<std::endl;
|
|
|
+ xobj.set_u_statusmovement(iv::radar::radar4dobject::MovementInvalid);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ xobj.set_u_position_invalidflags(u_Position_InvalidFlags);
|
|
|
+ switch (u_Position_Reference) {
|
|
|
+ case 0:
|
|
|
+ xobj.set_u_position_reference(iv::radar::radar4dobject::CornerFrontLeft);
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ xobj.set_u_position_reference(iv::radar::radar4dobject::MiddleFront);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ xobj.set_u_position_reference(iv::radar::radar4dobject::CornerFrontRight);
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ xobj.set_u_position_reference(iv::radar::radar4dobject::MiddleSideRight);
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ xobj.set_u_position_reference(iv::radar::radar4dobject::CornerRearRight);
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ xobj.set_u_position_reference(iv::radar::radar4dobject::MiddleRear);
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ xobj.set_u_position_reference(iv::radar::radar4dobject::CornerRearLeft);
|
|
|
+ break;
|
|
|
+ case 7:
|
|
|
+ xobj.set_u_position_reference(iv::radar::radar4dobject::MiddleSideLeft);
|
|
|
+ break;
|
|
|
+ case 255:
|
|
|
+ xobj.set_u_position_reference(iv::radar::radar4dobject::SignalUnfilled);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ std::cout<<" u_Position_Reference have error value: "<<u_Position_Reference<<std::endl;
|
|
|
+ xobj.set_u_position_reference(iv::radar::radar4dobject::SignalUnfilled);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ xobj.set_u_position_x(u_Position_X);
|
|
|
+ xobj.set_u_position_x_std(u_Position_X_STD);
|
|
|
+ xobj.set_u_position_y(u_Position_Y);
|
|
|
+ xobj.set_u_position_y_std(u_Position_Y_STD);
|
|
|
+ xobj.set_u_position_z(u_Position_Z);
|
|
|
+ xobj.set_u_position_z_std(u_Position_Z_STD);
|
|
|
+ xobj.set_u_position_covariancexy(u_Position_CovarianceXY);
|
|
|
+ xobj.set_u_position_orientation(u_Position_Orientation);
|
|
|
+ xobj.set_u_position_orientation_std(u_Position_Orientation_STD);
|
|
|
+ xobj.set_u_existence_invalidflags(u_Existence_InvalidFlags);
|
|
|
+ xobj.set_u_existence_probability(u_Existence_Probability);
|
|
|
+ xobj.set_u_existence_ppv(u_Existence_PPV);
|
|
|
+ xobj.set_u_classification_car(u_Classification_Car);
|
|
|
+ xobj.set_u_classification_truck(u_Classification_Truck);
|
|
|
+ xobj.set_u_classification_motorcycle(u_Classification_Motorcycle);
|
|
|
+ xobj.set_u_classification_bicycle(u_Classification_Bicycle);
|
|
|
+ xobj.set_u_classification_pedestrian(u_Classification_Pedestrian);
|
|
|
+ xobj.set_u_classification_animal(u_Classification_Animal);
|
|
|
+ xobj.set_u_classification_hazard(u_Classification_Hazard);
|
|
|
+ xobj.set_u_classification_unknown(u_Classification_Unknown);
|
|
|
+ xobj.set_u_classification_overdrivable(u_Classification_Overdrivable);
|
|
|
+ xobj.set_u_classification_underdrivable(u_Classification_Underdrivable);
|
|
|
+ xobj.set_u_dynamics_absvel_invalidflags(u_Dynamics_AbsVel_InvalidFlags);
|
|
|
+ xobj.set_f_dynamics_absvel_x(f_Dynamics_AbsVel_X);
|
|
|
+ xobj.set_f_dynamics_absvel_x_std(f_Dynamics_AbsVel_X_STD);
|
|
|
+ xobj.set_f_dynamics_absvel_y(f_Dynamics_AbsVel_Y);
|
|
|
+ xobj.set_f_dynamics_absvel_y_std(f_Dynamics_AbsVel_Y_STD);
|
|
|
+ xobj.set_f_dynamics_absvel_covariancexy(f_Dynamics_AbsVel_CovarianceXY);
|
|
|
+ xobj.set_u_dynamics_relvel_invalidflags(u_Dynamics_RelVel_InvalidFlags);
|
|
|
+ xobj.set_f_dynamics_relvel_x(f_Dynamics_RelVel_X);
|
|
|
+ xobj.set_f_dynamics_relvel_x_std(f_Dynamics_RelVel_X_STD);
|
|
|
+ xobj.set_f_dynamics_relvel_y(f_Dynamics_RelVel_Y);
|
|
|
+ xobj.set_f_dynamics_relvel_y_std(f_Dynamics_RelVel_Y_STD);
|
|
|
+ xobj.set_f_dynamics_relvel_covariancexy(f_Dynamics_RelVel_CovarianceXY);
|
|
|
+ xobj.set_u_dynamics_absaccel_invalidflags(u_Dynamics_AbsAccel_InvalidFlags);
|
|
|
+ xobj.set_f_dynamics_absaccel_x(f_Dynamics_AbsAccel_X);
|
|
|
+ xobj.set_f_dynamics_absaccel_x_std(f_Dynamics_AbsAccel_X_STD);
|
|
|
+ xobj.set_f_dynamics_absaccel_y(f_Dynamics_AbsAccel_Y);
|
|
|
+ xobj.set_f_dynamics_absaccel_y_std(f_Dynamics_AbsAccel_Y_STD);
|
|
|
+ xobj.set_f_dynamics_absaccel_covariancexy(f_Dynamics_AbsAccel_CovarianceXY);
|
|
|
+ xobj.set_u_dynamics_relaccel_invalidflags(u_Dynamics_RelAccel_InvalidFlags);
|
|
|
+ xobj.set_f_dynamics_relaccel_x(f_Dynamics_RelAccel_X);
|
|
|
+ xobj.set_f_dynamics_relaccel_x_std(f_Dynamics_RelAccel_X_STD);
|
|
|
+ xobj.set_f_dynamics_relaccel_y(f_Dynamics_RelAccel_Y);
|
|
|
+ xobj.set_f_dynamics_relaccel_y_std(f_Dynamics_RelAccel_Y_STD);
|
|
|
+ xobj.set_f_dynamics_relaccel_covariancexy(f_Dynamics_RelAccel_CovarianceXY);
|
|
|
+ xobj.set_u_dynamics_orientation_invalidflags(u_Dynamics_Orientation_InvalidFlags);
|
|
|
+ xobj.set_u_dynamics_orientation_rate_mean(u_Dynamics_Orientation_Rate_Mean);
|
|
|
+ xobj.set_u_dynamics_orientation_rate_std(u_Dynamics_Orientation_Rate_STD);
|
|
|
+ switch (u_Shape_Length_Status) {
|
|
|
+ case 0:
|
|
|
+ xobj.set_u_shape_length_status(iv::radar::radar4dobject::LengthCompletelyVisible);
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ xobj.set_u_shape_length_status(iv::radar::radar4dobject::LengthPartiallOccluded);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ xobj.set_u_shape_length_status(iv::radar::radar4dobject::LengthCompletelyOccluded);
|
|
|
+ break;
|
|
|
+ case 255:
|
|
|
+ xobj.set_u_shape_length_status(iv::radar::radar4dobject::ShapeLengthStatusInvalid);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ std::cout<<" u_Shape_Length_Status have error value: "<<u_Shape_Length_Status<<std::endl;
|
|
|
+ xobj.set_u_shape_length_status(iv::radar::radar4dobject::ShapeLengthStatusInvalid);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ xobj.set_u_shape_length_edge_invalidflags(u_Shape_Length_Edge_InvalidFlags);
|
|
|
+ xobj.set_u_shape_length_edge_mean(u_Shape_Length_Edge_Mean);
|
|
|
+ xobj.set_u_shape_length_edge_std(u_Shape_Length_Edge_STD);
|
|
|
+ switch (u_Shape_Width_Status) {
|
|
|
+ case 0:
|
|
|
+ xobj.set_u_shape_width_status(iv::radar::radar4dobject::WidthCompletelyVisible);
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ xobj.set_u_shape_width_status(iv::radar::radar4dobject::WidthPartiallOccluded);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ xobj.set_u_shape_width_status(iv::radar::radar4dobject::WidthCompletelyOccluded);
|
|
|
+ break;
|
|
|
+ case 255:
|
|
|
+ xobj.set_u_shape_width_status(iv::radar::radar4dobject::ShapeWidthStatusInvalid);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ std::cout<<" u_Shape_Width_Status have error value: "<<u_Shape_Width_Status<<std::endl;
|
|
|
+ xobj.set_u_shape_width_status(iv::radar::radar4dobject::ShapeWidthStatusInvalid);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ xobj.set_u_shape_width_edge_invalidflags(u_Shape_Width_Edge_InvalidFlags);
|
|
|
+ xobj.set_u_shape_length_edge_mean(u_Shape_Length_Edge_Mean);
|
|
|
+ xobj.set_u_shape_width_edge_std(u_Shape_Width_Edge_STD);
|
|
|
+
|
|
|
+ iv::radar::radar4dobject * pobj = mobjarray.add_mobj();
|
|
|
+ pobj->CopyFrom(xobj);
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
+ mpactype = ars548pactype::TypeObject;
|
|
|
}
|
|
|
|
|
|
void ars548pac::SetMotoData(char * pdata, int npos, char * pvalue,int nvaluelen)
|