/** * @author ETSI / STF405 / STF449 / STF484 / STF517 * @version $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/Common/LibItsCommon_TypesAndValues.ttcn $ * $Id: LibItsCommon_TypesAndValues.ttcn 1318 2017-01-26 10:20:53Z filatov $ * @desc Module containing common types and values for ITS Protocols * @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 LibItsCommon_TypesAndValues { // LibCommon import from LibCommon_DataStrings all; // LibIts import from ITS_Container language "ASN.1:1997" all; group acPrimitives { /** * @desc TA primitives for security support * @member acSetCertificate Primitive used to activate security support * @member acDisableSecurity Primitive used to deactiate security support */ type union AcSecPrimitive { AcEnableSecurity acEnableSecurity, AcDisableSecurity acDisableSecurity } // End of type AcSecPrimitive /** * @desc Primitive used to activate security support * @member certificateId The certificate identifier to be used */ type record AcEnableSecurity { charstring certificateId, boolean enforceSecurity } // End of type AcEnableSecurity /** * @desc Primitive used to deactiate security support */ type record AcDisableSecurity { boolean disable } // End of type AcDisableSecurity /** * @desc Primitive for receiving response from TA * @desc TA primitives for GNSS * @member loadScenario - * @member startScenario - * @member stopScenario - * @member distanceCovered - */ type union AcGnssPrimitive { AcLoadScenario loadScenario, AcStartScenario startScenario, AcStopScenario stopScenario, AcDistanceToCover distanceToCover, AcSpeed speed, AcChangeSpeed changeSpeed, AcChangeHeading changeHeading, AcTimeInRunningScenario timeInRunningScenario } /** * @desc Primitive for receiving response from TA * @member acGnssResponse Primitive for receiving response from TA * @member acGnssDistanceCovered Primitive for receiving an indication if requested distance was covered from TA * @member AcGnssSpeedReached Primitive for receiving an indication if speed was reached * @member acGnssTimeReached Primitive for receiving an indication if requested time was reached from TA * @member acSecResponse */ type union AdapterControlResults { boolean acGnssResponse, boolean acGnssDistanceCovered, boolean acGnssSpeedReached, boolean acGnssTimeReached, boolean acSecResponse } /** * @desc Primitive for receiving response from TA */ type AdapterControlResults.acSecResponse AcSecResponse; type AdapterControlResults.acGnssResponse AcGnssResponse; /** * @desc Primitive for receiving an indication if requested distance was covered from TA */ type AdapterControlResults.acGnssDistanceCovered AcGnssDistanceCovered; /** * @desc Primitive for receiving an indication if speed was reached */ type AdapterControlResults.acGnssSpeedReached AcGnssSpeedReached; /** * @desc Primitive for receiving an indication if requested time was reached from TA */ type AdapterControlResults.acGnssTimeReached AcGnssTimeReached; /** * @desc Primitive for loading a scenario * @member scenario Scenario to load */ type record AcLoadScenario { Scenario scenario } type enumerated Scenario { e_staticPosition(0), e_dynamicPositionTwoAccelerationsLowSpeed(101), e_dynamicPositionTwoAccelerations(102), e_dynamicPositionChangeHeading(104), e_dynamicPositionSixAccelerations(106), e_dynamicPosition200m(200), e_dynamicPosition250m(250), e_dynamicPosition1000m(1000), e_dynamicPosition1000m_45ms(1045), e_dynamicPosition1500m(1500) } /** * @desc Primitive for starting the loaded scenario */ type record AcStartScenario { } /** * @desc Primitive for stopping the loaded scenario */ type record AcStopScenario { } /** * @desc Primitive to inform when given distance was covered */ type record AcDistanceToCover { float distance } /** * @desc Defines the check for speed values. * e_accelerate - speed value should be equal or above the speed value to check * e_deaccelerate - speed value should be equal or below the speed value to check * e_fix - speed value should be equal the speed value to check */ type enumerated SpeedTrend { e_accelerate(0), e_deaccelerate(1), e_fix(2) } with { variant "8 bits" } /** * @desc Primitive to inform when speed is reached */ type record AcSpeed{ float speed, SpeedTrend speedTrend } /** * @desc Primitive to change speed in current scenario */ type record AcChangeSpeed { SpeedValue deltaSpeed } /** * @desc Primitive to change heading in current scenario */ type record AcChangeHeading { HeadingValue deltaHeading } /** * @desc Primitive to inform when given time in the running scenario was reached */ type record AcTimeInRunningScenario { integer time } } // end acPrimitives with { encode "AdapterControl" } /** * @see ETSI TS 102 965 Intelligent Transport Systems (ITS); Application Object Identifier (ITS-AID); Registration list ETSI ITS registration list * @see https://standards.iso.org/iso/ts/17419/TS17419%20Assigned%20Numbers/TS17419_ITS-AID_AssignedNumbers.pdf */ group securityConstants { const integer c_its_aid_CAM := 36; const integer c_its_aid_DENM := 37; const integer c_its_aid_GPC := 128; const integer c_its_aid_SPAT := 137; const integer c_its_aid_MAP := 138; const integer c_its_aid_IVI := 139; const integer c_its_aid_TLC := 140; const integer c_its_aid_TLS := 140; const integer c_its_aid_GN := 141; const integer c_its_aid_SCR := 623; // Secured Certificate Request, https://standards.ieee.org/products-services/regauth/psid/public.html } } with { encode "LibItsCommon" }