Loading ttcn/AtsRSUsSimulator/ItsRSUsSimulator_Functions.ttcn +18 −8 Original line number Diff line number Diff line Loading @@ -67,7 +67,6 @@ module ItsRSUsSimulator_Functions { // Map map(self:acPort, system:acPort); map(self:utPort, system:utPort); map(self:cfPort, system:cfPort); map(self:geoNetworkingPort, system:geoNetworkingPort); Loading @@ -94,7 +93,6 @@ module ItsRSUsSimulator_Functions { // Unmap unmap(self:acPort, system:acPort); unmap(self:utPort, system:utPort); unmap(self:cfPort, system:cfPort); unmap(self:geoNetworkingPort, system:geoNetworkingPort); Loading @@ -121,7 +119,7 @@ module ItsRSUsSimulator_Functions { vc_longPosVectorRsu := PICS_RSU_PARAMS[p_rsu_id].longPosVector; // MAPEM if (PICS_GENERATE_MAPEM) { if (PICS_GENERATE_MAPEM and ispresent(PICS_MAPEM_PARMS_RSUs[p_rsu_id].intersections)) { // Build the list of the MAPEM events v_mapem := m_mapemParm( Loading @@ -136,8 +134,8 @@ module ItsRSUsSimulator_Functions { // TODO Add more? } // SPATEM if (PICS_GENERATE_SPATEM) { // Build the list of the DENM events if (PICS_GENERATE_SPATEM and (lengthof(PICS_SPATEM_PARMS_RSUs[p_rsu_id]) != 0)) { // Build the list of the SPATEM events for (v_counter := 0; v_counter < lengthof(PICS_SPATEM_PARMS_RSUs[p_rsu_id]); v_counter := v_counter + 1) { v_spatems[v_counter] := m_spatemParm( Loading @@ -154,8 +152,8 @@ module ItsRSUsSimulator_Functions { // TODO Build SPATEM with dynamic values } // IVIM if (PICS_GENERATE_IVIM) { // Build the list of the MAPEM events if (PICS_GENERATE_IVIM and ispresent(PICS_IVIM_PARMS_RSUs[p_rsu_id].provider)) { // Build the list of the IVIM events v_ivim := m_ivimParm( PICS_RSU_PARAMS[p_rsu_id].stationID, Loading @@ -165,7 +163,7 @@ module ItsRSUsSimulator_Functions { PICS_IVIM_PARMS_RSUs[p_rsu_id].iviIdentificationNumber, 0//IviStatus_new_ ), { PICS_IVIM_PARMS_RSUs[p_rsu_id].iviContainer } PICS_IVIM_PARMS_RSUs[p_rsu_id].iviContainers )); // Update ivi status v_ivim.ivi.mandatory.validFrom := f_getCurrentTime(); Loading Loading @@ -321,6 +319,18 @@ module ItsRSUsSimulator_Functions { ) runs on ItsRSUsSimulator { var template (value) SPATEM v_spatem := p_spatem; // Make a copy vc_currentPhaseStartTime := f_getCurrentTime(); vc_endPhaseStartTime := vc_currentPhaseStartTime + vc_repitition_duration[vc_spatemStatesId]; // Rebuild SPATEM message for (var integer v_intersection := 0; v_intersection < lengthof(v_spatem.spat.intersections); v_intersection := v_intersection + 1) { var template (value) MovementList v_states := vc_states[PX_RSU_ID - 1][v_intersection]; Loading ttcn/AtsRSUsSimulator/ItsRSUsSimulator_Pics.ttcn +2690 −361 File changed.Preview size limit exceeded, changes collapsed. Show changes ttcn/AtsRSUsSimulator/ItsRSUsSimulator_TestSystem.ttcn +21 −5 Original line number Diff line number Diff line Loading @@ -46,6 +46,9 @@ module ItsRSUsSimulator_TestSystem { * @desc DENM sequence number index */ var SequenceNumber vc_sequenceNumber := 0; /** * @desc TODO */ var MsgCount vc_msgIssueRevision := 0; /** * @desc List of MovementState per intersection and per RSU Loading @@ -55,12 +58,25 @@ module ItsRSUsSimulator_TestSystem { * @desc Current SPATEM state */ var integer vc_spatemStatesId := 0; timer tc_cam := PICS_CAM_FREQUENY; timer tc_denm := PICS_DENM_FREQUENY; timer tc_mapem := PICS_MAPEM_FREQUENY; timer tc_spatem := PICS_SPATEM_FREQUENY; timer tc_ivim := PICS_IVIM_FREQUENY; /** * @desc TODO */ var TimestampIts vc_currentPhaseStartTime := 0; /** * @desc TODO */ var TimestampIts vc_endPhaseStartTime := 0; var SpatemRepetionDuration vc_repitition_duration := { PICS_SPATEM_REPITITION_DURATION_STATE_1, PICS_SPATEM_REPITITION_DURATION_STATE_2, PICS_SPATEM_REPITITION_DURATION_STATE_3 }; timer tc_cam := PICS_CAM_FREQUENCY; timer tc_denm := PICS_DENM_FREQUENCY; timer tc_mapem := PICS_MAPEM_FREQUENCY; timer tc_spatem := PICS_SPATEM_FREQUENCY; timer tc_ivim := PICS_IVIM_FREQUENCY; } // End of component ItsRSUsSimulator Loading ttcn/AtsRSUsSimulator/ItsRSUsSimulator_TypesAndValues.ttcn +11 −4 Original line number Diff line number Diff line Loading @@ -33,6 +33,11 @@ module ItsRSUsSimulator_TypesAndValues { */ type record of SPATEM SPATEMs; /** * @desc TODO */ type record of UInt32 SpatemRepetionDuration; /** * @desc Defines the list of messages to be sent by a single RSU * @member cam CAM message that a RSU shall send Loading Loading @@ -114,7 +119,7 @@ module ItsRSUsSimulator_TypesAndValues { * @desc Describe the parameter for each MAPEM event */ type record MapemParm { IntersectionGeometryList intersections, IntersectionGeometryList intersections optional, RoadSegmentList roadSegments optional } // End of type MapemParm Loading Loading @@ -167,13 +172,15 @@ module ItsRSUsSimulator_TypesAndValues { */ group ivimDataStructures { type record length (1 .. 8) of IviContainer IviContainers; /** * @desc Describe the parameter for each IVIM event */ type record IvimParm { Provider provider, IviIdentificationNumber iviIdentificationNumber, IviContainer iviContainer Provider provider optional, IviIdentificationNumber iviIdentificationNumber optional, IviContainers iviContainers optional } // End of type IvimParm /** Loading Loading
ttcn/AtsRSUsSimulator/ItsRSUsSimulator_Functions.ttcn +18 −8 Original line number Diff line number Diff line Loading @@ -67,7 +67,6 @@ module ItsRSUsSimulator_Functions { // Map map(self:acPort, system:acPort); map(self:utPort, system:utPort); map(self:cfPort, system:cfPort); map(self:geoNetworkingPort, system:geoNetworkingPort); Loading @@ -94,7 +93,6 @@ module ItsRSUsSimulator_Functions { // Unmap unmap(self:acPort, system:acPort); unmap(self:utPort, system:utPort); unmap(self:cfPort, system:cfPort); unmap(self:geoNetworkingPort, system:geoNetworkingPort); Loading @@ -121,7 +119,7 @@ module ItsRSUsSimulator_Functions { vc_longPosVectorRsu := PICS_RSU_PARAMS[p_rsu_id].longPosVector; // MAPEM if (PICS_GENERATE_MAPEM) { if (PICS_GENERATE_MAPEM and ispresent(PICS_MAPEM_PARMS_RSUs[p_rsu_id].intersections)) { // Build the list of the MAPEM events v_mapem := m_mapemParm( Loading @@ -136,8 +134,8 @@ module ItsRSUsSimulator_Functions { // TODO Add more? } // SPATEM if (PICS_GENERATE_SPATEM) { // Build the list of the DENM events if (PICS_GENERATE_SPATEM and (lengthof(PICS_SPATEM_PARMS_RSUs[p_rsu_id]) != 0)) { // Build the list of the SPATEM events for (v_counter := 0; v_counter < lengthof(PICS_SPATEM_PARMS_RSUs[p_rsu_id]); v_counter := v_counter + 1) { v_spatems[v_counter] := m_spatemParm( Loading @@ -154,8 +152,8 @@ module ItsRSUsSimulator_Functions { // TODO Build SPATEM with dynamic values } // IVIM if (PICS_GENERATE_IVIM) { // Build the list of the MAPEM events if (PICS_GENERATE_IVIM and ispresent(PICS_IVIM_PARMS_RSUs[p_rsu_id].provider)) { // Build the list of the IVIM events v_ivim := m_ivimParm( PICS_RSU_PARAMS[p_rsu_id].stationID, Loading @@ -165,7 +163,7 @@ module ItsRSUsSimulator_Functions { PICS_IVIM_PARMS_RSUs[p_rsu_id].iviIdentificationNumber, 0//IviStatus_new_ ), { PICS_IVIM_PARMS_RSUs[p_rsu_id].iviContainer } PICS_IVIM_PARMS_RSUs[p_rsu_id].iviContainers )); // Update ivi status v_ivim.ivi.mandatory.validFrom := f_getCurrentTime(); Loading Loading @@ -321,6 +319,18 @@ module ItsRSUsSimulator_Functions { ) runs on ItsRSUsSimulator { var template (value) SPATEM v_spatem := p_spatem; // Make a copy vc_currentPhaseStartTime := f_getCurrentTime(); vc_endPhaseStartTime := vc_currentPhaseStartTime + vc_repitition_duration[vc_spatemStatesId]; // Rebuild SPATEM message for (var integer v_intersection := 0; v_intersection < lengthof(v_spatem.spat.intersections); v_intersection := v_intersection + 1) { var template (value) MovementList v_states := vc_states[PX_RSU_ID - 1][v_intersection]; Loading
ttcn/AtsRSUsSimulator/ItsRSUsSimulator_Pics.ttcn +2690 −361 File changed.Preview size limit exceeded, changes collapsed. Show changes
ttcn/AtsRSUsSimulator/ItsRSUsSimulator_TestSystem.ttcn +21 −5 Original line number Diff line number Diff line Loading @@ -46,6 +46,9 @@ module ItsRSUsSimulator_TestSystem { * @desc DENM sequence number index */ var SequenceNumber vc_sequenceNumber := 0; /** * @desc TODO */ var MsgCount vc_msgIssueRevision := 0; /** * @desc List of MovementState per intersection and per RSU Loading @@ -55,12 +58,25 @@ module ItsRSUsSimulator_TestSystem { * @desc Current SPATEM state */ var integer vc_spatemStatesId := 0; timer tc_cam := PICS_CAM_FREQUENY; timer tc_denm := PICS_DENM_FREQUENY; timer tc_mapem := PICS_MAPEM_FREQUENY; timer tc_spatem := PICS_SPATEM_FREQUENY; timer tc_ivim := PICS_IVIM_FREQUENY; /** * @desc TODO */ var TimestampIts vc_currentPhaseStartTime := 0; /** * @desc TODO */ var TimestampIts vc_endPhaseStartTime := 0; var SpatemRepetionDuration vc_repitition_duration := { PICS_SPATEM_REPITITION_DURATION_STATE_1, PICS_SPATEM_REPITITION_DURATION_STATE_2, PICS_SPATEM_REPITITION_DURATION_STATE_3 }; timer tc_cam := PICS_CAM_FREQUENCY; timer tc_denm := PICS_DENM_FREQUENCY; timer tc_mapem := PICS_MAPEM_FREQUENCY; timer tc_spatem := PICS_SPATEM_FREQUENCY; timer tc_ivim := PICS_IVIM_FREQUENCY; } // End of component ItsRSUsSimulator Loading
ttcn/AtsRSUsSimulator/ItsRSUsSimulator_TypesAndValues.ttcn +11 −4 Original line number Diff line number Diff line Loading @@ -33,6 +33,11 @@ module ItsRSUsSimulator_TypesAndValues { */ type record of SPATEM SPATEMs; /** * @desc TODO */ type record of UInt32 SpatemRepetionDuration; /** * @desc Defines the list of messages to be sent by a single RSU * @member cam CAM message that a RSU shall send Loading Loading @@ -114,7 +119,7 @@ module ItsRSUsSimulator_TypesAndValues { * @desc Describe the parameter for each MAPEM event */ type record MapemParm { IntersectionGeometryList intersections, IntersectionGeometryList intersections optional, RoadSegmentList roadSegments optional } // End of type MapemParm Loading Loading @@ -167,13 +172,15 @@ module ItsRSUsSimulator_TypesAndValues { */ group ivimDataStructures { type record length (1 .. 8) of IviContainer IviContainers; /** * @desc Describe the parameter for each IVIM event */ type record IvimParm { Provider provider, IviIdentificationNumber iviIdentificationNumber, IviContainer iviContainer Provider provider optional, IviIdentificationNumber iviIdentificationNumber optional, IviContainers iviContainers optional } // End of type IvimParm /** Loading