Newer
Older
/**
* @author ETSI / STF405 / STF449
* @version $URL$
* $Id$
* @desc Module containing types and values for CAM Protocol
*
*/
module LibItsCam_TypesAndValues {
// LibCommon
import from LibCommon_BasicTypesAndValues all;
import from LibCommon_DataStrings all;
// LibIts
import from ITS_Container language "ASN.1:1997" all;
import from CAM_PDU_Descriptions language "ASN.1:1997" all;
import from DENM_PDU_Descriptions language "ASN.1:1997" all;
import from LibItsCommon_TypesAndValues {
type UtChangePosition
};
group camValues {
const float c_lowFrequencyGenerationTime := 0.5; //500 ms
const float c_specialVehicleGenerationTime := 0.5; //500 ms
const AccelerationControl c_accCtrlIdle := '0000000'B;
tepelmann
committed
const AccelerationControl c_brakePedalEngaged := '1000000'B;
const AccelerationControl c_gasPedalEngaged := '0100000'B;
const AccelerationControl c_emergencyBrakeEngaged := '0010000'B;
const AccelerationControl c_collisionWarningEngaged := '0001000'B;
tepelmann
committed
const AccelerationControl c_accEngaged := '0000100'B;
const AccelerationControl c_cruiseControlEngaged := '0000010'B;
const AccelerationControl c_speedLimiterEngaged := '0000001'B;
const ExteriorLights c_elAllLightsOff := '00000000'B;
tepelmann
committed
const ExteriorLights c_lowBeamHeadlightsOn := '10000001'B;
const ExteriorLights c_highBeamHeadlightsOn := '01000010'B;
const ExteriorLights c_leftTurnSignalOn := '00100100'B;
const ExteriorLights c_rightTurnSignalOn := '00010000'B;
const ExteriorLights c_daytimeRunningLightsOn := '00001000'B;
const ExteriorLights c_reverseLightOn := '00000100'B;
const ExteriorLights c_fogLightOn := '00000010'B;
const ExteriorLights c_parkingLightsOn := '00000001'B;
const VehicleRole c_vehicleRole_publicTransport := publicTransport;
const VehicleRole c_vehicleRole_specialTransport := specialTransport;
const VehicleRole c_vehicleRole_dangerousGoods := dangerousGoods;
const VehicleRole c_vehicleRole_roadWork := roadWork;
const VehicleRole c_vehicleRole_rescue := rescue;
const VehicleRole c_vehicleRole_emergency := emergency;
const VehicleRole c_vehicleRole_safetyCar := safetyCar;
const DangerousGoodsBasic c_dangerousGoodsBasic_explosives1 := explosives1;
const DangerousGoodsBasic c_dangerousGoodsBasic_explosives2 := explosives2;
const DangerousGoodsBasic c_dangerousGoodsBasic_explosives3 := explosives3;
const DangerousGoodsBasic c_dangerousGoodsBasic_explosives4 := explosives4;
const DangerousGoodsBasic c_dangerousGoodsBasic_explosives5 := explosives5;
const DangerousGoodsBasic c_dangerousGoodsBasic_explosives6 := explosives6;
const DangerousGoodsBasic c_dangerousGoodsBasic_flammableGases := flammableGases;
const DangerousGoodsBasic c_dangerousGoodsBasic_nonFlammableGases := nonFlammableGases;
const DangerousGoodsBasic c_dangerousGoodsBasic_toxicGases := toxicGases;
const DangerousGoodsBasic c_dangerousGoodsBasic_flammableLiquids := flammableLiquids;
const DangerousGoodsBasic c_dangerousGoodsBasic_flammableSolids := flammableSolids;
const DangerousGoodsBasic c_dangerousGoodsBasic_substancesLiableToSpontaneousCombustion := substancesLiableToSpontaneousCombustion;
const DangerousGoodsBasic c_dangerousGoodsBasic_substancesEmittingFlammableGasesUponContactWithWater := substancesEmittingFlammableGasesUponContactWithWater;
const DangerousGoodsBasic c_dangerousGoodsBasic_oxidizingSubstances := oxidizingSubstances;
const DangerousGoodsBasic c_dangerousGoodsBasic_organicPeroxides := organicPeroxides;
const DangerousGoodsBasic c_dangerousGoodsBasic_toxicSubstances := toxicSubstances;
const DangerousGoodsBasic c_dangerousGoodsBasic_infectiousSubstances := infectiousSubstances;
const DangerousGoodsBasic c_dangerousGoodsBasic_radioactiveMaterial := radioactiveMaterial;
const DangerousGoodsBasic c_dangerousGoodsBasic_corrosiveSubstances := corrosiveSubstances;
const DangerousGoodsBasic c_dangerousGoodsBasic_miscellaneousDangerousSubstances := miscellaneousDangerousSubstances;
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
} // end group camValues
group utPrimitives {
group utCommonPrimitives {
/**
* @desc Upper Tester message to check event/status on IUT
*/
type record UtCheck { /* FIXME: change this as in DENM */
UtCamTrigger utEvent
} with {
encode (utEvent) "UpperTester"
}
}
with {
encode "LibItsCommon"
}
/**
* @desc
* @member changeCurvature Changes the curvature.
* @member changeSpeed Changes the speed in cm/s.
* @member setAccelerationControlStatus Sets the acceleration control status.
* @member setExteriorLightsStatus Sets the exterior lights status.
* @member changeHeading Changes the heading.
* @member setDriveDirection Sets the drive direction.
* @member setStationType
* @member setVehicleRole
* @member setEmbarkationStatus
* @member setPtActivation
* @member setDangerousGoods
* @member setDangerousGoodsExt
* @member setLightBarSireneStatus
* @member changeYawRate Changes the yaw rate in offsets of 0.01 degrees per second.
* @member changePosition Changes the position in the direction of the current heading in meters.
* @member checkLdm Checks that the received CAM was provided at LDM.
*/
type union UtCamTrigger {
CurvatureValue changeCurvature,
SpeedValue changeSpeed,
AccelerationControl setAccelerationControlStatus,
ExteriorLights setExteriorLightsStatus,
HeadingValue changeHeading,
DriveDirection setDriveDirection,
YawRateValue changeYawRate,
StationType setStationType,
VehicleRole setVehicleRole,
EmbarkationStatus setEmbarkationStatus,
PtActivation setPtActivation,
DangerousGoodsBasic setDangerousGoods,
DangerousGoodsExtended setDangerousGoodsExt,
LightBarSirenInUse setLightBarSirene,
UtChangePosition changePosition, /* FIXME: obselete, to be removed */
CAM checkLdm /* FIXME: obselete, to be removed */
}
/**
* @desc Upper Tester result message of request of triggering of an event at IUT
*/
type boolean UtCamTriggerResult;
} with {
encode "UpperTester"
} // end utPrimitives
}
with {
encode "LibItsCam"
}