syntax = "proto3"; option optimize_for = LITE_RUNTIME; // 添加包名 package VRC; import "vrc.v2x.dataframe.proto"; // V2X DAY1消息集 message V2xBsmPb { oneof msgCntOpt { int32 msgCnt = 1; } bytes id = 2; double utcTime = 3; oneof timeConfidenceOpt { int32 timeConfidence = 4; } V2xPosPb pos = 5; V2xPosAccuracyPb posAccuracy = 6; V2xPosCfdSetPb posConfidence = 7; int32 transmission = 8; double speed = 9; double heading = 10; oneof angleOpt { double angle = 11; } V2xMotionCfdSetPb motionCfd = 12; V2xAccelSetPb accelSet = 13; V2xBrakeSystemStatusPb brakes = 14; V2xVehicleSizePb size = 15; V2xVehClassPb vehicleClass = 16; V2xSafetyExtPb safetyExt = 17; V2xVehEmergencyExtPb emergencyExt = 18; } message V2xMapPb { oneof msgCntOpt { int32 msgCnt = 1; } oneof utcTimeOpt { double utcTime = 2; } repeated V2xNodePb nodes = 3; } message V2xRsmPb { oneof msgCntOpt { int32 msgCnt = 1; } bytes id = 2; V2xPosPb refPos = 3; repeated V2xPtcPb participants = 4; } message V2xSpatPb { oneof msgCntOpt { int32 msgCnt = 1; } oneof utcTimeOpt { double utcTime = 2; } oneof nameOpt { string name = 3; } repeated V2xIntersectionStatePb intersections = 4; } message V2xRsiPb { oneof msgCntOpt { int32 msgCnt = 1; } oneof utcTimeOpt { double utcTime = 2; } bytes id = 3; V2xPosPb refPos = 4; repeated V2xRteDataPb rtes = 5; repeated V2xRtsDataPb rtss = 6; } // V2X DAY2消息集 message V2xTestPb { oneof msgCntOpt { int32 msgCnt = 1; } bytes userData = 2; } message V2xRtcmPb { oneof msgCntOpt { int32 msgCnt = 1; } repeated V2xRtcmMsgPb corrections = 2; } message V2xRscPb { oneof msgCntOpt { int32 msgCnt = 1; } bytes id = 2; double utcTime = 3; V2xPosPb refPos = 4; repeated V2xVehicleCoordinationPb coordinates = 5; repeated V2xLaneCoordinationPb laneCoordinates = 6; } message V2xSsmPb { oneof msgCntOpt { int32 msgCnt = 1; } bytes id = 2; int32 equipmentType = 3; double utcTime = 4; V2xPosPb sensorPos = 5; repeated V2xPolygonPb detectedRegion = 6; repeated V2xDetectedPtcDataPb participants = 7; repeated V2xDetectedObstacleDataPb obstacles = 8; repeated V2xRteDataPb rtes = 9; } message V2xVirPb { oneof msgCntOpt { int32 msgCnt = 1; } bytes id = 2; double utcTime = 3; V2xPosPb refPos = 4; V2xIarDataPb intAndReq = 5; } message V2xPamPb { oneof msgCntOpt { int32 msgCnt = 1; } oneof utcTimeOpt { double utcTime = 2; } V2xParkingLotInfoPb parkingLotInfo = 3; repeated V2xPamNodePb pamNodes = 4; repeated V2xParkingGuidePb parkingAreaGuidance = 5; } message V2xPsmPb { oneof msgCntOpt { int32 msgCnt = 1; } bytes id = 2; double utcTime = 3; oneof timeConfidenceOpt { int32 timeConfidence = 4; } V2xPosPb pos = 5; V2xPosAccuracyPb posAccuracy = 6; double speed = 7; double heading = 8; V2xAccelSetPb accelSet = 9; V2xPathHistoryPb pathHistory = 10; repeated V2xPathPlanningPointPb pathPlanning = 11; double overallRadius = 12; V2xNonMotorDataPb nonMotorData = 13; } message V2xClpmmPb { oneof msgCntOpt { int32 msgCnt = 1; } bytes id = 2; double utcTime = 3; bytes pid = 4; int32 role = 5; int32 status = 6; V2xMemberManagementPb leadingExt = 7; } message V2xVpmPb { oneof msgCntOpt { int32 msgCnt = 1; } V2xPaymentPb payment = 2; } // V2X用户自定义消息 message V2xUdmPb { oneof msgCntOpt { int32 msgCnt = 1; } int32 type = 2; bytes data = 3; }