/** * @author ETSI / STF405 / STF449 / STF484 / STF517 * @version $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/CAM/LibItsCam_TypesAndValues.ttcn $ * $Id: LibItsCam_TypesAndValues.ttcn 1318 2017-01-26 10:20:53Z filatov $ * @desc Module containing types and values for CAM Protocol * @copyright ETSI Copyright Notification * No part may be reproduced except as authorized by written permission. * The copyright and the foregoing restriction extend to reproduction in all media. * All rights reserved. * */ 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; group camValues { const float c_lowFrequencyGenerationTime := 0.5; //500 ms const float c_specialVehicleGenerationTime := 0.5; //500 ms const AccelerationControl c_accCtrlIdle := '0000000'B; const ExteriorLights c_elAllLightsOff := '00000000'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; } // end group camValues group certificates { const charstring PX_CERT_IUT_CAM_02 := "CERT_IUT_CAM_BO_02_AT"; const charstring PX_CERT_IUT_CAM_03 := "CERT_IUT_CAM_BO_03_AT"; } group utPrimitives { /** * @desc Upper Tester message to initialize IUT * @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the IUT shall use */ type record UtCamInitialize { Oct8 hashedId8 } with { variant "FIELDORDER(msb)" } /** * @desc Upper Tester results message of the CAM IUT * @member utCamInitialize - * @member utCamTriggerResult - * @member utCamChangePositionResult - * @member utActivatePositionTimeResult - * @member utDeactivatePositionTimeResult - */ type union UtCamResults { boolean utCamInitializeResult, boolean utCamTriggerResult, boolean utCamChangePositionResult, boolean utActivatePositionTimeResult, boolean utDeactivatePositionTimeResult } with { variant "" } // End of type UtCamResults /** * @desc Upper Tester message to change the position of IUT. Values a relatives */ type record UtCamChangePosition { Int32 latitude, Int32 longitude, Int32 elevation } with { variant "FIELDORDER(msb)" } /** * @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 setLightBarSireneStatus * @member changeYawRate Changes the yaw rate in offsets of 0.01 degrees per second. */ type union UtCamTrigger { CurvatureValue changeCurvature, Int16 changeSpeed, AccelerationControl setAccelerationControlStatus, ExteriorLights setExteriorLightsStatus, HeadingValue changeHeading, DriveDirection setDriveDirection, YawRateValue changeYawRate, StationType setStationType, VehicleRole setVehicleRole, EmbarkationStatus setEmbarkationStatus, PtActivation setPtActivation, DangerousGoodsBasic setDangerousGoods, LightBarSirenInUse setLightBarSirene } with { variant "" } /** * @desc Upper Tester result message of request of triggering of an event at IUT */ type record UtActivatePositionTime { // empty on purpose } with { variant "FIELDORDER(msb)" } /** * @desc Upper Tester message to deactivate position and/or time */ type record UtDeactivatePositionTime { // empty on purpose } with { variant "FIELDORDER(msb)" } /** * @desc Upper Tester message to check event/status on CAM IUT */ type record UtCamEventInd { CAM camMsg // TODO Rename into caMsg to be compliant with UtDenmEventInd } with { encode (camMsg) "LibItsCam_asn1" } /** * @desc List of Upper Tester messages to check event/status on CAM IUT */ type record of UtCamEventInd UtCamEventIndList; } with { encode "UpperTester" variant "" } // end utPrimitives } with { encode "LibItsCam" }