Commit f414e6f5 authored by YannGarcia's avatar YannGarcia
Browse files

Merging TTF002 in TTF011 - Phase1: AtsCAM, AtsDENM, AtsGeoNetworking, AtsSecurity, AtsPki

parent 79f6072b
module LibItsCam_EncdecDeclarations {
// LibIts
import from CAM_PDU_Descriptions language "ASN.1:1997" all;
// LibItsCam
import from LibItsCam_TypesAndValues all;
external function fx_enc_CamReq (CamReq p) return bitstring
with {extension "prototype(convert) encode(LibIts_Interface)"}
external function fx_dec_CamReq (inout bitstring b, out CamReq p) return integer
with {extension "prototype(sliding) decode(LibIts_Interface)"}
external function fx_dec_CamInd (inout bitstring b, out CamInd p) return integer
with {extension "prototype(sliding) decode(LibIts_Interface)"}
external function fx_enc_CAM (CAM p) return bitstring
with {extension "prototype(convert) encode(PER)"}
external function fx_dec_CAM (inout bitstring b, out CAM p) return integer
with {extension "prototype(sliding) decode(PER)"}
external function fx_enc_UtCamInitialize (UtCamInitialize p) return bitstring
with {extension "prototype(convert) encode(UpperTester)"}
external function fx_enc_UtCamChangePosition (UtCamChangePosition p) return bitstring
with {extension "prototype(convert) encode(UpperTester)"}
external function fx_enc_UtCamTrigger (UtCamTrigger p) return bitstring
with {extension "prototype(convert) encode(UpperTester)"}
external function fx_dec_UtCamResults (inout bitstring b, out UtCamResults p) return integer
with {extension "prototype(sliding) decode(UpperTester)"}
external function fx_dec_UtCamEventInd (inout bitstring b, out UtCamEventInd p) return integer
with {extension "prototype(sliding) decode(UpperTester)"}
} // End of module LibItsCam_EncdecDeclarations
/**
* @author ETSI / STF405 / STF449 / STF484 / STF517
* @version $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/CAM/LibItsCam_Pics.ttcn $
* $Id: LibItsCam_Pics.ttcn 1318 2017-01-26 10:20:53Z filatov $
* @desc CAM PICS
* @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_Pics {
// LibCommon
import from LibCommon_BasicTypesAndValues all;
group camPics {
/**
* @desc Is the IUT RSU?
* @see ETSI TS 102 868-1 Table A.1
*/
modulepar boolean PICS_RSU := false;
/**
* @desc Is the IUT running in secured mode?
* @see ETSI TS 102 868-1 Table A.1
*/
modulepar boolean PICS_IS_IUT_SECURED := false;
/**
* @desc Is IUT a public transport vehicle
* @see ETSI TS 102 868-1 Table A.2
*/
modulepar boolean PICS_PUBLICTRANS := false;
/**
* @desc Is IUT a special transport vehicle
* @see ETSI TS 102 868-1 Table A.2
*/
modulepar boolean PICS_SPECIALTRANS := false;
/**
* @desc Is IUT a dangerous goods vehicle
* @see ETSI TS 102 868-1 Table A.2
*/
modulepar boolean PICS_DANGEROUSGOODS := false;
/**
* @desc Is IUT a road works vehicle
* @see ETSI TS 102 868-1 Table A.2
*/
modulepar boolean PICS_ROADWORKS := false;
/**
* @desc Is IUT a rescue vehicle
* @see ETSI TS 102 868-1 Table A.2
*/
modulepar boolean PICS_RESCUE := false;
/**
* @desc Is IUT an emergency vehicle
* @see ETSI TS 102 868-1 Table A.2
*/
modulepar boolean PICS_EMERGENCY := false;
/**
* @desc Is IUT a safety car vehicle
* @see ETSI TS 102 868-1 Table A.2
*/
modulepar boolean PICS_SAFETY_CAR := false;
/**
* @desc Does IUT support 'specialVehicleContainer' in CamParameters?
* @see ETSI TS 102 868-1 Table A.2
*/
modulepar boolean PICS_SPECIALVEHICLECONTAINER := true;
/**
* @desc Maximum time interval between CAM generations (in seconds).
* Default value, as per base standard: 1.0s
* @see ETSI TS 102 868-1 Table A.5
*/
modulepar float PICS_T_GENCAMMAX := 1.000;
/**
* @desc Minimum time interval between CAM generations (in seconds).
* Default value, as per base standard: 0.1s
* @see ETSI TS 102 868-1 Table A.5
*/
modulepar float PICS_T_GENCAMMIN := 0.100;
/**
* @desc Minimum time interval between CAM generations (in seconds)
* according to the requirements of the
* Decentralized Congestion Control(DCC).
* Default value, as per base standard: 0.1s
* @see ETSI TS 102 868-1 Table A.5
*/
modulepar float PICS_T_GENCAMDCC := 0.100;
/**
* @desc Support for CAM generation
* @see ETSI TS 102 868-1 Table A.3
*/
modulepar boolean PICS_CAM_GENERATION := true;
/**
* @desc Support for CAM reception
* @see ETSI TS 102 868-1 Table A.3
*/
modulepar boolean PICS_CAM_RECEPTION := true;
} // end camPics
group radioComm {
type enumerated RadioAccess {
e_its_g5,
e_lte_cv2x
}
/**
* @desc Does radio communication use ITS-G5 or LTE-V2X?
* @see ETSI TS 102 868-1 Table A.3
*/
modulepar RadioAccess PICS_RADIO_COMM := e_its_g5;
} // End of group radioComm
} // end LibItsCam_Pics
/**
* @author ETSI / STF405 / STF449 / STF484 / STF517
* @version $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/CAM/LibItsCam_Pixits.ttcn $
* $Id: LibItsCam_Pixits.ttcn 1318 2017-01-26 10:20:53Z filatov $
* @desc Module containing Pixits for CAM
* @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_Pixits {
// LibCommon
import from LibCommon_BasicTypesAndValues all;
import from LibCommon_DataStrings all;
// LibItsSecurity
import from LibItsSecurity_TypesAndValues all;
} // End of module LibItsSecurity_Pixits
\ No newline at end of file
This diff is collapsed.
/**
* @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
group facilityPrimitives {
group fa1Primitives {
/**
* @desc FA1 CAM Indication Primitive
*/
type record CamInd {
CAM msgIn,
UInt64 recvTime,
UInt8 gnNextHeader optional,
UInt8 gnHeaderType optional,
UInt8 gnHeaderSubtype optional,
UInt32 gnLifetime optional,
UInt8 gnTrafficClass optional,
UInt16 btpDestinationPort optional,
UInt16 btpInfo optional,
Bit256 ssp optional,
UInt32 its_aid optional
}
with {
encode (msgIn) "PER"
}
/**
* @desc FA1 CAM Request Primitive
*/
type record CamReq {
CAM msgOut
}
with {
encode (msgOut) "PER"
}
} // end fa1Primitives
} // End of group facilityPrimitives
with {
variant ""
encode "LibIts_Interface"
} // end interfacePrimitives
}
with {
encode "LibItsCam"
}
sources := \
LibItsCam_EncdecDeclarations.ttcn \
LibItsCam_Pics.ttcn \
LibItsCam_Pixits.ttcn \
LibItsCam_Templates.ttcn \
LibItsCam_TypesAndValues.ttcn \
asn1/CAM_PDU_Descriptions.asn
ifeq (,$(ITS_CONTAINER))
ITS_CONTAINER := defined
sources += asn1/cdd/ITS_Container.asn
endif
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment