/** * @author ETSI / STF405 * @version $URL$ * $Id$ * @desc Module containing base template definitions for CAM * */ module LibItsCam_Templates { import from LibIts_Interface all; import from ItsCam_Pixits all; import from CAM_PDU_Descriptions language "ASN.1:1997" all; import from CAM_TEST_PDU_Descriptions language "ASN.1:1997" all; template CamInd mw_camInd (in template CamPdu p_camMsg) := { msgIn := p_camMsg }; template CamReq m_camReq (in template CamPdu p_camMsg) := { msgOut := p_camMsg }; template InvalidCamReq m_invalidCamReq (in template InvalidCamPdu p_camMsg) := { msgOut := p_camMsg }; template CamPdu mw_camMsg_any := { header := { protocolVersion := 0, messageID := 0, generationTime := ? }, cam := { stationID := ?, stationCharacteristics := ?, camParameters := ? } }; template CamPdu mw_camMsg_anyVehicle modifies mw_camMsg_any := { cam := { stationCharacteristics := {?, ?, ?}, camParameters := { vehicle := { referencePositionVehicle := ?, 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}, camParameters := {irs := {referencePositionIrs := ?}} } }; template CamPdu m_camMsg_IRS_valid ( TimeStamp p_generationTime) := { header := { protocolVersion := 0, messageID := 0, generationTime := p_generationTime }, cam := { stationID := PX_TESTER_STATION_ID, stationCharacteristics := {false, false, false}, camParameters := {irs := {referencePositionIrs := PX_TESTER_REF_POSITION_IRS}} } }; template InvalidCamPdu m_camMsg_IRS_invalid ( TimeStamp p_generationTime) := { header := { protocolVersion := 0, messageID := 0, generationTime := p_generationTime }, cam := { stationID := PX_TESTER_STATION_ID, stationCharacteristics := {false, false, false} } }; template CamPdu mw_camMsg_basicVehicle modifies mw_camMsg_anyVehicle := { cam := { stationCharacteristics := {true, false, true}, camParameters := { vehicle := {profileDependent := {basicVehicle := {} }} } } } template CamPdu mw_camMsg_emergencyVehicle modifies mw_camMsg_anyVehicle := { cam := { stationCharacteristics := {true, false, true}, camParameters := { vehicle := { profileDependent := { emergencyVehicle := { lightBarInUse := *, sireneInUse := *, emergencyResponseType := ? } } } } } }; template CamPdu mw_camMsg_publicTransportVehicle modifies mw_camMsg_basicVehicle := { cam := { stationCharacteristics := {true, false, true}, camParameters := { vehicle := { profileDependent := { publicTransportVehicle := { publicVehicleType := ?, pTLineDescription := *, scheduleDeviation := *, trafficLightPriority := * } } } } } } } // end LibItsCam_Templates