Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
ITS - Intelligent Transport Systems
ttcn
CAM TS 102 868-3
Commits
f414e6f5
Commit
f414e6f5
authored
Oct 28, 2021
by
YannGarcia
Browse files
Merging TTF002 in TTF011 - Phase1: AtsCAM, AtsDENM, AtsGeoNetworking, AtsSecurity, AtsPki
parent
79f6072b
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
lib_cam_bases/LibItsCam_EncdecDeclarations.ttcn
0 → 100644
View file @
f414e6f5
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
lib_cam_bases/LibItsCam_Pics.ttcn
0 → 100644
View file @
f414e6f5
/**
* @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
lib_cam_bases/LibItsCam_Pixits.ttcn
0 → 100644
View file @
f414e6f5
/**
* @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
lib_cam_bases/LibItsCam_Templates.ttcn
0 → 100644
View file @
f414e6f5
This diff is collapsed.
Click to expand it.
lib_cam_bases/LibItsCam_TypesAndValues.ttcn
0 → 100644
View file @
f414e6f5
/**
* @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"
}
lib_cam_bases/module.mk
0 → 100644
View file @
f414e6f5
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
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment