/** * @author ETSI / STF405 * @version $URL$ * $Id$ * @desc Module containing base template definitions for CAM * */ module LibItsCam_Templates { import from LibIts_Interface all; import from LibItsCam_Pixits all; import from CAM_PDU_Descriptions language "ASN.1:1997" all; import from DENM_PDU_Descriptions language "ASN.1:1997" all; template CamInd mw_camInd (in template (present) CamPdu p_camMsg) := { msgIn := p_camMsg }; template CamReq m_camReq (in template (value) CamPdu p_camMsg) := { msgOut := p_camMsg }; template CamPdu mw_camMsg_any := { header := { protocolVersion := 0, messageID := 0, generationTime := ? }, cam := { stationID := ?, stationCharacteristics := ?, referencePosition := ?, camParameters := * } } template CamPdu mw_camMsg_anyVehicle modifies mw_camMsg_any := { cam := { stationCharacteristics := {?, ?, ?}, camParameters := { vehicleCommonParameters := { vehicleType := ?, stationLength := ?, stationLengthConfidence := *, stationWidth := ?, stationWidthConfidence := *, vehicleSpeed := ?, vehicleSpeedConfidence := ?, longAcceleration := ?, longAccelerationConfidence := ?, accelerationControl := ?, yawRate := ?, yawRateConfidence := ?, exteriorLights := ?, turnAdvice := *, distanceToStopLine := *, occupancy := *, doorOpen := *, posConfidenceEllipse := ?, curvature := ?, curvatureChange := *, curvatureConfidence := ?, crashStatus := *, headingConfidence := ?, dangerousGoods := * }, profileDependent := * } } } template CamPdu mw_camMsg_basicIRS modifies mw_camMsg_any := { cam := { stationCharacteristics := {false, false, false}, referencePosition := { longitude := ?, latitude := ?, elevation := ?, heading := omit, streetName := *, positionConfidence := omit, elevationConfidence := omit, roadSegmentID := * } } } template CamPdu m_camMsg_valid( TimeStamp p_generationTime, StationID p_stationID, CoopAwareness.stationCharacteristics p_stationCharacteristics, template (value) ReferencePosition p_referencePosition ) := { header := { protocolVersion := 0, messageID := 0, generationTime := p_generationTime }, cam := { stationID := p_stationID, stationCharacteristics := p_stationCharacteristics, referencePosition := p_referencePosition, camParameters := omit } }; template CamPdu mw_camMsg_basicVehicle modifies mw_camMsg_anyVehicle := { cam := { stationCharacteristics := {true, false, true}, camParameters := { profileDependent := {basicVehicle := ?} } } } template CamPdu mw_camMsg_emergencyVehicle modifies mw_camMsg_anyVehicle := { cam := { stationCharacteristics := {true, false, true}, camParameters := { profileDependent := { emergencyVehicle := { lightBarInUse := *, sireneInUse := *, emergencyResponseType := ? } } } } }; template CamPdu mw_camMsg_publicTransportVehicle modifies mw_camMsg_basicVehicle := { cam := { stationCharacteristics := {true, false, true}, camParameters := { profileDependent := { publicTransportVehicle := { publicVehicleType := ?, pTLineDescription := *, scheduleDeviation := *, trafficLightPriority := * } } } } }; group exteriorLights { template ExteriorLights m_lowBeamLightsOff := '0???????'B ; template ExteriorLights m_lowBeamLightsOn := '1???????'B ; template ExteriorLights m_highBeamLightsOff := '?0??????'B ; template ExteriorLights m_highBeamLightsOn := '?1??????'B ; template ExteriorLights m_leftTurnSignalOff := '??0?????'B ; template ExteriorLights m_leftTurnSignalOn := '??1?????'B ; template ExteriorLights m_rightTurnSignalOff := '???0????'B ; template ExteriorLights m_rightTurnSignalOn := '???1????'B ; template ExteriorLights m_automaticLightControlOff := '????0???'B ; template ExteriorLights m_automaticLightControlOn := '????1???'B ; template ExteriorLights m_daytimeRunningLightOff := '?????0??'B ; template ExteriorLights m_daytimeRunningLightOn := '?????1??'B ; template ExteriorLights m_fogLightOff := '??????0?'B ; template ExteriorLights m_fogLightOn := '??????1?'B ; template ExteriorLights m_parkingLightsOff := '???????0'B ; template ExteriorLights m_parkingLightsOn := '???????1'B ; template ExteriorLights m_hazardConditionOn := '??11????'B ; } // end group exteriorLights } // end LibItsCam_Templates