Commit 01843e68 authored by fischer's avatar fischer
Browse files

Alignment to new CAM asn.1 (basic Vehicle update)

parent 3bcddd72
Loading
Loading
Loading
Loading
+96 −131
Original line number Original line Diff line number Diff line
@@ -7,32 +7,32 @@
 */
 */
module LibItsCam_Templates {
module LibItsCam_Templates {


	import from CAM_PDU_Descriptions language "ASN.1:1997" all;
    import from LibIts_Interface all;    
    import from LibIts_Interface all;    
	import from CAM_PDU_Descriptions language "ASN.1:1997" all;
    
    
	template CamInd mw_camInd (in template CoopAwareness p_camMsg) := { msgIn := p_camMsg };


	template CamReq m_camReq (in template CoopAwareness p_camMsg) := { msgOut := p_camMsg };
	template CamInd mw_camInd (in template CamPdu p_camMsg) := { msgIn := p_camMsg };


	template CoopAwareness mw_camMsg_any := {
	template CamReq m_camReq (in template CamPdu p_camMsg) := { msgOut := p_camMsg };
		protocolVersion :=?,
    	messageID := ?,
    	generationTime := ?,
    	stationId := ?,
    	referencePosition := ?,
    	stationCharacteristics := ?,
    	profile := ?
	};
	    
	    
    template CoopAwareness mw_camMsg_basicVehicle := {
	template CamPdu mw_camMsg_any := {
        header := {
			protocolVersion := 0,
			protocolVersion := 0,
			messageID := 0,
			messageID := 0,
        generationTime := ?,
			generationTime := ? },
        stationId := ?,
        cam := {
			stationID := ?,
			stationCharacteristics := ?,
			camParameters := ? }
	};

    template CamPdu mw_camMsg_anyVehicle modifies mw_camMsg_any := {
		cam := {
			stationCharacteristics := {?, ?, ?},
			camParameters := {
				vehicle := {
					referencePosition := ?,
					referencePosition := ?,
        stationCharacteristics := {true, true, true},
                    vehicleCommonParameters := {
        profile := {
            basicVehicle := {
						vehicleType := ?,
						vehicleType := ?,
						stationLength := ?,
						stationLength := ?,
						stationLengthConfidence := *,
						stationLengthConfidence := *,
@@ -53,101 +53,66 @@ module LibItsCam_Templates {
						crashStatus := *,
						crashStatus := *,
						headingConfidence := ?,
						headingConfidence := ?,
						dangerousGoods := *
						dangerousGoods := *
					},
					profileDependent := *
				}
			}
		}
		}
	}
	}
    };
    
    
	template CoopAwareness mw_camMsg_basicIRS := {
	template CamPdu mw_camMsg_basicIRS modifies mw_camMsg_any := {
		protocolVersion := 0,
		cam := {
		messageID := 0,
		generationTime := ?,
		stationId := ?,
		referencePosition := {
			longitude := ?,
			latitude := ?,
			elevation := ?,
			heading := omit,
			streetName := *,
			positionConfidence := {stationary := NULL},
			elevationConfidence := {stationary := NULL},
			roadSegmentID := *
		},
			stationCharacteristics := {false, false, false},
			stationCharacteristics := {false, false, false},
		profile := {basicIRS := NULL}
			camParameters := {irs := {referencePosition := ?}}
		}
	};
	};


	template CoopAwareness mw_camMsg_emergencyVehicle := {
	template CamPdu mw_camMsg_basicVehicle modifies mw_camMsg_anyVehicle := {
		protocolVersion := 0,
		cam := {
		messageID := 0,
		generationTime := ?,
		stationId := ?,
		referencePosition := ?,
			stationCharacteristics := {true, false, true},
			stationCharacteristics := {true, false, true},
		profile := {
			camParameters := {
				vehicle := {
					profileDependent := {
						basicVehicle := NULL
					}
				}
			}
		}
	};

	template CamPdu mw_camMsg_emergencyVehicle modifies mw_camMsg_anyVehicle := {
		cam := {
			stationCharacteristics := {true, false, true},
			camParameters := {
				vehicle := {
					profileDependent := {
						emergencyVehicle := {
						emergencyVehicle := {
				vehicleType := ?,
							lightBarInUse := *,
							lightBarInUse := *,
							sireneInUse := *,
							sireneInUse := *,
				emergencyResponseType := ?,
							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 := {
	template CamPdu mw_camMsg_publicTransportVehicle modifies mw_camMsg_basicVehicle := {
		protocolVersion := 0,
		cam := {
		messageID := 0,
		generationTime := ?,
		stationId := ?,
		referencePosition := ?,
			stationCharacteristics := {true, false, true},
			stationCharacteristics := {true, false, true},
		profile := {
			camParameters := {
				vehicle := {
					profileDependent := {
						publicTransportVehicle := {
						publicTransportVehicle := {
				vehicleType := ?,
							publicVehicleType := ?,
							publicVehicleType := ?,
				stationLength := ?,
				stationLengthConfidence := *,
				stationWidth := ?,
				stationWidthConfidence := *,
				vehicleSpeed := ?,
				vehicleSpeedConfidence := ?,
				longAcceleration := ?,
				accelerationControl := ?,
				exteriorLights := ?,
							pTLineDescription := *,
							pTLineDescription := *,
				turnAdvice := *,
				distanceToStopLine := *,
				occupancy := *,
							scheduleDeviation := *,
							scheduleDeviation := *,
				trafficLightPriority := *,
							trafficLightPriority := *
				doorOpen := *,
						}
				posConfidenceEllipse := ?,
					}
				curvature := ?,
				}
				curvatureGradient := *,
				crashStatus := *,
				headingConfidence := ?,
				dangerousGoods := *
			}
			}
		}
		}
	}
	}
	


} // end LibItsCam_Templates
} // end LibItsCam_Templates
 No newline at end of file