Newer
Older
/**
* @author ETSI / STF405
* @version $URL$
* $Id$
* @desc Module containing type and value definitions for DENM
*
*/
module LibItsDenm_TypesAndValues {
//LibIts
import from DENM_PDU_Descriptions language "ASN.1:1997" all;
import from CAM_PDU_Descriptions language "ASN.1:1997" all;
group actionTypes {
type enumerated Trigger {
e_ets(0),
e_iut(1)
}
} // end group actionTypes
group denmConstants {
const ItsPduHeader.protocolVersion c_protocolVersionDenm := 0;
const DataVersion c_dataVersionCancellation := 255;
group trafficFlowEffects {
const TrafficFlowEffect c_tfeTrafficFlowUnknown := 1;
const TrafficFlowEffect c_tfeFreeTrafficFlow := 2;
const TrafficFlowEffect c_tfeSlowTraffic := 3;
const TrafficFlowEffect c_tfeHeavyTraffic := 4;
const TrafficFlowEffect c_tfeQueuingTraffic := 5;
const TrafficFlowEffect c_tfeStationaryTraffic := 6;
const TrafficFlowEffect c_tfeNoTrafficFlow := 7;
} // end group causeCodes
group causeCodes {
//TODO check this values for final release
const DENM_PDU_Descriptions.CauseCode c_causeReserved := 0;
const DENM_PDU_Descriptions.CauseCode c_causeTrafficJam := 1;
const DENM_PDU_Descriptions.CauseCode c_causeAccident := 2;
const DENM_PDU_Descriptions.CauseCode c_causeRoadWork := 3;
const DENM_PDU_Descriptions.CauseCode c_causeHazardousDrivingCondition := 25;
const DENM_PDU_Descriptions.CauseCode c_causeWrongWayDriving := 35;
const DENM_PDU_Descriptions.CauseCode c_causeRescueOnTheWay := 36;
const DENM_PDU_Descriptions.CauseCode c_causeExtremWeatherCondition := 42;
const DENM_PDU_Descriptions.CauseCode c_causeVisibilityReduced := 43;
const DENM_PDU_Descriptions.CauseCode c_causePrecipitation := 45;
const DENM_PDU_Descriptions.CauseCode c_causeSlowVehicle := 62;
const DENM_PDU_Descriptions.CauseCode c_causeDangerousDriving := 101;
const DENM_PDU_Descriptions.CauseCode c_causeIntersectionViolation := 102;
const DENM_PDU_Descriptions.CauseCode c_causeVehicleProblem := 103;
const DENM_PDU_Descriptions.CauseCode c_causeIntersectionCollision := 104;
const DENM_PDU_Descriptions.CauseCode c_causeHazardousLocation := 105;
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
} // end group causeCodes
group subCauseCodes {
//TODO check this values for final release
const SubCauseCode c_subCauseUnknown := 0;
const SubCauseCode c_subCauseHardBrakeVehicle := 1;
const SubCauseCode c_subCauseStopSignViolation := 1;
const SubCauseCode c_subCauseTrafficLightViolation := 2;
const SubCauseCode c_subCauseTurningRegulationViolation := 3;
const SubCauseCode c_subCauseBrakeDownVehicle := 1;
const SubCauseCode c_subCauseVehicleSpeedReducedWithSafetyLightsOn := 2;
const SubCauseCode c_subCauseLeftTurnCollisionRisk := 1;
const SubCauseCode c_subCauseRightTurnCollisionRisk := 2;
const SubCauseCode c_subCauseCrossingCollisionRisk := 3;
const SubCauseCode c_subCauseMergingCollisionRisk := 4;
const SubCauseCode c_subCauseDangerousCurve := 1;
const SubCauseCode c_subCauseObstacleOnTheRoad := 2;
const SubCauseCode c_subCauseHeavyRain := 1;
const SubCauseCode c_subCauseHeavySnow := 2;
const SubCauseCode c_subCauseStrongSideWind := 1;
const SubCauseCode c_subCauseStrongWindFromBack := 2;
const SubCauseCode c_subCauseLowRoadAdhesion := 1;
const SubCauseCode c_subCauseBlackIce := 2;
const SubCauseCode c_subCauseBadVisibilityDueToFrost := 1;
const SubCauseCode c_subCauseBadVisibilityDueToStorm := 4;
const SubCauseCode c_subCauseEmergencyVehicle := 1;
const SubCauseCode c_subCauseMedicalAssistanceVahicle := 2;
} // end group subCauseCodes
} // end group denmConstants
group denmTimeConstants {
// in milliseconds
const TimeStamp c_duration20s := 20000;
const TimeStamp c_duration40s := 40000;
const float c_eventFrequencyMultiplier := 0.1;
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
group utPrimitives {
type record UtTrigger {
UtEvent utEvent
}
type record UtCheck {
UtEvent utEvent
}
type boolean UtResult;
type record UtEvent {
Situation situation,
EventOption eventOption optional
}
type union EventOption {
DataVersion eventCancellation,
DecentralizedEnvironmentalNotificationMessage.management.isNegation eventNegation,
TrafficFlowEffect eventTrafficFlowEffect,
Situation eventLinkedCause,
TimeStamp eventExpirationTime,
EventTimeFrequency eventExpirationTimeFrequency,
DecentralizedSituation.eventCharact eventCharact
}
type record EventTimeFrequency {
TimeStamp expirationTime,
DecentralizedSituationManagement.frequency frequency
}
} // end utPrimitives