module ItsRSUsSimulator_TypesAndValues { // 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 MAPEM_PDU_Descriptions language "ASN.1:1997" all; import from SPATEM_PDU_Descriptions language "ASN.1:1997" all; import from IVIM_PDU_Descriptions language "ASN.1:1997" all; import from SREM_PDU_Descriptions language "ASN.1:1997" all; import from SSEM_PDU_Descriptions language "ASN.1:1997" all; // LibItsGeoNetworking import from LibItsGeoNetworking_TypesAndValues all; /** * @desc Data structures used to build IS messages & event for a specific RSU */ group rsiSimulatordataStructures { /** * @desc This is the list of DENM events hosted by a single RSU */ type record of DENM DENMs; /** * @desc Defines the list of messages to be sent by a single RSU * @member cam CAM message that a RSU shall send * @member denms List of DENM events that a RSU shall send */ type record RsuMessagesValue { CAM cam, DENMs denms, MAPEM mapem optional, SPATEM spatem optional, IVIM ivim optional } // End of type RsuMessagesValue /** * @desc List of the RSU settings (for future usage (e.g. dynamic change of the RSU ID) */ type record of RsuMessagesValue RsuMessagesValueList; type record DenmParmContainers { ManagementContainer managementContainer, SituationContainer situationContainer, LocationContainer locationContainer } // End of type DenmParm /** * @desc This is the list of DENM dynamic parameters for the different events hosted by a single RSU */ type record of DenmParmContainers DenmParmContainersList; /** * @desc This is the list of DENM dynamic parameters for the different events hosted for all RSUs */ type record of DenmParmContainersList DenmParmContainersListRsu; } // End of group rsiSimulatordataStructures /** * @desc Data structures used to set up IS messages & event according to the track configuration */ group picsDataStructures { /** * @desc CAM setup */ group camDataStructures { /** * @desc Describe the parameter for each CAM event */ type record RsuParm { GN_Address gnAddress, LongPosVector longPosVector, StationID stationID, GeoShape geoShape, union { UInt16 radius } geoParms, PathHistory pathHistory } // End of type CamParm /** * * @desc List of CAM parms per RSU *
             *     vc_longPosVectorRsu := PICS_RSU_PARAMS[PX_RSU_ID - 1].longPosVector;
             * 
*/ type record of RsuParm RsuParmList; } // End of group camDataStructures /** * @desc MAPEM setup */ group mapemDataStructures { // TODO To be done } // End of group mapemDataStructures /** * @desc IVIM setup */ group ivimDataStructures { // TODO To be done } // End of group ivimDataStructures /** * @desc DENM setup */ group denmDataStructures { /** * @desc Describe the parameter for each DENM event */ type record DenmParm { ReferencePosition eventPosition, CauseCodeType causeCodeType, EventHistory eventHistory } // End of type DenmParm /** * @desc List of DENM events per use case * @see *
             *     v_denmParm := PICS_DENM_PARMS_UC1_RWW[vc_eventId];
             *     vc_eventId := (vc_eventId + 1) mod lengthof(PICS_DENM_PARMS_UC1_RWW)
             * 
*/ type record of DenmParm DenmEventsParmsUseCase; /** * @desc List of DENM events per use case and per RSUs *
             *     v_denmParm := PICS_DENM_EVENTS_RSU[PX_RSU_ID - 1][PX_ETSI_USE_CASE_ID][vc_eventId];
             *     vc_eventId := (vc_eventId + 1) mod lengthof(PICS_DENM_EVENTS_RSU[PX_RSU_ID - 1][PX_ETSI_USE_CASE_ID])
             * 
*/ type record of DenmEventsParmsUseCase DenmEventsParmsUseCaseRsu; } // End of group denmDataStructures } // End of group picsDataStructures } // End of module ItsRSUsSimulator_TypesAndValues