Newer
Older
* @desc Module containing base template definitions for CAM
*
*/
import from LibIts_Interface all;
import from CAM_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 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 := ?,
yawRate := ?,
yawRateConfidence := ?,
exteriorLights := ?,
turnAdvice := *,
distanceToStopLine := *,
occupancy := *,
doorOpen := *,
posConfidenceEllipse := ?,
curvature := ?,
crashStatus := *,
headingConfidence := ?,
dangerousGoods := *
},
profileDependent := *
}
}
}
}
template CamPdu mw_camMsg_basicIRS modifies mw_camMsg_any := {
cam := {
stationCharacteristics := {false, false, false},
camParameters := {irs := {referencePositionIrs := ?}}
template CamPdu mw_camMsg_basicVehicle modifies mw_camMsg_anyVehicle := {
cam := {
stationCharacteristics := {true, false, true},
camParameters := {
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
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 := *
}
}
}