Commits (2)
This diff is collapsed.
module ItsAutoInterop_Pics {
// LibCommon
import from LibCommon_BasicTypesAndValues all;
// LibIts
import from IEEE1609dot2BaseTypes language "ASN.1:1997" all;
import from IEEE1609dot2 language "ASN.1:1997" all;
import from EtsiTs103097Module language "ASN.1:1997" all;
// LibItsBtp
import from LibItsBtp_TypesAndValues all;
// LibItsSecurity
import from LibItsSecurity_TypesAndValues all;
/**
* @desc BTP destination port identifier for CAM protocol
* @see ETSI DTS/ITS0144 Table
*/
modulepar BtpPortId PICS_CAM_BTP_DESTINATION_PORT := 2001;
/**
* @desc BTP source port identifier for CAM protocol
* @see TODO
*/
modulepar BtpPortId PICS_CAM_BTP_SOURCE_PORT := 0;
/**
* @desc ItsAid for CAM protocol
* @see TODO
*/
modulepar UInt32 PICS_CAM_ITS_AID := 36;
/**
* @desc BTP destination port identifier for DENM protocol
* @see TODO
*/
modulepar BtpPortId PICS_DENM_BTP_DESTINATION_PORT := 2002;
/**
* @desc BTP source port identifier for DENM protocol
* @see TODO
*/
modulepar BtpPortId PICS_DENM_BTP_SOURCE_PORT := 0;
/**
* @desc ItsAid for DENM protocol
* @see TODO
*/
modulepar UInt32 PICS_DENM_ITS_AID := 37;
/**
* @desc Z1-D1-EP/POS1
*/
modulepar ThreeDLocation PICS_Z1_D1_EP := {
latitude := 435525352, // Z1-D1-EP/latitude
longitude := 103003415, // Z1-D1-EP/longitude
elevation := 0
}; // End of PICS_Z1_D1_EP
/**
* @desc Z1-D2-EP/POS2
*/
modulepar ThreeDLocation PICS_Z1_D2_EP := {
latitude := 435519107, // Z1-D2-EP/latitude
longitude := 102993930, // Z1-D2-EP/longitude
elevation := 0
}; // End of PICS_Z1_D2_EP
/**
* @desc Z1-D3-EP/POS3
*/
modulepar ThreeDLocation PICS_Z1_D3_EP := {
latitude := 435513421, // Z1-D3-EP/latitude
longitude := 102986038, // Z1-D3-EP/longitude
elevation := 0
}; // End of PICS_Z1_D3_EP
/**
* @desc Use the GPS position of each heavy truck
*/
modulepar ThreeDLocation PICS_UC2_HEAVY_TRUCK_POS := {
latitude := 435536690,
longitude := 103031060,
elevation := 0
}; // End of PICS_Z1_D3_EP
/**
* @desc DENM cause variant for TC_AUTO_IOT_DENM_SVW_BV_01
* @see Draft ETSI TS yyy xxx-2 V0.0.87 (2017-03) Table 4: Possible DENM cause values (ETSI EN 302 637-3 [5] Table 10: Cause description and cause code assignment for ETSI use case)
*/
modulepar integer PICS_UC2_CAUSE := 94;
/**
* @desc DENM subcause variant for TC_AUTO_IOT_DENM_SVW_BV_01
* @see Draft ETSI TS yyy xxx-2 V0.0.87 (2017-03) Table 5: Possible DENM sub-cause values (ETSI EN 302 637-3 [5] Table 10: Cause description and cause code assignment for ETSI use case)
*/
modulepar integer PICS_UC2_SUBCAUSE := 5;
/**
* @desc Absolute coordinate for position 0
* @see TODO
*/
modulepar ThreeDLocation PICS_POS0 := {
latitude := 435522970,
longitude := 103000170,
elevation := 0
}
/**
* @desc Absolute coordinate for position 1
* @see TODO
*/
modulepar ThreeDLocation PICS_POS1 := {
latitude := 435525352,
longitude := 103000415,
elevation := 0
}
/**
* @desc Absolute coordinate for position 2
* @see TODO
*/
modulepar ThreeDLocation PICS_POS2 := {
latitude := 435519107,
longitude := 102993930,
elevation := 0
}
/**
* @desc Absolute coordinate for position 3
* @see TODO
*/
modulepar ThreeDLocation PICS_POS3 := {
latitude := 435513421,
longitude := 102986038,
elevation := 0
}
/**
* @desc Absolute coordinate for position 4
* @see TODO
*/
modulepar ThreeDLocation PICS_POS4 := {
latitude := 435522970,
longitude := 103000170,
elevation := 0
}
/**
* @desc Absolute coordinate for TARGET_GEOAREA
* @see TODO
*/
modulepar ThreeDLocation PICS_TARGET_GEOAREA := {
latitude := 435522970,
longitude := 103000170,
elevation := 0
}
} // End of module ItsAutoInterop_Pics
module ItsAutoInterop_Pixits {
// Libcommon
import from LibCommon_BasicTypesAndValues all;
// ItsInterop
import from ItsAutoInterop_TypesAndValues all;
/**
* @desc
* Possible values: on-link or off-link
*/
modulepar charstring PX_CAPTURE_MODE := "on-link"; // TODO Change it into boolean
/**
* EUTs descriptions
*/
modulepar EutDescriptions PX_EUT_DESC := {
{
'b482fe4433eb'O,
10002,
'b482fe4433eb'O
}, // EUT_1
{
'ce6b359a0c57'O,
10152,
'ce6b359a0c57'O
}, // EUT_2
{
'000000000003'O,
333,
'000000000003'O
}, // EUT_3
{
'000000000004'O,
444,
'000000000004'O
} // EUT_4
}
/**
* @desc EUT1 identifier to refer to its @see EutDescriptions
*/
modulepar integer PX_EUT1_ID := 0;
/**
* @desc EUT2 identifier to refer to its @see EutDescriptions
*/
modulepar integer PX_EUT2_ID := 1;
/**
* @desc EUT3 identifier to refer to its @see EutDescriptions
*/
modulepar integer PX_EUT3_ID := 2;
/**
* @desc EUT4 identifier to refer to its @see EutDescriptions
*/
modulepar integer PX_EUT4_ID := 3;
/**
* @desc Pre-defined security distance
*/
modulepar float PX_PRE_DEFINED_SECURITY_DISTANCE := 10.0;
/**
* @desc Pre-defined security distance
*/
modulepar float PX_DISTANCE_EPSILON := 1.0;
/**
* @desc Pre-defined security distance for forward collision risk condition
*/
modulepar float PX_FORWARD_COLLISION_SECURITY_DISTANCE := 0.0;
/**
* @desc Pre-defined security distance for forward collision risk condition
*/
modulepar float PX_LATERAL_COLLISION_SECURITY_DISTANCE := 0.0;
/**
* @desc DENM cause variant
* @see Draft ETSI TS yyy xxx-2 V0.0.87 (2017-03) Table 4: Possible DENM cause values (ETSI EN 302 637-3 [5] Table 10: Cause description and cause code assignment for ETSI use case)
*/
modulepar integer PX_DENM_CAUSE_VA := 94;
/**
* @desc DENM subcause variant
* @see Draft ETSI TS yyy xxx-2 V0.0.87 (2017-03) Table 5: Possible DENM sub-cause values (ETSI EN 302 637-3 [5] Table 10: Cause description and cause code assignment for ETSI use case)
*/
modulepar integer PX_DENM_SUBCAUSE_VA := 5;
} // End of module ItsAutoInterop_Pixits
module ItsAutoInterop_Templates {
// LibCommon
import from LibCommon_BasicTypesAndValues 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 IEEE1609dot2BaseTypes language "ASN.1:1997" all;
import from IEEE1609dot2 language "ASN.1:1997" all;
import from EtsiTs103097Module language "ASN.1:1997" all;
// LibItsCommon
import from LibCommon_DataStrings all;
import from LibItsExternal_TypesAndValues all;
// LibItsGeoNetworking
import from LibItsGeoNetworking_TestSystem all;
import from LibItsGeoNetworking_Templates all;
import from LibItsGeoNetworking_TypesAndValues all;
// LibItsBtp
import from LibItsBtp_Templates all;
// LibItsCam
import from LibItsCam_Templates all;
// LibItsDenm
import from LibItsDenm_Templates all;
// LibItsSecurity
import from LibItsSecurity_TypesAndValues all;
// ItsInterop
import from ItsAutoInterop_TypesAndValues all;
import from ItsAutoInterop_Pics all;
import from ItsAutoInterop_TestSystem all;
group eutGeoNetworkingTemplates {
/**
* @desc Re-send template for inter-EUT message exchanges
* @param p_geoNetworkingInd GeoNetworking message indication received on GeoNetworking protocol port
*/
template (value) EutGeoNetworking m_forward_geoNetworkingInd(
in template (value) GeoNetworkingInd p_geoNetworkingInd
) := {
msg := valueof(p_geoNetworkingInd.msgIn),
macDestinationAddress := valueof(p_geoNetworkingInd.macDestinationAddress),
ssp := omit,
its_aid := omit
} // End of template m_forward_geoNetworkingInd
/**
* @desc Receive template for EUT GeoNetworking packet (GeonetworkingPort Primitive)
* @param p_geoNwMsg GeoNetworking packet to be received
*/
template (present) EutGeoNetworking mw_eutGeoNwInd(
template (present) GeoNetworkingPdu p_geoNwMsg
) := {
msg := p_geoNwMsg,
macDestinationAddress := ?,
ssp := *,
its_aid := *
} // End of template mw_eutGeoNwInd
/**
* @desc Receive template for EUT GeoNetworking packet (GeonetworkingPort Primitive)
* @param p_geoNwMsg GeoNetworking packet to be received
* @param p_llDestinationAdress Link-layer destination address
*/
template(present) EutGeoNetworking mw_eutGeoNwInd_withLinkLayerDestination(
template (present) GeoNetworkingPdu p_geoNwMsg,
template (present) MacAddress p_llDestinationAdress
) modifies mw_eutGeoNwInd := {
macDestinationAddress := p_llDestinationAdress
} // End of template mw_eutGeoNwInd_withLinkLayerDestination
} // End of group eutGeoNetworkingTemplates
group geoNetworkingTemplates {
/**
* @desc Conversion template from ThreeDLocation to LongPosVector for distance calculus
* @param p_position ThreeDLocation
*/
template (value) LongPosVector m_longPosVector(
in template (value) ThreeDLocation p_position
) modifies m_dummyLongPosVector := {
latitude := valueof(p_position.latitude),
longitude := valueof(p_position.longitude)
} // End of template mw_denm_stationId
/**
* @desc Dummy template for long position vector
*/
template (present) LongPosVector mw_dummyLongPosVector := {
gnAddr := mw_gnAddressMid(?),
timestamp_ := ?,
latitude := ?,
longitude := ?,
pai := ?,
speed := ?,
heading := ?
}
/**
* @desc Receive template for the destinationArea which indicates the TARGET_GEOAREA
* @param p_gnAddress GN_Address to be contained in the long position vector
*/
template (present) LongPosVector mw_longPosVector(
template (value) ThreeDLocation p_position
) modifies mw_dummyLongPosVector := { // TODO use mw_longPosVectorAny instead of mw_dummyLongPosVector
latitude := valueof(p_position.latitude),
longitude := valueof(p_position.longitude)
} // End of template mw_longPosVector
/**
* @desc Receive template for GeoNetworking CAM Packet
* @param p_sourceLongPosVec Source position vector of destination
* @param p_hopLimit Sequence number of GeoUnicast packet
* @param p_nextHeader Expected next header
* @param p_cam Expected CA message
*/
template (present) GnNonSecuredPacket mw_geoNwShbPacketWithNextHeaderAndPayload(
template (present) LongPosVector p_sourceLongPosVec := ?,
template (present) UInt8 p_hopLimit := ?,
template (present) NextHeader p_nextHeader := ?,
template (present) octetstring p_payload := ?
) modifies mw_geoNwShbPacket := {
commonHeader := mw_commonHeaderWithHopLimit(
p_nextHeader,
m_shbHeaderType,
p_hopLimit
),
payload := p_payload
} // End of template mw_geoNwShbPacketWithNextHeaderAndPayload
} // End of group geoNetworkingTemplates
group camTemplates {
/**
* @desc Receive template for CAM station ID
* @param p_basicVehicleContainer CA basic vehicle container
* @param p_stationId Vehicle station ID
* @param p_referencePosition Expected reference position
*/
template (present) CAM mw_cam_stationId(
template (present) BasicVehicleContainerHighFrequency p_basicVehicleContainer := mw_HF_BV_speed(?),
template (present) StationID p_stationId := ?,
template (present) ReferencePosition p_referencePosition := ?
) modifies mw_camMsg_HF_BV := {
header := {
stationID := p_stationId
},
cam := {
camParameters := {
basicContainer := {
stationType := ?,
referencePosition := p_referencePosition
}
}
}
} // End of template mw_cam_stationId
} // End of group camTemplates
group denmTemplates {
/**
* @desc Receive template for DENM station ID
* @param p_stationId Vehicle station ID
* @param p_denm Expected DENM packet
*/
template (present) DENM mw_denm_stationId(
template (present) StationID p_stationId := ?,
template (present) DecentralizedEnvironmentalNotificationMessage p_denm := ?
) := mw_denmPdu(p_denm, p_stationId); // End of template mw_denm_stationId
/**
* @desc Receive template for Management Container
* @param p_actionID The expected action id
* @param p_referenceTime The reference time (Default: any)
* @param p_isNegation The expected negation flag (Default: false)
* @param p_validityDuration The expected validity duration (Default: any or omit)
* @param p_transmissionInterval The expected transmission interval (Default: any or omit)
*/
template (present) ManagementContainer mw_denmMgmtCon_with_relevances(
template (present) ActionID p_actionID := ?,
template (present) ITS_Container.StationType p_stationType := ?,
template (present) TimestampIts p_referenceTime := ?,
template ValidityDuration p_validityDuration := *, // In ASN.1, a DEFAULT value constraint could be replaced by an omit
template TransmissionInterval p_transmissionInterval := *,
template Termination p_termination := *,
template (present) RelevanceDistance p_relevanceDistance := ?,
template (present) RelevanceTrafficDirection p_relevanceTrafficDirection := ?,
template (present) ReferencePosition p_eventPosition := ?
) modifies mw_denmMgmtCon := {
eventPosition := p_eventPosition,
relevanceDistance := p_relevanceDistance,
relevanceTrafficDirection := p_relevanceTrafficDirection
} // End of tamplate mw_denmMgmtCon_with_relevances
/**
* @desc Receive template for Management Container
* @param p_actionID The expected action id
* @param p_referenceTime The reference time (Default: any)
* @param p_isNegation The expected negation flag (Default: false)
* @param p_validityDuration The expected validity duration (Default: any or omit)
* @param p_transmissionInterval The expected transmission interval (Default: any or omit)
*/
template (present) ManagementContainer mw_denmMgmtCon_with_relevances_position(
template (present) ActionID p_actionID := ?,
template (present) ITS_Container.StationType p_stationType := ?,
template (present) TimestampIts p_referenceTime := ?,
template ValidityDuration p_validityDuration := *, // In ASN.1, a DEFAULT value constraint could be replaced by an omit
template TransmissionInterval p_transmissionInterval := *,
template Termination p_termination := *,
template (present) ReferencePosition p_eventPosition := ?
) modifies mw_denmMgmtCon := {
eventPosition := p_eventPosition
} // End of tamplate mw_denmMgmtCon_with_relevances_position
/**
* @desc Receive template for the test system position
* @param p_longitude The longitude (Default: Test system's longitude)
* @param p_latitude The latitude (Default: Test system's latitude)
* @see m_posConfidenceEllipse
* @see m_elevation
*/
template (present) ReferencePosition mw_referencePosition(
template (present) ThreeDLocation p_location := ?
) := {
latitude := p_location.latitude,
longitude := p_location.longitude,
positionConfidenceEllipse := ?,
altitude := ? // FIXME Create a convertion function SecElevation to intteger for p_location.elevation
} // End of tamplate mw_referencePosition
} // End of group denmTemplates
group hmiPrimitiveTemplates {
/**
* @desc Initializes the EUT's HMI.
*/
template (value) HmiInitialize m_hmiInitialize := {
hashedId8 := '0000000000000000'O
}
/**
* @desc Value template for NeighborEventInd matching
* @param p_mid MID value
* @param p_stationId Vehicle station ID
*/
template (value) HmiNeighborEventInd m_hmiNeighborEventInd(
in Oct6 p_mid,
in UInt32 p_stationId
) := {
mid := p_mid,
stationId := p_stationId
} // End of template m_hmiNeighborEventInd
/**
* @desc Value template for NeighborEventInd matching
* @param p_mid MID value
* @param p_stationId Vehicle station ID
*/
template (present) HmiNeighborEventInd mw_hmiNeighborEventInd(
template (present) Oct6 p_mid := ?,
template (present) UInt32 p_stationId := ?
) := {
mid := p_mid,
stationId := p_stationId
} // End of template mw_hmiNeighborEventInd
/**
* @desc Received indication generic template HMI indications
*/
template (present) HmiSignageEventInd mw_hmiSignageEventInd := {
countryCode := ?,
trafficSignPictogramClass := *,
trafficSignPictogramNature := *,
ambientOrRoadConditionPictogramClass := *,
ambientOrRoadConditionPictogramNature := *
} // End of template mw_hmiSignageEventInd
/**
* @desc Received indication template for Road Work Warning/Speed limit
*/
template (present) HmiSignageEventInd mw_hmiSignageEventInd_roadworks_limitedspeed(
template (present) integer p_seed := 30
) modifies mw_hmiSignageEventInd := {
ambientOrRoadConditionPictogramClass := e_roadCondition,
ambientOrRoadConditionPictogramNature := (1..9)
} // End of template mw_hmiSignageEventInd_roadworks_limitedspeed
/**
* @desc Received indication template for Road Hazard Signals
*/
template (present) HmiSignageEventInd mw_hmiSignageEventInd_roadHazardSignal modifies mw_hmiSignageEventInd := {
ambientOrRoadConditionPictogramClass := e_roadCondition,
ambientOrRoadConditionPictogramNature := (1..9)
} // End of template mw_hmiSignageEventInd_roadHazardSignal
/**
* @desc Received indication template for Stationary Vehicle Information
*/
template (present) HmiSignageEventInd mw_hmiSignageEventInd_stationaryVehicleWarning modifies mw_hmiSignageEventInd := {
ambientOrRoadConditionPictogramClass := e_roadCondition,
ambientOrRoadConditionPictogramNature := (1..9)
} // End of template mw_hmiSignageEventInd_stationaryVehicleWarning
/**
* @desc Received indication template for Forward Collision Risk
*/
template (present) HmiSignageEventInd mw_hmiSignageEventInd_forwardCollisionRisk modifies mw_hmiSignageEventInd := {
trafficSignPictogramClass := e_dangerWarning,
trafficSignPictogramNature := (1..9)
} // End of template mw_hmiSignageEventInd_forwardCollisionRisk
/**
* @desc Received indication template for Lateral Collision Risk
*/
template (present) HmiSignageEventInd mw_hmiSignageEventInd_lateralCollisionRisk modifies mw_hmiSignageEventInd := {
trafficSignPictogramClass := e_dangerWarning,
trafficSignPictogramNature := (1..9)
} // End of template mw_hmiSignageEventInd_lateralCollisionRisk
} // End of group hmiPrimitiveTemplates
group utPrimitiveTemplates {
} // End of group utPrimitiveTemplates
} // End of module ItsAutoInterop_Templates
This diff is collapsed.
module ItsAutoInterop_TestControl {
// ItsInterop
import from ItsAutoInterop_TestCases all;
control {
// Draft ETSI TS yyy xxx-2 V0.0.8 (2017-03) Clause 6.2.2 DEN message - Forwarding
execute(TC_AUTO_IOT_DENM_MFW_BV_01());
execute(TC_AUTO_IOT_DENM_MFW_BV_02());
execute(TC_AUTO_IOT_DENM_MFW_BV_03());
// Draft ETSI TS yyy xxx-2 V0.0.8 (2017-03) Clause 6.2.3 DEN message - Road Works Warning
execute(TC_AUTO_IOT_DENM_RWW_BV_01());
// Draft ETSI TS yyy xxx-2 V0.0.8 (2017-03) Clause 6.2.4 DEN message - Road Hazard Signals
execute(TC_AUTO_IOT_DENM_RHS_BV_01());
// Draft ETSI TS yyy xxx-2 V0.0.8 (2017-03) Clause 6.2.5 DEN message - Stationary Vehicle Warning
execute(TC_AUTO_IOT_DENM_SVW_BV_01());
// Draft ETSI TS yyy xxx-2 V0.0.8 (2017-03) Clause 6.2.6 DEN message - Geo-broadcast message caching
execute(TC_AUTO_IOT_DENM_GMC_BV_01());
// Draft ETSI TS yyy xxx-2 V0.0.8 (2017-03) Clause 6.2.7 CA message � Neighbors detection
execute(TC_AUTO_IOT_CAM_NBD_BV_01());
// Draft ETSI TS yyy xxx-2 V0.0.8 (2017-03) Clause 6.2.8 CA message � Collision Risk Warning
execute(TC_AUTO_IOT_CAM_CRW_BV_01());
execute(TC_AUTO_IOT_CAM_CRW_BV_02());
// Draft ETSI TS yyy xxx-2 V0.0.8 (2017-03) Clause 6.2.9 GN message � Duplicate address detection
execute(TC_AUTO_IOT_GN_DAD_BV_01());
} // End of 'control' statement
} // End of module ItsAutoInterop_TestControl
\ No newline at end of file
module ItsAutoInterop_TestSystem {
// Libcommon
import from LibCommon_BasicTypesAndValues all;
import from LibCommon_DataStrings all;
// LibItsCommon
import from LibItsExternal_TypesAndValues all;
// LibItsGeoNetworking
import from LibItsGeoNetworking_TypesAndValues all;
import from LibItsGeoNetworking_TestSystem all;
// ItsAutoInterop
import from ItsAutoInterop_TypesAndValues all;
group portDefinitions {
/**
* @desc EUT's HMI port
*/
type port HmiPort message {
in
HmiAutoInteropResults, HmiNeighborEventInds, HmiSignageEventInd;
out
HmiInitialize
}
} // End of group portDefinitions
group systemInterface {
/**
* @desc ITS System Adapter
*/
type component ItsAutoInteropGeoNetworkingSystem extends ItsGeoNetworkingSystem {
port HmiPort hmiPort;
} // End of component ItsAutoInteropGeoNetworkingSystem
} // End of group systemInterface
group componentDefinitions {
/**
* @desc Test component for ITS Network and Transport layer
*/
type component ItsAutoInteropGeonetworking extends ItsGeoNetworking {
port EutGeoNetworkingPort eutGeoNetworkingPort;
port HmiPort hmiPort;
// HMI indications
var HmiNeighborEventIndList vc_hmiNeighborEventIndsList := {};
var HmiSignageEventIndList vc_hmiSignageEventIndList := {};
var boolean vc_hmiDefaultActive := true;
} // End of component ItsAutoInteropGeonetworking
} // End of group componentDefinitions
type port EutGeoNetworkingPort message {
inout EutGeoNetworking
} with {
extension "internal"
}
/**
* @desc Inter EUT component communication
*/
type record EutGeoNetworking {
GeoNetworkingPdu msg,
MacAddress macDestinationAddress,
Bit256 ssp optional,
UInt32 its_aid optional
} with {
encode "RAW";
variant ""
} // End of type EutGeoNetworking
} // End of module ItsAutoInterop_TestSystem
\ No newline at end of file
module ItsAutoInterop_TypesAndValues {
// Libcommon
import from LibCommon_BasicTypesAndValues all;
import from LibCommon_DataStrings all;
// LibIts
import from ITS_Container language "ASN.1:1997" all;
/**
* @desc Information required to uniquelly describe an EUT
* @member mid MID value of the device
* @member stationId Station ID value of the device
* @member ll_mac_address Link layer MAC address of the device
*/
type record EutDescription {
Oct6 mid,
StationID stationId,
Oct6 ll_mac_address
} // End of type EutDescription_
/**
* @desc Define a list of uniquelly described EUTs
*/
type record of EutDescription EutDescriptions;
group hmiPrimitives {
/**
* @desc HMI message to initialize HMI's IUT
* @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the HMI's IUT shall use
*/
type record HmiInitialize {
Oct8 hashedId8
} // End of type HmiInitialize
type union HmiAutoInteropResults {
boolean hmiInitializeResult
} // End of type HmiAutoInteropResults
type HmiAutoInteropResults.hmiInitializeResult HmiInitializeResult;
type record HmiNeighborEventInd { // TODO Simplify using EutDescription
Oct6 mid,
UInt32 stationId
} // End of type HmiNeighborEventInd
/**
* @desc Define a list of uniquelly described EUTs
* @remark 'set of' is used in order to use superset
*/
type set of HmiNeighborEventInd HmiNeighborEventInds;
/**
* @desc TODO
*/
type record of HmiNeighborEventInds HmiNeighborEventIndList;
/**
* @desc The list of Traffic Sign Information
* @see ISO/TS 14823 Clause 6.2 Information Elements
* @see ISO/TS 14823 Table 1 — Information Elements
*/
type enumerated TrafficSignPictogramClass { e_dangerWarning, e_regulatory, e_informative };
/**
* @desc The list of Ambient/Road Condition Information
* @see ISO/TS 14823 Clause 6.2 Information Elements
* @see ISO/TS 14823 Table 1 — Information Elements
*/
type enumerated AmbientOrRoadConditionPictogramClass { e_ambientCondition, e_roadCondition }
/**
* @see ISO/TS 14823 Clause 6.2 Information Elements
* @see ISO/TS 14823 Table 2 — Code Ordering (without attribute data)
*/
type record HmiSignageEventInd { // TODO To be refined
UInt16 countryCode,
TrafficSignPictogramClass trafficSignPictogramClass optional,
UInt8 trafficSignPictogramNature optional,
AmbientOrRoadConditionPictogramClass ambientOrRoadConditionPictogramClass optional,
UInt8 ambientOrRoadConditionPictogramNature optional
} // End of type HmiSignageEventInd
/**
* @desc TODO
*/
type record of HmiSignageEventInd HmiSignageEventIndList;
} // End of group hmiPrimitives
} with {
encode "RAW";
variant ""
} // End of module ItsAutoInterop_TypesAndValues