Commit d1cebbfe authored by Saifullah Khan's avatar Saifullah Khan
Browse files

Upload New File

parent f82cfa65
Loading
Loading
Loading
Loading
+126 −0
Original line number Diff line number Diff line
CAM-PDU-Descriptions  {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) camPduRelease2 (103900) major-version-2 (2) minor-version-1 (1)} 

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS 
ItsPduHeader, CauseCodeV2, ReferencePosition, AccelerationControl, Curvature, CurvatureCalculationMode, Heading, LanePosition, EmergencyPriority, EmbarkationStatus, Speed, 
DriveDirection, AccelerationComponent, StationType, ExteriorLights, DangerousGoodsBasic, SpecialTransportType, LightBarSirenInUse, 
VehicleRole, VehicleLength, VehicleWidth, Path, RoadworksSubCauseCode, ClosedLanes, TrafficRule, SpeedLimit, SteeringWheelAngle, PerformanceClass, YawRate, 
PtActivation, ProtectedCommunicationZonesRSU, CenDsrcTollingZone, GenerationDeltaTime, BasicContainer

FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-4 (4) minor-version-1 (1)} WITH SUCCESSORS
;


--	The root data frame for cooperative awareness messages

CAM ::= SEQUENCE {
	header ItsPduHeader (WITH COMPONENTS {... , protocolVersion (2), messageId(cam)}),
	cam    CamPayload
}

CamPayload ::= SEQUENCE {
	generationDeltaTime GenerationDeltaTime,
	camParameters       CamParameters
}

CamParameters ::= SEQUENCE {
	basicContainer           BasicContainer,
	highFrequencyContainer   HighFrequencyContainer,
	lowFrequencyContainer    LowFrequencyContainer OPTIONAL,
	specialVehicleContainer  SpecialVehicleContainer OPTIONAL,
	...
}

HighFrequencyContainer ::= CHOICE {
	basicVehicleContainerHighFrequency BasicVehicleContainerHighFrequency,
	rsuContainerHighFrequency          RSUContainerHighFrequency,
	...
}

 LowFrequencyContainer ::= CHOICE {
  basicVehicleContainerLowFrequency BasicVehicleContainerLowFrequency,
	...
}

SpecialVehicleContainer ::= CHOICE {
	publicTransportContainer  PublicTransportContainer,
	specialTransportContainer SpecialTransportContainer,
	dangerousGoodsContainer   DangerousGoodsContainer,
	roadWorksContainerBasic   RoadWorksContainerBasic,
	rescueContainer           RescueContainer,
	emergencyContainer        EmergencyContainer,
	safetyCarContainer        SafetyCarContainer,
	...
}

BasicVehicleContainerHighFrequency ::= SEQUENCE {
	heading Heading,
	speed Speed,
	driveDirection DriveDirection,
	vehicleLength VehicleLength,
	vehicleWidth VehicleWidth,
	longitudinalAcceleration AccelerationComponent,
	curvature Curvature,
	curvatureCalculationMode CurvatureCalculationMode,
	yawRate YawRate,
	accelerationControl AccelerationControl OPTIONAL,
	lanePosition LanePosition OPTIONAL,
	steeringWheelAngle SteeringWheelAngle OPTIONAL,
	lateralAcceleration AccelerationComponent OPTIONAL,
	verticalAcceleration AccelerationComponent OPTIONAL,
	performanceClass PerformanceClass OPTIONAL,
	cenDsrcTollingZone CenDsrcTollingZone OPTIONAL
}

BasicVehicleContainerLowFrequency  ::= SEQUENCE {
	vehicleRole VehicleRole,
	exteriorLights ExteriorLights,
	pathHistory Path
}

PublicTransportContainer ::= SEQUENCE {
	embarkationStatus EmbarkationStatus,
	ptActivation PtActivation OPTIONAL
}

SpecialTransportContainer ::= SEQUENCE {
	specialTransportType SpecialTransportType,
	lightBarSirenInUse LightBarSirenInUse
}

 DangerousGoodsContainer ::= SEQUENCE {
  dangerousGoodsBasic DangerousGoodsBasic
 }
 
 RoadWorksContainerBasic ::= SEQUENCE {
  roadworksSubCauseCode RoadworksSubCauseCode OPTIONAL,
  lightBarSirenInUse LightBarSirenInUse,
  closedLanes ClosedLanes OPTIONAL
 }

RescueContainer ::= SEQUENCE {
	lightBarSirenInUse LightBarSirenInUse
}

EmergencyContainer ::= SEQUENCE {
	lightBarSirenInUse LightBarSirenInUse,
	incidentIndication CauseCodeV2 OPTIONAL,
	emergencyPriority EmergencyPriority OPTIONAL
}

SafetyCarContainer ::= SEQUENCE {
	lightBarSirenInUse LightBarSirenInUse,
	incidentIndication CauseCodeV2 OPTIONAL,
	trafficRule TrafficRule OPTIONAL,
	speedLimit SpeedLimit OPTIONAL
}

RSUContainerHighFrequency ::= SEQUENCE {
	protectedCommunicationZonesRSU ProtectedCommunicationZonesRSU OPTIONAL,
	...
}

END