Commit ef202bd6 authored by garciay's avatar garciay
Browse files

Start updating RSUsimulator/CAM & DENM according to the ETSI ITS-CMS5 Plugtest/track coordinates

parent 860cf30d
......@@ -142,15 +142,17 @@ module ItsRSUsSimulator_Functions {
// DENM
if (PICS_GENERATE_DENM) {
// Build the list of the DENM events
for (v_counter := 0; v_counter < lengthof(PICS_DENM_EVENTS_RSU[PX_RSU_ID - 1]); v_counter := v_counter + 1) {
// Build DENM with dynamic values
for (v_counter := 0; v_counter < lengthof(PICS_DENM_EVENTS_RSU[PX_RSU_ID - 1][PX_ETSI_ZONE_ID]); v_counter := v_counter + 1) {
var DenmEventsParmsPerZone v_denmEventsParmsPerZone := PICS_DENM_EVENTS_RSU[PX_RSU_ID - 1][PX_ETSI_ZONE_ID];
v_denmParmContainers := m_denmParmContainers(
PICS_RSU_PARAMS[PX_RSU_ID - 1].stationID,
f_incDenmSequenceNumber(),
PICS_DENM_REPETITION_INTERVAL,
PICS_DENM_EVENTS_RSU[PX_RSU_ID - 1][v_counter].eventPosition,
PICS_DENM_EVENTS_RSU[PX_RSU_ID - 1][v_counter].causeCodeType,
PICS_DENM_EVENTS_RSU[PX_RSU_ID - 1][v_counter].eventHistory
v_denmEventsParmsPerZone[v_counter].eventPosition,
v_denmEventsParmsPerZone[v_counter].causeCodeType,
v_denmEventsParmsPerZone[v_counter].eventHistory,
v_denmEventsParmsPerZone[v_counter].traces
);
v_denms[v_counter] := valueof(
m_denmPdu(
......@@ -159,8 +161,8 @@ module ItsRSUsSimulator_Functions {
v_denmParmContainers.situationContainer,
v_denmParmContainers.locationContainer
)));
if (ispresent(PICS_DENM_EVENTS_RSU[PX_RSU_ID - 1][v_counter].roadWorksContainerExtended)) {
v_denms[v_counter].denm.alacarte := m_alacarte(PICS_DENM_EVENTS_RSU[PX_RSU_ID - 1][v_counter].roadWorksContainerExtended);
if (ispresent(v_denmEventsParmsPerZone[v_counter].roadWorksContainerExtended)) {
v_denms[v_counter].denm.alacarte := m_alacarte(v_denmEventsParmsPerZone[v_counter].roadWorksContainerExtended);
}
} // End of 'for' statement
}
......
......@@ -19,9 +19,19 @@ module ItsRSUsSimulator_Pixits {
import from ItsRSUsSimulator_TypesAndValues all;
import from ItsRSUsSimulator_Pics all;
modulepar integer PX_ETSI_USE_CASE_ID := 0;
/**
* @desc Indicate which RSU to simulate
*/
modulepar integer PX_RSU_ID := 11;
modulepar integer PX_RSU_ID := 1; // 1: D1, 2: D2
/**
* @desc Indicate which Use Case to simulate
*/
modulepar integer PX_ETSI_USE_CASE_ID := 1;
/**
* @desc Indicate which zone to simulate
*/
modulepar integer PX_ETSI_ZONE_ID := 1;
} // End of module ItsRSUsSimulator_Pixits
......@@ -254,6 +254,7 @@ module ItsRSUsSimulator_Templates {
in template (value) ReferencePosition p_eventPosition,
in template (value) CauseCodeType p_causeCodeType,
in template (value) EventHistory p_eventHistory,
in template (value) Traces p_traces,
in template (value) ValidityDuration p_validityDuration := 86400,
in template (value) RelevanceDistance p_relevanceDistance := lessThan200m
) := {
......@@ -284,18 +285,7 @@ module ItsRSUsSimulator_Templates {
locationContainer := {
eventSpeed := omit,
eventPositionHeading := omit,
traces := {
{
{
pathPosition := {
deltaLatitude := 0,
deltaLongitude := 0,
deltaAltitude := 0
},
pathDeltaTime := 0
}
}
},
traces := p_traces,
roadType := omit
} // End of field locationContainer
} // End of template m_denmParm
......
......@@ -17,33 +17,33 @@ module ItsRSUsSimulator_TestSystem {
*/
type component ItsRSUsSimulator extends ItsGeoNetworking {
/**
* @dec RSU position
* @desc RSU position
*/
var LongPosVector vc_longPosVectorRsu := {};
/**
* @dec RSU Geonetworking area
* @desc RSU Geonetworking area
*/
var GeoArea vc_geoArea := {};
/**
* @dec Supported sent messages templates: one or more from CAM, DENM, MAPEM, SPATEM, IVIM, SSEM
* @desc Supported sent messages templates: one or more from CAM, DENM, MAPEM, SPATEM, IVIM, SSEM
* @see PICS_GENERATE_xxx
*/
var template (value) RsuMessagesValueList vc_rsuMessagesValueList := {};
/**
* @dec DENM event counter: one RSU can send one or mode different DENM
* @desc DENM event counter: one RSU can send one or mode different DENM
*/
var integer vc_denmEventCounter := 0;
/**
* @dec DENM sequence number index
* @desc DENM sequence number index
*/
var SequenceNumber vc_sequenceNumber := 0;
var MsgCount vc_msgIssueRevision := 0;
/**
* @dec List of MovementState per intersection and per RSU
* @desc List of MovementState per intersection and per RSU
*/
var template (value) MovementListPerIntersectionRsu vc_states;
/**
* @dec Current SPATEM state
* @desc Current SPATEM state
*/
var integer vc_spatemStatesId := 0;
......
......@@ -197,9 +197,20 @@ module ItsRSUsSimulator_TypesAndValues {
ReferencePosition eventPosition,
CauseCodeType causeCodeType,
EventHistory eventHistory,
Traces traces,
RoadWorksContainerExtended roadWorksContainerExtended optional
} // End of type DenmParm
/**
* @desc List of DENM events per use case
* @see <wiki URL>
* <pre>
* v_denmParm := PICS_DENM_PARMS_UC1_RWW[PX_ETSI_ZONE_ID][vc_eventId];
* vc_eventId := (vc_eventId + 1) mod lengthof(PICS_DENM_PARMS_UC1_RWW)
* </pre>
*/
type record of DenmParm DenmEventsParmsPerZone;
/**
* @desc List of DENM events per use case
* @see <wiki URL>
......@@ -208,13 +219,13 @@ module ItsRSUsSimulator_TypesAndValues {
* vc_eventId := (vc_eventId + 1) mod lengthof(PICS_DENM_PARMS_UC1_RWW)
* </pre>
*/
type record of DenmParm DenmEventsParmsUseCase;
type record of DenmEventsParmsPerZone DenmEventsParmsUseCase;
/**
* @desc List of DENM events per use case and per RSUs
* <pre>
* 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])
* v_denmParm := PICS_DENM_EVENTS_RSU[PX_RSU_ID - 1][PX_ETSI_USE_CASE_ID - 1][vc_eventId];
* vc_eventId := (vc_eventId + 1) mod lengthof(PICS_DENM_EVENTS_RSU[PX_RSU_ID - 1][PX_ETSI_USE_CASE_ID - 1])
* </pre>
*/
type record of DenmEventsParmsUseCase DenmEventsParmsUseCaseRsu;
......
......@@ -553,7 +553,7 @@ module ItsSrem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
// Send SSEM
// Send SREM
sremSsemPort.send(
m_sremReq(
m_sremPdu(
......
Markdown is supported
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