Commit 4da49c99 authored by garciay's avatar garciay
Browse files

Plugtest settings

parent cf7d74f8
...@@ -14,6 +14,7 @@ module ItsRSUsSimulator_Functions { ...@@ -14,6 +14,7 @@ module ItsRSUsSimulator_Functions {
import from MAPEM_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 SPATEM_PDU_Descriptions language "ASN.1:1997" all;
import from IVIM_PDU_Descriptions language "ASN.1:1997" all; import from IVIM_PDU_Descriptions language "ASN.1:1997" all;
import from EVCSN_PDU_Descriptions language "ASN.1:1997" all;
import from SREM_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; import from SSEM_PDU_Descriptions language "ASN.1:1997" all;
import from DSRC language "ASN.1:1997" all; import from DSRC language "ASN.1:1997" all;
...@@ -185,6 +186,7 @@ module ItsRSUsSimulator_Functions { ...@@ -185,6 +186,7 @@ module ItsRSUsSimulator_Functions {
var template (omit) MAPEM v_mapem := omit; var template (omit) MAPEM v_mapem := omit;
var template (omit) SPATEMs v_spatems := omit; var template (omit) SPATEMs v_spatems := omit;
var template (omit) IVIM v_ivim := omit; var template (omit) IVIM v_ivim := omit;
var template (omit) EvcsnPdu v_evcsn := omit;
var template (omit) SSEM v_ssem := omit; var template (omit) SSEM v_ssem := omit;
var integer v_counter; var integer v_counter;
...@@ -250,6 +252,27 @@ module ItsRSUsSimulator_Functions { ...@@ -250,6 +252,27 @@ module ItsRSUsSimulator_Functions {
} else { } else {
vc_ivim := false; vc_ivim := false;
} }
// EVCSN, only if PX_ETSI_USE_CASE_ID is set to 8
if ((vc_evcsn == true) and (PX_ETSI_USE_CASE_ID == 8)) {
// Build the list of the EVCSN events
v_evcsn :=
m_evcsnParm(
PICS_RSU_PARAMS[p_rsu_id].stationID,
m_evcsn(
m_itsPOIHeader(
-,
0, // To be updated at run time
-
),
m_itsEVCSNData(
-,
{ PICS_ITS_CHARGING }
)
));
// Update poi status
} else {
vc_evcsn := false;
}
// DENM, only if PX_ETSI_USE_CASE_ID is set to 1 // DENM, only if PX_ETSI_USE_CASE_ID is set to 1
if ((vc_denm == true) and (PX_ETSI_USE_CASE_ID == 1)) { if ((vc_denm == true) and (PX_ETSI_USE_CASE_ID == 1)) {
// Build the list of the DENM events for the specified RSU (PX_RSU_ID) and the given zone (PX_ETSI_ZONE_ID) // Build the list of the DENM events for the specified RSU (PX_RSU_ID) and the given zone (PX_ETSI_ZONE_ID)
...@@ -364,6 +387,7 @@ module ItsRSUsSimulator_Functions { ...@@ -364,6 +387,7 @@ module ItsRSUsSimulator_Functions {
v_mapem, v_mapem,
v_spatems, v_spatems,
v_ivim, v_ivim,
v_evcsn,
v_ssem v_ssem
); );
if (PICS_RSU_PARAMS[p_rsu_id].geoShape == e_geoCircle) { if (PICS_RSU_PARAMS[p_rsu_id].geoShape == e_geoCircle) {
...@@ -520,10 +544,14 @@ module ItsRSUsSimulator_Functions { ...@@ -520,10 +544,14 @@ module ItsRSUsSimulator_Functions {
} }
} // End of 'select' statement } // End of 'select' statement
} }
if (v_currentTimeMark >= vc_endPhaseStartTime) { // Change state if (v_currentTimeMark >= vc_endPhaseStartTime) {
vc_spatemStatesId := (vc_spatemStatesId + 1) mod vc_spatemStatesNum; var float t := (int2float(v_currentTimeMark - vc_endPhaseStartTime) / int2float(v_currentTimeMark));
vc_currentPhaseStartTime := v_currentTimeMark; log("t = ", t);
vc_endPhaseStartTime := f_computeEndPhaseStartTime(vc_currentPhaseStartTime, PICS_SPATEM_REPITITION_DURATION_STATE_30); if (t < 1.0) { // Change state
vc_spatemStatesId := (vc_spatemStatesId + 1) mod vc_spatemStatesNum;
vc_currentPhaseStartTime := v_currentTimeMark;
vc_endPhaseStartTime := f_computeEndPhaseStartTime(vc_currentPhaseStartTime, PICS_SPATEM_REPITITION_DURATION_STATE_30);
}
} }
log("vc_currentPhaseStartTime = ", vc_currentPhaseStartTime); log("vc_currentPhaseStartTime = ", vc_currentPhaseStartTime);
log("v_currentTimeMark = ", v_currentTimeMark); log("v_currentTimeMark = ", v_currentTimeMark);
...@@ -535,25 +563,26 @@ module ItsRSUsSimulator_Functions { ...@@ -535,25 +563,26 @@ module ItsRSUsSimulator_Functions {
v_spatem.spat.intersections[v_intersection].states := { v_states[vc_spatemStatesId] }; v_spatem.spat.intersections[v_intersection].states := { v_states[vc_spatemStatesId] };
v_spatem.spat.intersections[v_intersection].moy := f_getMinuteOfTheYear(); v_spatem.spat.intersections[v_intersection].moy := f_getMinuteOfTheYear();
v_spatem.spat.intersections[v_intersection].timeStamp := f_getDSecond(); v_spatem.spat.intersections[v_intersection].timeStamp := f_getDSecond();
v_spatem.spat.intersections[v_intersection].revision := (valueof(v_spatem.spat.intersections[v_intersection].revision) + 1) mod 128;
select (vc_spatemStatesId) { select (vc_spatemStatesId) {
case (0) { case (0) { // permissive_Movement_Allowed
v_spatem.spat.intersections[v_intersection].states[1] := v_states[1]; v_spatem.spat.intersections[v_intersection].states[1] := v_states[1]; // permissive-clearance
//v_spatem.spat.intersections[v_intersection].states[2] := v_states[2]; //v_spatem.spat.intersections[v_intersection].states[2] := v_states[2];
// Update startTime & minEndTime // Update startTime & minEndTime
v_spatem.spat.intersections[v_intersection].states[0].state_time_speed[0].timing.minEndTime := f_computeEndPhaseStartTime(vc_currentPhaseStartTime, PICS_SPATEM_REPITITION_DURATION_STATE_30); v_spatem.spat.intersections[v_intersection].states[0].state_time_speed[0].timing.minEndTime := f_computeEndPhaseStartTime(vc_currentPhaseStartTime, PICS_SPATEM_REPITITION_DURATION_STATE_30);
v_spatem.spat.intersections[v_intersection].states[1].state_time_speed[0].timing.startTime := f_computeEndPhaseStartTime(vc_currentPhaseStartTime, PICS_SPATEM_REPITITION_DURATION_STATE_30); v_spatem.spat.intersections[v_intersection].states[1].state_time_speed[0].timing.startTime := f_computeEndPhaseStartTime(vc_currentPhaseStartTime, PICS_SPATEM_REPITITION_DURATION_STATE_30);
v_spatem.spat.intersections[v_intersection].states[1].state_time_speed[0].timing.minEndTime := f_computeEndPhaseStartTime(vc_currentPhaseStartTime, PICS_SPATEM_REPITITION_DURATION_STATE_40); v_spatem.spat.intersections[v_intersection].states[1].state_time_speed[0].timing.minEndTime := f_computeEndPhaseStartTime(vc_currentPhaseStartTime, PICS_SPATEM_REPITITION_DURATION_STATE_40);
} }
case (1) { case (1) { // permissive-clearance
v_spatem.spat.intersections[v_intersection].states[1] := v_states[2]; v_spatem.spat.intersections[v_intersection].states[1] := v_states[2]; // stop-And-Remain
//v_spatem.spat.intersections[v_intersection].states[2] := v_states[0]; //v_spatem.spat.intersections[v_intersection].states[2] := v_states[0];
// Update startTime & minEndTime // Update startTime & minEndTime
v_spatem.spat.intersections[v_intersection].states[0].state_time_speed[0].timing.minEndTime := f_computeEndPhaseStartTime(v_currentTimeMark, PICS_SPATEM_REPITITION_DURATION_STATE_10); v_spatem.spat.intersections[v_intersection].states[0].state_time_speed[0].timing.minEndTime := f_computeEndPhaseStartTime(v_currentTimeMark, PICS_SPATEM_REPITITION_DURATION_STATE_10);
v_spatem.spat.intersections[v_intersection].states[1].state_time_speed[0].timing.startTime := f_computeEndPhaseStartTime(vc_currentPhaseStartTime, PICS_SPATEM_REPITITION_DURATION_STATE_10); v_spatem.spat.intersections[v_intersection].states[1].state_time_speed[0].timing.startTime := f_computeEndPhaseStartTime(vc_currentPhaseStartTime, PICS_SPATEM_REPITITION_DURATION_STATE_10);
v_spatem.spat.intersections[v_intersection].states[1].state_time_speed[0].timing.minEndTime := f_computeEndPhaseStartTime(vc_currentPhaseStartTime, PICS_SPATEM_REPITITION_DURATION_STATE_30); v_spatem.spat.intersections[v_intersection].states[1].state_time_speed[0].timing.minEndTime := f_computeEndPhaseStartTime(vc_currentPhaseStartTime, PICS_SPATEM_REPITITION_DURATION_STATE_30);
} }
case (2) { case (2) { // stop-And-Remain
v_spatem.spat.intersections[v_intersection].states[1] := v_states[0]; v_spatem.spat.intersections[v_intersection].states[1] := v_states[0]; // permissive_Movement_Allowed
//v_spatem.spat.intersections[v_intersection].states[2] := v_states[1]; //v_spatem.spat.intersections[v_intersection].states[2] := v_states[1];
// Update startTime & minEndTime // Update startTime & minEndTime
v_spatem.spat.intersections[v_intersection].states[0].state_time_speed[0].timing.minEndTime := f_computeEndPhaseStartTime(vc_currentPhaseStartTime, PICS_SPATEM_REPITITION_DURATION_STATE_20); v_spatem.spat.intersections[v_intersection].states[0].state_time_speed[0].timing.minEndTime := f_computeEndPhaseStartTime(vc_currentPhaseStartTime, PICS_SPATEM_REPITITION_DURATION_STATE_20);
...@@ -597,6 +626,25 @@ module ItsRSUsSimulator_Functions { ...@@ -597,6 +626,25 @@ module ItsRSUsSimulator_Functions {
); );
} // End of function f_prepare_ivim } // End of function f_prepare_ivim
function f_prepare_evcsn(
out template (value) Payload p_payload
) runs on ItsRSUsSimulator {
vc_rsuMessagesValueList[vc_rsu_id].evcsn.evcsn.poiHeader.timeStamp := f_getCurrentTime(); // Check if it is ITS or UTC time
log("vc_rsuMessagesValueList[vc_rsu_id].evcsn", valueof(vc_rsuMessagesValueList[vc_rsu_id].evcsn));
p_payload := valueof(
f_adaptPayload(
bit2oct(
encvalue(
valueof(
vc_rsuMessagesValueList[vc_rsu_id].evcsn
))),
PICS_EVCSN_BTP_DESTINATION_PORT,
PICS_EVCSN_BTP_SOURCE_PORT
)
);
} // End of function f_prepare_evcsn
function f_adaptPayload( function f_adaptPayload(
in template (value) octetstring p_finalPayload, in template (value) octetstring p_finalPayload,
in template (value) BtpPortId p_destPort, in template (value) BtpPortId p_destPort,
...@@ -652,7 +700,17 @@ module ItsRSUsSimulator_Functions { ...@@ -652,7 +700,17 @@ module ItsRSUsSimulator_Functions {
return v_payload; return v_payload;
} // End of function f_adaptPayload } // End of function f_adaptPayload
function f_isInApproach(
in ThreeDLocation p_detectionPoint,
in ThreeDLocation p_location,
in float p_dist := 150.0
) return boolean {
var float v_dist := fx_computeDistance(p_detectionPoint.latitude, p_detectionPoint.longitude, p_location.latitude, p_location.longitude);
log("v_dist = ", v_dist);
return v_dist <= p_dist;
}
function f_mirror_and_send_vehicle_cam( function f_mirror_and_send_vehicle_cam(
in template (value) CAM p_camSimu, in template (value) CAM p_camSimu,
in CAM p_camVehicle, in CAM p_camVehicle,
...@@ -663,12 +721,12 @@ module ItsRSUsSimulator_Functions { ...@@ -663,12 +721,12 @@ module ItsRSUsSimulator_Functions {
var template (value) Payload v_payload; var template (value) Payload v_payload;
// Apply 90° rotation // Apply 90° rotation
if (PICS_USE_SPV == true) { if (PICS_USE_LPV == true) {
fx_computePositionFromRotation( fx_computePositionFromRotation(
p_location.latitude, p_location.latitude,
p_location.longitude, p_location.longitude,
PICS_UC6_COLLISION_POINT.latitude, PICS_UC6_COLLISION_POINT_Z2.latitude, // Z1
PICS_UC6_COLLISION_POINT.longitude, PICS_UC6_COLLISION_POINT_Z2.longitude, // Z1
900, 900,
v_newPosition.latitude, v_newPosition.latitude,
v_newPosition.longitude v_newPosition.longitude
...@@ -678,9 +736,9 @@ module ItsRSUsSimulator_Functions { ...@@ -678,9 +736,9 @@ module ItsRSUsSimulator_Functions {
fx_computePositionFromRotation( fx_computePositionFromRotation(
p_camVehicle.cam.camParameters.basicContainer.referencePosition.latitude, p_camVehicle.cam.camParameters.basicContainer.referencePosition.latitude,
p_camVehicle.cam.camParameters.basicContainer.referencePosition.longitude, p_camVehicle.cam.camParameters.basicContainer.referencePosition.longitude,
PICS_UC6_COLLISION_POINT.latitude, PICS_UC6_COLLISION_POINT_Z2.latitude, // Z1
PICS_UC6_COLLISION_POINT.longitude, PICS_UC6_COLLISION_POINT_Z2.longitude, // Z1
900, 2450,
v_newPosition.latitude, v_newPosition.latitude,
v_newPosition.longitude v_newPosition.longitude
); );
......
...@@ -11,6 +11,7 @@ module ItsRSUsSimulator_Pics { ...@@ -11,6 +11,7 @@ module ItsRSUsSimulator_Pics {
import from SPATEM_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 IVIM_PDU_Descriptions language "ASN.1:1997" all;
import from IVI language "ASN.1:1997" all; import from IVI language "ASN.1:1997" all;
import from EVCSN_PDU_Descriptions language "ASN.1:1997" all;
import from SREM_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; import from SSEM_PDU_Descriptions language "ASN.1:1997" all;
import from DSRC language "ASN.1:1997" all; import from DSRC language "ASN.1:1997" all;
...@@ -457,7 +458,7 @@ module ItsRSUsSimulator_Pics { ...@@ -457,7 +458,7 @@ module ItsRSUsSimulator_Pics {
} }
} // End of PICS_UC6_VEHICLE_GEOAREA } // End of PICS_UC6_VEHICLE_GEOAREA
modulepar boolean PICS_USE_SPV := true; modulepar boolean PICS_USE_LPV := true;
} // End of group camUseCase6VehicleTemplateDescription } // End of group camUseCase6VehicleTemplateDescription
...@@ -468,16 +469,25 @@ module ItsRSUsSimulator_Pics { ...@@ -468,16 +469,25 @@ module ItsRSUsSimulator_Pics {
/** /**
* @desc Coordinates of the collision point * @desc Coordinates of the collision point
*/ */
modulepar ThreeDLocation PICS_UC6_COLLISION_POINT := { modulepar ThreeDLocation PICS_UC6_COLLISION_POINT_Z1 := {
latitude := 435522970, latitude := 435522970,
longitude := 103000170, longitude := 103000170,
elevation := '0000'O elevation := '0000'O
} // End of PICS_UC6_COLLISION_POINT } // End of PICS_UC6_COLLISION_POINT
/**
* @desc Coordinates of the collision point
*/
modulepar ThreeDLocation PICS_UC6_COLLISION_POINT_Z2 := {
latitude := 435512220,
longitude := 103000290,
elevation := '0000'O
} // End of PICS_UC6_COLLISION_POINT_Z2
/** /**
* @desc Vehicle detection area * @desc Vehicle detection area
*/ */
modulepar RectangularRegion PICS_UC6_CAM_DETECTION_AREA := { modulepar RectangularRegion PICS_UC6_CAM_DETECTION_AREA_Z1 := {
northwest := { northwest := {
latitude := 435529170, latitude := 435529170,
longitude := 102998330 longitude := 102998330
...@@ -486,7 +496,27 @@ module ItsRSUsSimulator_Pics { ...@@ -486,7 +496,27 @@ module ItsRSUsSimulator_Pics {
latitude := 435522420, latitude := 435522420,
longitude := 103011400 longitude := 103011400
} }
} // End of PICS_UC6_CAM_DETECTION_AREA } // End of PICS_UC6_CAM_DETECTION_AREA_Z1
/**
* @desc Vehicle detection area
*/
modulepar RectangularRegion PICS_UC6_CAM_DETECTION_AREA_Z2 := {
northwest := {
latitude := 435530140,
longitude := 102984290
},
southeast := {
latitude := 435501600,
longitude := 103012880
}
} // End of PICS_UC6_CAM_DETECTION_AREA_Z2
modulepar ThreeDLocation PX_UC6_APPROACH_POINT_Z2 := {
latitude := 435511100,
longitude := 102988040,
elevation := '0000'O
};
} // End of group camUseCase6SyncLocation } // End of group camUseCase6SyncLocation
...@@ -2644,7 +2674,7 @@ module ItsRSUsSimulator_Pics { ...@@ -2644,7 +2674,7 @@ module ItsRSUsSimulator_Pics {
group mapemZone1 { group mapemZone1 {
modulepar IntersectionReferenceID PICS_Z1_M1_SL_IDX := { modulepar IntersectionReferenceID PICS_Z1_M1_SL_IDX := {
region := 1, region := 3,
id := 13001 id := 13001
} // End of PICS_Z1_M1_SL_IDX } // End of PICS_Z1_M1_SL_IDX
...@@ -2800,7 +2830,7 @@ module ItsRSUsSimulator_Pics { ...@@ -2800,7 +2830,7 @@ module ItsRSUsSimulator_Pics {
group mapemZone2 { group mapemZone2 {
modulepar IntersectionReferenceID PICS_Z2_M1_SL_IDX := { modulepar IntersectionReferenceID PICS_Z2_M1_SL_IDX := {
region := 1, region := 3,
id := 23001 id := 23001
} // End of PICS_Z2_M1_SL_IDX } // End of PICS_Z2_M1_SL_IDX
...@@ -2956,7 +2986,7 @@ module ItsRSUsSimulator_Pics { ...@@ -2956,7 +2986,7 @@ module ItsRSUsSimulator_Pics {
group mapemZone3 { group mapemZone3 {
modulepar IntersectionReferenceID PICS_Z3_M1_SL_IDX := { modulepar IntersectionReferenceID PICS_Z3_M1_SL_IDX := {
region := 1, region := 3,
id := 33001 id := 33001
} // End of PICS_Z3_M1_SL_IDX } // End of PICS_Z3_M1_SL_IDX
...@@ -3112,7 +3142,7 @@ module ItsRSUsSimulator_Pics { ...@@ -3112,7 +3142,7 @@ module ItsRSUsSimulator_Pics {
group mapemZone4 { group mapemZone4 {
modulepar IntersectionReferenceID PICS_Z4_M1_SL_IDX := { modulepar IntersectionReferenceID PICS_Z4_M1_SL_IDX := {
region := 1, region := 3,
id := 43001 id := 43001
} // End of PICS_Z4_M1_SL_IDX } // End of PICS_Z4_M1_SL_IDX
...@@ -3268,7 +3298,7 @@ module ItsRSUsSimulator_Pics { ...@@ -3268,7 +3298,7 @@ module ItsRSUsSimulator_Pics {
group mapemZone5 { group mapemZone5 {
modulepar IntersectionReferenceID PICS_Z5_M1_SL_IDX := { modulepar IntersectionReferenceID PICS_Z5_M1_SL_IDX := {
region := 1, region := 3,
id := 53001 id := 53001
} // End of PICS_Z5_M1_SL_IDX } // End of PICS_Z5_M1_SL_IDX
...@@ -3424,7 +3454,7 @@ module ItsRSUsSimulator_Pics { ...@@ -3424,7 +3454,7 @@ module ItsRSUsSimulator_Pics {
group mapemZone6 { group mapemZone6 {
modulepar IntersectionReferenceID PICS_Z6_M1_SL_IDX := { modulepar IntersectionReferenceID PICS_Z6_M1_SL_IDX := {
region := 1, region := 3,
id := 63001 id := 63001
} // End of PICS_Z6_M1_SL_IDX } // End of PICS_Z6_M1_SL_IDX
...@@ -4182,14 +4212,14 @@ module ItsRSUsSimulator_Pics { ...@@ -4182,14 +4212,14 @@ module ItsRSUsSimulator_Pics {
modulepar UInt32 PICS_IVIM_ITS_AID := 139; modulepar UInt32 PICS_IVIM_ITS_AID := 139;
modulepar PosConfidenceEllipse PICS_IVIM_POSITION_CONFIDENCE_ELLIPSE := { modulepar PosConfidenceEllipse PICS_IVIM_POSITION_CONFIDENCE_ELLIPSE := {
semiMajorConfidence := SemiAxisLength_oneCentimeter_, semiMajorConfidence := 100,
semiMinorConfidence := SemiAxisLength_oneCentimeter_, semiMinorConfidence := 100,
semiMajorOrientation := HeadingValue_wgs84North_ semiMajorOrientation := 0
} // End of PICS_DENM_POSITION_CONFIDENCE_ELLIPSE } // End of PICS_DENM_POSITION_CONFIDENCE_ELLIPSE
modulepar Altitude PICS_IVIM_ALTITUDE := { modulepar Altitude PICS_IVIM_ALTITUDE := {
altitudeValue := AltitudeValue_referenceEllipsoidSurface_, altitudeValue := AltitudeValue_referenceEllipsoidSurface_,
altitudeConfidence := unavailable altitudeConfidence := alt_000_01
} // End of PICS_DENM_ALTITUDE } // End of PICS_DENM_ALTITUDE
} // End of group ivimCommonParams } // End of group ivimCommonParams
...@@ -4277,7 +4307,7 @@ module ItsRSUsSimulator_Pics { ...@@ -4277,7 +4307,7 @@ module ItsRSUsSimulator_Pics {
modulepar IvimParm PICS_Z1_I1_POS1 := { modulepar IvimParm PICS_Z1_I1_POS1 := {
provider := { provider := {
countryCode := '0000000001'B, countryCode := '1100000001'B,
providerIdentifier := 13 providerIdentifier := 13
}, },
iviIdentificationNumber := 12, iviIdentificationNumber := 12,
...@@ -5616,6 +5646,64 @@ module ItsRSUsSimulator_Pics { ...@@ -5616,6 +5646,64 @@ module ItsRSUsSimulator_Pics {
} // End of group ivimEvents } // End of group ivimEvents
group poimEvents {
group poimCommonParams {
modulepar BtpPortId PICS_EVCSN_BTP_DESTINATION_PORT := 2010;
modulepar BtpPortId PICS_EVCSN_BTP_SOURCE_PORT := 0;
modulepar UInt32 PICS_EVCSN_ITS_AID := 100; // FIXME Find the correct value
modulepar ItsChargingSpotDataElements PICS_CHARGING_SPOT_DATA_01 := {
type_ := ChargingSpotType_standardOrFastChargeMode3_,
evEquipmentID := omit,
typeOfReceptacle := '000'B,
energyAvailability := "all",
parkingPlacesData := omit
} // End of PICS_CHARGING_SPOT_DATA_01
} // End of group poimCommonParams
group poimZone1 {
modulepar ReferencePosition PICS_POI_LOCATION_01 := {
latitude := 435582150,
longitude := 103065170,
positionConfidenceEllipse := {
semiMajorConfidence := 100,
semiMinorConfidence := 100,
semiMajorOrientation := 0
},
altitude := {
altitudeValue := AltitudeValue_referenceEllipsoidSurface_,
altitudeConfidence := alt_000_01
}
} // End of PICS_POI_LOCATION_01
modulepar ItsChargingStationData PICS_ITS_CHARGING := {
chargingStationID := 9876,
utilityDistributorId := omit,
providerID := omit,
chargingStationLocation := PICS_POI_LOCATION_01,
address_ := omit,
phoneNumber := omit,
accessibility := "open",
digitalMap := omit,
openingDaysHours := "full",
pricing := "2.00",
bookingContactInfo := omit,
payment := omit,
chargingSpotsAvailable := { PICS_CHARGING_SPOT_DATA_01 }
}
}
modulepar PoimParmListRsu PICS_EVCSN_PARMS_RSUs := {
PICS_ITS_CHARGING // RSU #1
}
} // End of group poimEvents
group ssemEvents { group ssemEvents {
group ssemCommonParams { group ssemCommonParams {
...@@ -5676,6 +5764,11 @@ module ItsRSUsSimulator_Pics { ...@@ -5676,6 +5764,11 @@ module ItsRSUsSimulator_Pics {
*/ */
modulepar float PICS_IVIM_FREQUENCY := 1.0; modulepar float PICS_IVIM_FREQUENCY := 1.0;
/**
* @desc EVCSN frequency timer
*/
modulepar float PICS_EVCSN_FREQUENCY := 1.0;
} // End of group generationFrequencies } // End of group generationFrequencies
} // End of module ItsRSUsSimulator_Pics } // End of module ItsRSUsSimulator_Pics
\ No newline at end of file
...@@ -27,18 +27,18 @@ module ItsRSUsSimulator_Pixits { ...@@ -27,18 +27,18 @@ module ItsRSUsSimulator_Pixits {
/** /**
* @desc Indicate which Use Case to simulate * @desc Indicate which Use Case to simulate
* @remark UC1 (DENM only): PX_ETSI_USE_CASE_ID := 1 * @remark UC1 (DENM only): PX_ETSI_USE_CASE_ID := 1
* UC3 (TLM MAPEM/SPATEM): PX_ETSI_USE_CASE_ID := 3 !! PX_RSU_ID 2 * UC3 (TLM MAPEM/SPATEM): PX_ETSI_USE_CASE_ID := 3
* UC5 (IVIM only): PX_ETSI_USE_CASE_ID := 5 !! PX_RSU_ID 2 * UC5 (IVIM only): PX_ETSI_USE_CASE_ID := 5
* UC6 (CAM only): PX_ETSI_USE_CASE_ID := 6 !! PX_RSU_ID 2 * UC6 (CAM only): PX_ETSI_USE_CASE_ID := 6
* UC7 (CAM only): PX_ETSI_USE_CASE_ID := 7 !! PX_RSU_ID 2 * UC7 (CAM only): PX_ETSI_USE_CASE_ID := 7
* UC9 (CAM only): PX_ETSI_USE_CASE_ID := 9 !! PX_RSU_ID 5 * UC8 (EVCSN only): PX_ETSI_USE_CASE_ID := 8
* UC9 (CAM only): PX_ETSI_USE_CASE_ID := 9
* @remark LibItsGeoNetworking_Pixits.PX_GN_UPPER_LAYER := e_btpB * @remark LibItsGeoNetworking_Pixits.PX_GN_UPPER_LAYER := e_btpB
*/ */
modulepar integer PX_ETSI_USE_CASE_ID := 1; modulepar integer PX_ETSI_USE_CASE_ID := 6;
/** /**
* @desc Indicate which zone to simulate * @desc Indicate which zone to simulate
* @remark Used only for DENM
*/ */
modulepar integer PX_ETSI_ZONE_ID := 1; modulepar integer PX_ETSI_ZONE_ID := 1;
...@@ -46,7 +46,7 @@ module ItsRSUsSimulator_Pixits { ...@@ -46,7 +46,7 @@ module ItsRSUsSimulator_Pixits {
modulepar boolean PICS_GENERATE_CAM := true; modulepar boolean PICS_GENERATE_CAM := true;
modulepar boolean PICS_GENERATE_DENM := true; modulepar boolean PICS_GENERATE_DENM := false;
modulepar boolean PICS_GENERATE_IVIM := false; modulepar boolean PICS_GENERATE_IVIM := false;
...@@ -54,6 +54,8 @@ module ItsRSUsSimulator_Pixits { ...@@ -54,6 +54,8 @@ module ItsRSUsSimulator_Pixits {
modulepar boolean PICS_GENERATE_SPATEM := false; modulepar boolean PICS_GENERATE_SPATEM := false;
modulepar boolean PICS_GENERATE_SSEM := true; modulepar boolean PICS_GENERATE_SSEM := false;
modulepar boolean PICS_GENERATE_EVCSN := false;