LibItsCam_Templates.ttcn 4.09 KB
Newer Older
/**
 *	@author 	ETSI / STF405
berge's avatar
berge committed
 *  @version 	$URL$
 *				$Id$
 *	@desc		Module containing base template definitions for CAM
 *
 */
module LibItsCam_Templates {
fischer's avatar
fischer committed
	import from CAM_PDU_Descriptions language "ASN.1:1997" all;
    import from LibIts_Interface all;
    
	template CamInd mw_camInd (in template CoopAwareness p_camMsg) := { msgIn := p_camMsg };
fischer's avatar
fischer committed

	template CamReq m_camReq (in template CoopAwareness p_camMsg) := { msgOut := p_camMsg };
fischer's avatar
fischer committed
	    
	template CoopAwareness mw_camMsg_any := {
		protocolVersion :=?,
    	messageID := ?,
    	generationTime := ?,
    	stationId := ?,
    	referencePosition := ?,
    	stationCharacteristics := ?,
    	profile := ?
	};
	 
fischer's avatar
fischer committed
    template CoopAwareness mw_camMsg_basicVehicle := {
        protocolVersion := 0,
        messageID := 0,
        generationTime := ?,
        stationId := ?,
        referencePosition := ?,
        stationCharacteristics := {true, true, true},
        profile := {
            basicVehicle := {
                vehicleType := ?,
                stationLength := ?,
                stationLengthConfidence := *,
                stationWidth := ?,
                stationWidthConfidence := *,
                vehicleSpeed := ?,
                vehicleSpeedConfidence := ?,
                longAcceleration := ?,
                accelerationControl := ?,
                exteriorLights := ?,
                turnAdvice := *,
                distanceToStopLine := *,
                occupancy := *,
                doorOpen := *,
                posConfidenceEllipse := ?,
                curvature := ?,
                curvatureGradient := *,
                crashStatus := *,
                headingConfidence := ?,
                dangerousGoods := *
            }
        }
    };
    
	template CoopAwareness mw_camMsg_basicIRS := {
		protocolVersion := 0,
		messageID := 0,
		generationTime := ?,
		stationId := ?,
		referencePosition := {
			longitude := ?,
			latitude := ?,
			elevation := ?,
			heading := omit,
			streetName := *,
berge's avatar
berge committed
			positionConfidence := {stationary := NULL},
			elevationConfidence := {stationary := NULL},
fischer's avatar
fischer committed
			roadSegmentID := *
		},
		stationCharacteristics := {false, false, false},
		profile := {basicIRS := NULL}
	};

	template CoopAwareness mw_camMsg_emergencyVehicle := {
		protocolVersion := 0,
		messageID := 0,
		generationTime := ?,
		stationId := ?,
		referencePosition := ?,
		stationCharacteristics := {true, false, true},
		profile := {
			emergencyVehicle := {
				vehicleType := ?,
				lightBarInUse := *,
				sireneInUse := *,
				emergencyResponseType := ?,
				stationLength := ?,
				stationLengthConfidence := *,
				stationWidth := ?,
				stationWidthConfidence := *,
				vehicleSpeed := ?,
				vehicleSpeedConfidence := ?,
				longAcceleration := ?,
				accelerationControl := ?,
				exteriorLights := ?,
				turnAdvice := *,
				distanceToStopLine := *,
				occupancy := *,
				doorOpen := *,
				posConfidenceEllipse := ?,
				curvature := ?,
				curvatureGradient := *,
				crashStatus := *,
				headingConfidence := ?,
				dangerousGoods := *
			}
		}
	}
	
	template CoopAwareness mw_camMsg_publicTransportVehicle := {
fischer's avatar
fischer committed
		protocolVersion := 0,
		messageID := 0,
		generationTime := ?,
		stationId := ?,
		referencePosition := ?,
fischer's avatar
fischer committed
		stationCharacteristics := {true, false, true},
fischer's avatar
fischer committed
		profile := {
fischer's avatar
fischer committed
			publicTransportVehicle := {
fischer's avatar
fischer committed
				vehicleType := ?,
fischer's avatar
fischer committed
				publicVehicleType := ?,
fischer's avatar
fischer committed
				stationLength := ?,
				stationLengthConfidence := *,
				stationWidth := ?,
				stationWidthConfidence := *,
				vehicleSpeed := ?,
				vehicleSpeedConfidence := ?,
				longAcceleration := ?,
				accelerationControl := ?,
				exteriorLights := ?,
fischer's avatar
fischer committed
				pTLineDescription := *,
fischer's avatar
fischer committed
				turnAdvice := *,
				distanceToStopLine := *,
				occupancy := *,
fischer's avatar
fischer committed
				scheduleDeviation := *,
				trafficLightPriority := *,
fischer's avatar
fischer committed
				doorOpen := *,
				posConfidenceEllipse := ?,
				curvature := ?,
				curvatureGradient := *,
				crashStatus := *,
				headingConfidence := ?,
				dangerousGoods := *
			}
		}
	}
fischer's avatar
fischer committed
	
fischer's avatar
fischer committed
	 
} // end LibItsCam_Templates