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
}
......@@ -279,7 +281,7 @@ module ItsRSUsSimulator_Functions {
// 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];
var template (value) MovementList v_states := vc_states[PX_RSU_ID - 1][v_intersection];
select (vc_spatemStatesId) {
case (0) {
v_spatem.spat.intersections[v_intersection].states[0] := v_states[0];
......
......@@ -23,8 +23,14 @@ module ItsRSUsSimulator_Pics {
// ItsRSUsSimulator
import from ItsRSUsSimulator_TypesAndValues all;
/**
* @desc This group describes the RSUs installed on the track
*/
group rsuParameters {
/**
* @desc RSU #1
*/
group rsu1 {
/**
......@@ -34,27 +40,27 @@ module ItsRSUsSimulator_Pics {
typeOfAddress := e_manual,
stationType := e_roadSideUnit,
stationCountryCode := 33,
mid := 'AABBCCDDEEFF'O
mid := 'AABBCCDDEE01'O
} // End of PICS_RSU_GN_ADDRESS_RSU1
modulepar RsuParm PICS_RSU_1 := {
modulepar RsuParm PICS_RSU1 := {
gnAddress := PICS_RSU_GN_ADDRESS_RSU1,
longPosVector := {
gnAddr := PICS_RSU_GN_ADDRESS_RSU1,
timestamp_ := 0,
latitude := 435517392,
longitude := 103018217,
latitude := 43551050,
longitude := 10298730,
pai := '0'B,
speed := 0,
heading := 0
},
stationID := 1111111,
stationID := 1111101,
geoShape := e_geoCircle,
geoParms := {
radius := 500
},
pathHistory := PICS_RSU_PATH_HISTORY_RSU1
} // End of PICS_RSU_1
} // End of PICS_RSU1
/**
* @desc Path history to approch the RSU
......@@ -63,32 +69,501 @@ module ItsRSUsSimulator_Pics {
} // End of group rsu1
/**
* @desc RSU #2
*/
group rsu2 {
// TODO To be done
} // End of group rsu1
/**
* @desc RSU GN address
*/
modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU2 := {
typeOfAddress := e_manual,
stationType := e_roadSideUnit,
stationCountryCode := 33,
mid := 'AABBCCDDEE02'O
} // End of PICS_RSU_GN_ADDRESS_RSU2
modulepar RsuParm PICS_RSU2 := {
gnAddress := PICS_RSU_GN_ADDRESS_RSU2,
longPosVector := {
gnAddr := PICS_RSU_GN_ADDRESS_RSU2,
timestamp_ := 0,
latitude := 43551128,
longitude := 10299473,
pai := '0'B,
speed := 0,
heading := 0
},
stationID := 1111102,
geoShape := e_geoCircle,
geoParms := {
radius := 500
},
pathHistory := PICS_RSU_PATH_HISTORY_RSU2
} // End of PICS_RSU2
/**
* @desc Path history to approch the RSU
*/
modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU2 := {};
} // End of group rsu2
/**
* @desc RSU #3
*/
group rsu3 {
/**
* @desc RSU GN address
*/
modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU3 := {
typeOfAddress := e_manual,
stationType := e_roadSideUnit,
stationCountryCode := 33,
mid := 'AABBCCDDEE03'O
} // End of PICS_RSU_GN_ADDRESS_RSU3
modulepar RsuParm PICS_RSU3 := {
gnAddress := PICS_RSU_GN_ADDRESS_RSU3,
longPosVector := {
gnAddr := PICS_RSU_GN_ADDRESS_RSU3,
timestamp_ := 0,
latitude := 43551209,
longitude := 10300251,
pai := '0'B,
speed := 0,
heading := 0
},
stationID := 1111103,
geoShape := e_geoCircle,
geoParms := {
radius := 500
},
pathHistory := PICS_RSU_PATH_HISTORY_RSU3
} // End of PICS_RSU3
/**
* @desc Path history to approch the RSU
*/
modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU3 := {};
} // End of group rsu3
/**
* @desc RSU #4
*/
group rsu4 {
/**
* @desc RSU GN address
*/
modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU4 := {
typeOfAddress := e_manual,
stationType := e_roadSideUnit,
stationCountryCode := 33,
mid := 'AABBCCDDEE04'O
} // End of PICS_RSU_GN_ADDRESS_RSU4
modulepar RsuParm PICS_RSU4 := {
gnAddress := PICS_RSU_GN_ADDRESS_RSU4,
longPosVector := {
gnAddr := PICS_RSU_GN_ADDRESS_RSU4,
timestamp_ := 0,
latitude := 43558215,
longitude := 10306517,
pai := '0'B,
speed := 0,
heading := 0
},
stationID := 1111104,
geoShape := e_geoCircle,
geoParms := {
radius := 500
},
pathHistory := PICS_RSU_PATH_HISTORY_RSU4
} // End of PICS_RSU4
/**
* @desc Path history to approch the RSU
*/
modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU4 := {};
} // End of group rsu4
/**
* @desc RSU #5
*/
group rsu5 {
/**
* @desc RSU GN address
*/
modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU5 := {
typeOfAddress := e_manual,
stationType := e_roadSideUnit,
stationCountryCode := 33,
mid := 'AABBCCDDEE05'O
} // End of PICS_RSU_GN_ADDRESS_RSU5
modulepar RsuParm PICS_RSU5 := {
gnAddress := PICS_RSU_GN_ADDRESS_RSU5,
longPosVector := {
gnAddr := PICS_RSU_GN_ADDRESS_RSU5,
timestamp_ := 0,
latitude := 43556350,
longitude := 10304745,
pai := '0'B,
speed := 0,
heading := 0
},
stationID := 1111105,
geoShape := e_geoCircle,
geoParms := {
radius := 500
},
pathHistory := PICS_RSU_PATH_HISTORY_RSU5
} // End of PICS_RSU5
/**
* @desc Path history to approch the RSU
*/
modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU5 := {};
} // End of group rsu5
/**
* @desc RSU #6
*/
group rsu6 {
/**
* @desc RSU GN address
*/
modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU6 := {
typeOfAddress := e_manual,
stationType := e_roadSideUnit,
stationCountryCode := 33,
mid := 'AABBCCDDEE06'O
} // End of PICS_RSU_GN_ADDRESS_RSU6
modulepar RsuParm PICS_RSU6 := {
gnAddress := PICS_RSU_GN_ADDRESS_RSU6,
longPosVector := {
gnAddr := PICS_RSU_GN_ADDRESS_RSU6,
timestamp_ := 0,
latitude := 43557066,
longitude := 10301917,
pai := '0'B,
speed := 0,
heading := 0
},
stationID := 1111106,
geoShape := e_geoCircle,
geoParms := {
radius := 500
},
pathHistory := PICS_RSU_PATH_HISTORY_RSU6
} // End of PICS_RSU6
/**
* @desc Path history to approch the RSU
*/
modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU6 := {};
} // End of group rsu6
/**
* @desc RSU #7
*/
group rsu7 {
/**
* @desc RSU GN address
*/
modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU7 := {
typeOfAddress := e_manual,
stationType := e_roadSideUnit,
stationCountryCode := 33,
mid := 'AABBCCDDEE07'O
} // End of PICS_RSU_GN_ADDRESS_RSU7
modulepar RsuParm PICS_RSU7 := {
gnAddress := PICS_RSU_GN_ADDRESS_RSU7,
longPosVector := {
gnAddr := PICS_RSU_GN_ADDRESS_RSU7,
timestamp_ := 0,
latitude := 43555058,
longitude := 10303298,
pai := '0'B,
speed := 0,
heading := 0
},
stationID := 1111107,
geoShape := e_geoCircle,
geoParms := {
radius := 500
},
pathHistory := PICS_RSU_PATH_HISTORY_RSU7
} // End of PICS_RSU7
/**
* @desc Path history to approch the RSU
*/
modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU7 := {};
} // End of group rsu7
/**
* @desc RSU #8
*/
group rsu8 {
/**
* @desc RSU GN address
*/
modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU8 := {
typeOfAddress := e_manual,
stationType := e_roadSideUnit,
stationCountryCode := 33,
mid := 'AABBCCDDEE08'O
} // End of PICS_RSU_GN_ADDRESS_RSU8
modulepar RsuParm PICS_RSU8 := {
gnAddress := PICS_RSU_GN_ADDRESS_RSU8,
longPosVector := {
gnAddr := PICS_RSU_GN_ADDRESS_RSU8,
timestamp_ := 0,
latitude := 43554663,
longitude := 10304190,
pai := '0'B,
speed := 0,
heading := 0
},
stationID := 1111108,
geoShape := e_geoCircle,
geoParms := {
radius := 500
},
pathHistory := PICS_RSU_PATH_HISTORY_RSU8
} // End of PICS_RSU8
/**
* @desc Path history to approch the RSU
*/
modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU8 := {};
} // End of group rsu8
/**
* @desc RSU #9
*/
group rsu9 {
/**
* @desc RSU GN address
*/
modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU9 := {
typeOfAddress := e_manual,
stationType := e_roadSideUnit,
stationCountryCode := 33,
mid := 'AABBCCDDEE09'O
} // End of PICS_RSU_GN_ADDRESS_RSU9
modulepar RsuParm PICS_RSU9 := {
gnAddress := PICS_RSU_GN_ADDRESS_RSU9,
longPosVector := {
gnAddr := PICS_RSU_GN_ADDRESS_RSU9,
timestamp_ := 0,
latitude := 43554128,
longitude := 10301578,
pai := '0'B,
speed := 0,
heading := 0
},
stationID := 1111109,
geoShape := e_geoCircle,
geoParms := {
radius := 500
},
pathHistory := PICS_RSU_PATH_HISTORY_RSU9
} // End of PICS_RSU9
/**
* @desc Path history to approch the RSU
*/
modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU9 := {};
} // End of group rsu9
/**
* @desc RSU #10
*/
group rsu10 {
/**
* @desc RSU GN address
*/
modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU10 := {
typeOfAddress := e_manual,
stationType := e_roadSideUnit,
stationCountryCode := 33,
mid := 'AABBCCDDEE0A'O
} // End of PICS_RSU_GN_ADDRESS_RSU10
modulepar RsuParm PICS_RSU10 := {
gnAddress := PICS_RSU_GN_ADDRESS_RSU10,
longPosVector := {
gnAddr := PICS_RSU_GN_ADDRESS_RSU10,
timestamp_ := 0,
latitude := 43553552,
longitude := 10301039,
pai := '0'B,
speed := 0,
heading := 0
},
stationID := 1111110,
geoShape := e_geoCircle,
geoParms := {
radius := 500
},
pathHistory := PICS_RSU_PATH_HISTORY_RSU10
} // End of PICS_RSU10
/**
* @desc Path history to approch the RSU
*/
modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU10 := {};
} // End of group rsu10
/**
* @desc RSU #11
*/
group rsu11 {
/**
* @desc RSU GN address
*/
modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU11 := {
typeOfAddress := e_manual,
stationType := e_roadSideUnit,
stationCountryCode := 33,
mid := 'AABBCCDDEE0B'O
} // End of PICS_RSU_GN_ADDRESS_RSU11
modulepar RsuParm PICS_RSU11 := {
gnAddress := PICS_RSU_GN_ADDRESS_RSU11,
longPosVector := {
gnAddr := PICS_RSU_GN_ADDRESS_RSU11,
timestamp_ := 0,
latitude := 43552915,
longitude := 10301052,
pai := '0'B,
speed := 0,
heading := 0
},
stationID := 1111111,
geoShape := e_geoCircle,
geoParms := {
radius := 500
},
pathHistory := PICS_RSU_PATH_HISTORY_RSU11
} // End of PICS_RSU11
/**
* @desc Path history to approch the RSU
*/
modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU11 := {};
} // End of group rsu11
/**
* @desc RSU #12
*/
group rsu12 {
/**
* @desc RSU GN address
*/
modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU12 := {
typeOfAddress := e_manual,
stationType := e_roadSideUnit,
stationCountryCode := 33,
mid := 'AABBCCDDEE0C'O
} // End of PICS_RSU_GN_ADDRESS_RSU12
modulepar RsuParm PICS_RSU12 := {
gnAddress := PICS_RSU_GN_ADDRESS_RSU12,
longPosVector := {
gnAddr := PICS_RSU_GN_ADDRESS_RSU12,
timestamp_ := 0,
latitude := 43553123,
longitude := 10302479,
pai := '0'B,
speed := 0,
heading := 0
},
stationID := 1111112,
geoShape := e_geoCircle,
geoParms := {
radius := 500
},
pathHistory := PICS_RSU_PATH_HISTORY_RSU12
} // End of PICS_RSU12
/**
* @desc Path history to approch the RSU
*/
modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU12 := {};
} // End of group rsu12
modulepar RsuParmList PICS_RSU_PARAMS := {
PICS_RSU_1
// TODO To be done
PICS_RSU1,
PICS_RSU2,
PICS_RSU3,
PICS_RSU4,
PICS_RSU5,
PICS_RSU6,
PICS_RSU7,
PICS_RSU8,
PICS_RSU9,
PICS_RSU10,
PICS_RSU11,
PICS_RSU12
} // End of PICS_RSU_PARAMS
} // End of group rsuParameters
/**
* @desc This group describes the CAM common settings for the RSUs CAM message broadcast
*/
group camParams {
group camCommonParams {
/**
* @desc Common settings
*/
group camCommonSettings {
modulepar BtpPortId PICS_CAM_BTP_DESTINATION_PORT := 2001;
modulepar BtpPortId PICS_CAM_BTP_SOURCE_PORT := 0;
} // End of group camCommonParams
} // End of group camCommonSettings
} // End of group rsuParameters
/**
* @desc This group describes the DENM common settings for the each use cases and for each RSU.
*/
group denmEvents {
group denmCommonParams {
/**
* @desc Common settings
*/
group denmCommonSettings {
modulepar BtpPortId PICS_DENM_BTP_DESTINATION_PORT := 2002;
......@@ -110,168 +585,684 @@ module ItsRSUsSimulator_Pics {
*/
modulepar TransmissionInterval PICS_DENM_REPETITION_INTERVAL := 1000;
} // End of group denmCommonParams
} // End of group denmCommonSettings
group denmZone1 {