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

Plugtest settings

parent cf7d74f8
......@@ -14,6 +14,7 @@ module ItsRSUsSimulator_Functions {
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 EVCSN_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 DSRC language "ASN.1:1997" all;
......@@ -185,6 +186,7 @@ module ItsRSUsSimulator_Functions {
var template (omit) MAPEM v_mapem := omit;
var template (omit) SPATEMs v_spatems := omit;
var template (omit) IVIM v_ivim := omit;
var template (omit) EvcsnPdu v_evcsn := omit;
var template (omit) SSEM v_ssem := omit;
var integer v_counter;
......@@ -250,6 +252,27 @@ module ItsRSUsSimulator_Functions {
} else {
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
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)
......@@ -364,6 +387,7 @@ module ItsRSUsSimulator_Functions {
v_mapem,
v_spatems,
v_ivim,
v_evcsn,
v_ssem
);
if (PICS_RSU_PARAMS[p_rsu_id].geoShape == e_geoCircle) {
......@@ -520,10 +544,14 @@ module ItsRSUsSimulator_Functions {
}
} // End of 'select' statement
}
if (v_currentTimeMark >= vc_endPhaseStartTime) { // 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);
if (v_currentTimeMark >= vc_endPhaseStartTime) {
var float t := (int2float(v_currentTimeMark - vc_endPhaseStartTime) / int2float(v_currentTimeMark));
log("t = ", t);
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("v_currentTimeMark = ", v_currentTimeMark);
......@@ -535,25 +563,26 @@ module ItsRSUsSimulator_Functions {
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].timeStamp := f_getDSecond();
v_spatem.spat.intersections[v_intersection].revision := (valueof(v_spatem.spat.intersections[v_intersection].revision) + 1) mod 128;
select (vc_spatemStatesId) {
case (0) {
v_spatem.spat.intersections[v_intersection].states[1] := v_states[1];
case (0) { // permissive_Movement_Allowed
v_spatem.spat.intersections[v_intersection].states[1] := v_states[1]; // permissive-clearance
//v_spatem.spat.intersections[v_intersection].states[2] := v_states[2];
// 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[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);
}
case (1) {
v_spatem.spat.intersections[v_intersection].states[1] := v_states[2];
case (1) { // permissive-clearance
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];
// 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[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);
}
case (2) {
v_spatem.spat.intersections[v_intersection].states[1] := v_states[0];
case (2) { // stop-And-Remain
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];
// 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);
......@@ -597,6 +626,25 @@ module ItsRSUsSimulator_Functions {
);
} // 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(
in template (value) octetstring p_finalPayload,
in template (value) BtpPortId p_destPort,
......@@ -652,7 +700,17 @@ module ItsRSUsSimulator_Functions {
return v_payload;
} // 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(
in template (value) CAM p_camSimu,
in CAM p_camVehicle,
......@@ -663,12 +721,12 @@ module ItsRSUsSimulator_Functions {
var template (value) Payload v_payload;
// Apply 90° rotation
if (PICS_USE_SPV == true) {
if (PICS_USE_LPV == true) {
fx_computePositionFromRotation(
p_location.latitude,
p_location.longitude,
PICS_UC6_COLLISION_POINT.latitude,
PICS_UC6_COLLISION_POINT.longitude,
PICS_UC6_COLLISION_POINT_Z2.latitude, // Z1
PICS_UC6_COLLISION_POINT_Z2.longitude, // Z1
900,
v_newPosition.latitude,
v_newPosition.longitude
......@@ -678,9 +736,9 @@ module ItsRSUsSimulator_Functions {
fx_computePositionFromRotation(
p_camVehicle.cam.camParameters.basicContainer.referencePosition.latitude,
p_camVehicle.cam.camParameters.basicContainer.referencePosition.longitude,
PICS_UC6_COLLISION_POINT.latitude,
PICS_UC6_COLLISION_POINT.longitude,
900,
PICS_UC6_COLLISION_POINT_Z2.latitude, // Z1
PICS_UC6_COLLISION_POINT_Z2.longitude, // Z1
2450,
v_newPosition.latitude,
v_newPosition.longitude
);
......
......@@ -11,6 +11,7 @@ module ItsRSUsSimulator_Pics {
import from SPATEM_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 EVCSN_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 DSRC language "ASN.1:1997" all;
......@@ -457,7 +458,7 @@ module ItsRSUsSimulator_Pics {
}
} // End of PICS_UC6_VEHICLE_GEOAREA
modulepar boolean PICS_USE_SPV := true;
modulepar boolean PICS_USE_LPV := true;
} // End of group camUseCase6VehicleTemplateDescription
......@@ -468,16 +469,25 @@ module ItsRSUsSimulator_Pics {
/**
* @desc Coordinates of the collision point
*/
modulepar ThreeDLocation PICS_UC6_COLLISION_POINT := {
modulepar ThreeDLocation PICS_UC6_COLLISION_POINT_Z1 := {
latitude := 435522970,
longitude := 103000170,
elevation := '0000'O
} // 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
*/
modulepar RectangularRegion PICS_UC6_CAM_DETECTION_AREA := {
modulepar RectangularRegion PICS_UC6_CAM_DETECTION_AREA_Z1 := {
northwest := {
latitude := 435529170,
longitude := 102998330
......@@ -486,7 +496,27 @@ module ItsRSUsSimulator_Pics {
latitude := 435522420,
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
......@@ -2644,7 +2674,7 @@ module ItsRSUsSimulator_Pics {
group mapemZone1 {
modulepar IntersectionReferenceID PICS_Z1_M1_SL_IDX := {
region := 1,
region := 3,
id := 13001
} // End of PICS_Z1_M1_SL_IDX
......@@ -2800,7 +2830,7 @@ module ItsRSUsSimulator_Pics {
group mapemZone2 {
modulepar IntersectionReferenceID PICS_Z2_M1_SL_IDX := {
region := 1,
region := 3,
id := 23001
} // End of PICS_Z2_M1_SL_IDX
......@@ -2956,7 +2986,7 @@ module ItsRSUsSimulator_Pics {
group mapemZone3 {
modulepar IntersectionReferenceID PICS_Z3_M1_SL_IDX := {
region := 1,
region := 3,
id := 33001
} // End of PICS_Z3_M1_SL_IDX
......@@ -3112,7 +3142,7 @@ module ItsRSUsSimulator_Pics {
group mapemZone4 {
modulepar IntersectionReferenceID PICS_Z4_M1_SL_IDX := {
region := 1,
region := 3,
id := 43001
} // End of PICS_Z4_M1_SL_IDX
......@@ -3268,7 +3298,7 @@ module ItsRSUsSimulator_Pics {
group mapemZone5 {
modulepar IntersectionReferenceID PICS_Z5_M1_SL_IDX := {
region := 1,
region := 3,
id := 53001
} // End of PICS_Z5_M1_SL_IDX
......@@ -3424,7 +3454,7 @@ module ItsRSUsSimulator_Pics {
group mapemZone6 {
modulepar IntersectionReferenceID PICS_Z6_M1_SL_IDX := {
region := 1,
region := 3,
id := 63001
} // End of PICS_Z6_M1_SL_IDX
......@@ -4182,14 +4212,14 @@ module ItsRSUsSimulator_Pics {
modulepar UInt32 PICS_IVIM_ITS_AID := 139;
modulepar PosConfidenceEllipse PICS_IVIM_POSITION_CONFIDENCE_ELLIPSE := {
semiMajorConfidence := SemiAxisLength_oneCentimeter_,
semiMinorConfidence := SemiAxisLength_oneCentimeter_,
semiMajorOrientation := HeadingValue_wgs84North_
semiMajorConfidence := 100,
semiMinorConfidence := 100,
semiMajorOrientation := 0
} // End of PICS_DENM_POSITION_CONFIDENCE_ELLIPSE
modulepar Altitude PICS_IVIM_ALTITUDE := {
altitudeValue := AltitudeValue_referenceEllipsoidSurface_,
altitudeConfidence := unavailable
altitudeConfidence := alt_000_01
} // End of PICS_DENM_ALTITUDE
} // End of group ivimCommonParams
......@@ -4277,7 +4307,7 @@ module ItsRSUsSimulator_Pics {
modulepar IvimParm PICS_Z1_I1_POS1 := {
provider := {
countryCode := '0000000001'B,
countryCode := '1100000001'B,
providerIdentifier := 13
},
iviIdentificationNumber := 12,
......@@ -5616,6 +5646,64 @@ module ItsRSUsSimulator_Pics {
} // 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 ssemCommonParams {
......@@ -5676,6 +5764,11 @@ module ItsRSUsSimulator_Pics {
*/
modulepar float PICS_IVIM_FREQUENCY := 1.0;
/**
* @desc EVCSN frequency timer
*/
modulepar float PICS_EVCSN_FREQUENCY := 1.0;
} // End of group generationFrequencies
} // End of module ItsRSUsSimulator_Pics
\ No newline at end of file
......@@ -27,18 +27,18 @@ module ItsRSUsSimulator_Pixits {
/**
* @desc Indicate which Use Case to simulate
* @remark UC1 (DENM only): PX_ETSI_USE_CASE_ID := 1
* UC3 (TLM MAPEM/SPATEM): PX_ETSI_USE_CASE_ID := 3 !! PX_RSU_ID 2
* UC5 (IVIM only): PX_ETSI_USE_CASE_ID := 5 !! PX_RSU_ID 2
* UC6 (CAM only): PX_ETSI_USE_CASE_ID := 6 !! PX_RSU_ID 2
* UC7 (CAM only): PX_ETSI_USE_CASE_ID := 7 !! PX_RSU_ID 2
* UC9 (CAM only): PX_ETSI_USE_CASE_ID := 9 !! PX_RSU_ID 5
* UC3 (TLM MAPEM/SPATEM): PX_ETSI_USE_CASE_ID := 3
* UC5 (IVIM only): PX_ETSI_USE_CASE_ID := 5
* UC6 (CAM only): PX_ETSI_USE_CASE_ID := 6
* UC7 (CAM only): PX_ETSI_USE_CASE_ID := 7
* 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
*/
modulepar integer PX_ETSI_USE_CASE_ID := 1;
modulepar integer PX_ETSI_USE_CASE_ID := 6;
/**
* @desc Indicate which zone to simulate
* @remark Used only for DENM
*/
modulepar integer PX_ETSI_ZONE_ID := 1;
......@@ -46,7 +46,7 @@ module ItsRSUsSimulator_Pixits {
modulepar boolean PICS_GENERATE_CAM := true;
modulepar boolean PICS_GENERATE_DENM := true;
modulepar boolean PICS_GENERATE_DENM := false;
modulepar boolean PICS_GENERATE_IVIM := false;
......@@ -54,6 +54,8 @@ module ItsRSUsSimulator_Pixits {
modulepar boolean PICS_GENERATE_SPATEM := false;
modulepar boolean PICS_GENERATE_SSEM := true;
modulepar boolean PICS_GENERATE_SSEM := false;
modulepar boolean PICS_GENERATE_EVCSN := false;
} // End of module ItsRSUsSimulator_Pixits
......@@ -11,6 +11,7 @@ module ItsRSUsSimulator_Templates {
import from SPATEM_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 EVCSN_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;
......@@ -52,6 +53,7 @@ module ItsRSUsSimulator_Templates {
in template (omit) MAPEM p_mapem := omit,
in template (omit) SPATEMs p_spatems := omit,
in template (omit) IVIM p_ivim := omit,
in template (omit) EvcsnPdu p_evcsn := omit,
in template (omit) SSEM p_ssem := omit
) := {
beacon := p_beacon,
......@@ -59,7 +61,9 @@ module ItsRSUsSimulator_Templates {
denms := p_denms,
mapem := p_mapem,
spatems := p_spatems,
ivim := p_ivim
ivim := p_ivim,
evcsn := p_evcsn,
ssem := p_ssem
} // End of template RsuMessagesValue
group geoNetworkingTemplates {
......@@ -190,7 +194,7 @@ module ItsRSUsSimulator_Templates {
template (present) GnNonSecuredPacket mw_geoNwShbPacketWithNextHeader_cam(
in template (present) LongPosVector p_sourceLongPosVec := ?,
in template (present) UInt8 p_hopLimit := ?,
in template (value) NextHeader p_nextHeader,
in template (present) NextHeader p_nextHeader,
in template (present) CAM p_cam := ?
) modifies mw_geoNwShbPacket := {
payload := {
......@@ -371,7 +375,49 @@ module ItsRSUsSimulator_Templates {
ivi := p_ivi
}
} // End of group ivimTemplates
} // End of ivimTemplates
group evcsnTemplates {
template (value) EvcsnPdu m_evcsnParm(
in template (value) StationID p_stationID,
in template (value) EVChargingSpotNotificationPOIMessage p_evcsn
) := {
header := {
protocolVersion := ItsPduHeader_protocolVersion_currentVersion_,
messageID := 7, //ItsPduHeader_messageID_evcsn_,
stationID := p_stationID
},
evcsn := p_evcsn
}
template (value) EVChargingSpotNotificationPOIMessage m_evcsn(
in template (value) ItsPOIHeader p_poiHeader,
in template (value) ItsEVCSNData p_evcsnData
) := {
poiHeader := p_poiHeader,
evcsnData := p_evcsnData
}
template (value) ItsPOIHeader m_itsPOIHeader(
in template (value) POIType p_poiType := 1,
in template (value) TimestampIts p_timeStamp,
in template (value) boolean p_relayCapable := true
) := {
poiType := p_poiType,
timeStamp := p_timeStamp,
relayCapable := p_relayCapable
}
template (value) ItsEVCSNData m_itsEVCSNData(
in template (value) NumberStations p_totalNumberOfStations := 1,
in template (value) ItsChargingStationDatas p_itsChargingStationDatas
) := {
totalNumberOfStations := p_totalNumberOfStations,
chargingStationsData := p_itsChargingStationDatas
}
} // End of group evcsnTemplates
group denmTemplates {
......@@ -444,6 +490,7 @@ module ItsRSUsSimulator_Templates {
roadType := omit
} // End of field locationContainer
} // End of template m_denmParm
} // End of group denmTemplates
} // End of module ItsRSUsSimulator_Templates
\ No newline at end of file
......@@ -66,9 +66,13 @@ module ItsRSUsSimulator_TestCases {
if (ispresent(vc_rsuMessagesValueList[vc_rsu_id].ivim)) {
tc_ivim.start;
}
if (ispresent(vc_rsuMessagesValueList[vc_rsu_id].evcsn)) {
tc_evcsn.start;
}
geoNetworkingPort.clear;
alt {
[] geoNetworkingPort.receive(
/*[] geoNetworkingPort.receive(
mw_geoNwInd(
mw_geoNwPdu(
mw_geoNwTsbPacketWithNextHeader_srem(
......@@ -80,7 +84,7 @@ module ItsRSUsSimulator_TestCases {
f_processSrem(v_gnInd.msgIn);
repeat;
}
/*[] geoNetworkingPort.receive(
[] geoNetworkingPort.receive(
mw_geoNwInd(
mw_geoNwPdu(
mw_geoNwTsbPacketWithNextHeader_denm(
......@@ -91,12 +95,12 @@ module ItsRSUsSimulator_TestCases {
//log("*** " & testcasename() & ": DEBUG: Processing DENM ***");
// Nothing to do, just for logging purposes
repeat;
}*/
}
[] geoNetworkingPort.receive(mw_geoNwInd(?)) -> value v_gnInd { // Receive a message
//log("*** " & testcasename() & ": DEBUG: Recieving unsollicited message ***");
// Nothing to do, just for logging purposes
repeat;
}
}*/
/*[] cfPort.receive(CfEvent:?) -> value v_cfEvent {
//log("*** " & testcasename() & ": DEBUG: Configuration port command:", v_cfEvent, " ***");
if (f_process_cf_event(v_cfEvent) == true) {
......@@ -149,6 +153,13 @@ module ItsRSUsSimulator_TestCases {
tc_ivim.start;
repeat;
}
[vc_evcsn == true] tc_evcsn.timeout {
//log("*** " & testcasename() & ": DEBUG: Processing EVCSN ***");
f_prepare_evcsn(v_payload);
f_send(v_payload, PICS_EVCSN_ITS_AID);
tc_evcsn.start;
repeat;
}
} // End of 'alt' statement
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
......@@ -169,7 +180,7 @@ module ItsRSUsSimulator_TestCases {
*/
testcase TC_RSUSIMU_BV_02() runs on ItsRSUsSimulator system ItsRSUsSimulatorSystem {
// Local variables
const RectangularRegions c_detectionArea := { PICS_UC6_CAM_DETECTION_AREA };
const RectangularRegions c_detectionArea := { PICS_UC6_CAM_DETECTION_AREA_Z2 }; // PICS_UC6_CAM_DETECTION_AREA_Z1
var VehiclesSimulator v_vehicles := {};
var integer v_stationID;
var boolean v_isInDetectionZone;
......@@ -180,7 +191,8 @@ module ItsRSUsSimulator_TestCases {
var CfEvent v_cfEvent;