Loading ttcn/AtsRSUsSimulator/ItsRSUsSimulator_Functions.ttcn +6 −1 Original line number Diff line number Diff line Loading @@ -262,7 +262,12 @@ module ItsRSUsSimulator_Functions { vc_longPosVectorRsu.latitude, vc_longPosVectorRsu.longitude ), PICS_RSU_PARAMS[p_rsu_id].pathHistory PICS_RSU_PARAMS[p_rsu_id].pathHistory, { rsuContainerHighFrequency := { protectedCommunicationZonesRSU := omit } } ); } } Loading ttcn/AtsRSUsSimulator/ItsRSUsSimulator_Pics.ttcn +14 −14 Original line number Diff line number Diff line Loading @@ -1532,7 +1532,7 @@ module ItsRSUsSimulator_Pics { { // Z1_D3_H2 eventPosition := { deltaLatitude := -1299, deltaLongitude := -819, deltaLongitude := 819, deltaAltitude := 0 }, eventDeltaTime := omit, Loading Loading @@ -1664,40 +1664,40 @@ module ItsRSUsSimulator_Pics { { { // Z2-D1-T1 pathPosition := { deltaLatitude := 4659, deltaLongitude := 7205, deltaLatitude := -1377, deltaLongitude := -12164, deltaAltitude := 0 }, pathDeltaTime := omit }, { // Z2-D1-T2 pathPosition := { deltaLatitude := -1377, deltaLongitude := -12164, deltaLatitude := 55, deltaLongitude := -609, deltaAltitude := 0 }, pathDeltaTime := omit }, { // Z2-D1-T3 pathPosition := { deltaLatitude := 55, deltaLongitude := -609, deltaLatitude := 312, deltaLongitude := -587, deltaAltitude := 0 }, pathDeltaTime := omit }, { // Z2-D1-T4 pathPosition := { deltaLatitude := 312, deltaLongitude := -587, deltaLatitude := 358, deltaLongitude := -421, deltaAltitude := 0 }, pathDeltaTime := omit }, { // Z2-D1-T5 pathPosition := { deltaLatitude := 358, deltaLongitude := -421, deltaLatitude := 860, deltaLongitude := -254, deltaAltitude := 0 }, pathDeltaTime := omit Loading Loading @@ -6172,9 +6172,9 @@ module ItsRSUsSimulator_Pics { modulepar boolean PICS_GENERATE_BEACON := false; modulepar boolean PICS_GENERATE_CAM := true; modulepar boolean PICS_GENERATE_CAM := false; modulepar boolean PICS_GENERATE_DENM := false; modulepar boolean PICS_GENERATE_DENM := true; modulepar boolean PICS_GENERATE_IVIM := false; Loading @@ -6193,7 +6193,7 @@ module ItsRSUsSimulator_Pics { * @desc CAM frequency timer */ modulepar float PICS_CAM_FREQUENCY := 1.0; modulepar float PICS_CAM_FREQUENCY_UC6 := 0.001; modulepar float PICS_CAM_FREQUENCY_UC6 := 0.1; /** * @desc DENM frequency timer Loading ttcn/AtsRSUsSimulator/ItsRSUsSimulator_Pixits.ttcn +2 −2 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ module ItsRSUsSimulator_Pixits { /** * @desc Indicate which RSU to simulate */ modulepar integer PX_RSU_ID := 6; modulepar integer PX_RSU_ID := 2; /** * @desc Indicate which Use Case to simulate Loading @@ -32,7 +32,7 @@ module ItsRSUsSimulator_Pixits { * UC6 (CAM): PX_ETSI_USE_CASE_ID := 6 * UC9 (CAM): PX_ETSI_USE_CASE_ID := 9 */ modulepar integer PX_ETSI_USE_CASE_ID := 9; modulepar integer PX_ETSI_USE_CASE_ID := 1; /** * @desc Indicate which zone to simulate Loading ttcn/AtsRSUsSimulator/ItsRSUsSimulator_Templates.ttcn +5 −5 Original line number Diff line number Diff line Loading @@ -249,11 +249,11 @@ module ItsRSUsSimulator_Templates { protectedCommunicationZonesRSU := p_protectedCommunicationZonesRSU } template (omit) CAM m_camParm( template (value) CAM m_camParm( in template (value) StationID p_stationID, in template (value) ReferencePosition p_rsuPosition, in template (value) PathHistory p_pathHistory, in template (omit) HighFrequencyContainer p_highFrequencyContainer := omit in template (value) HighFrequencyContainer p_highFrequencyContainer ) := { header := { protocolVersion := ItsPduHeader_protocolVersion_currentVersion_, Loading ttcn/AtsRSUsSimulator/ItsRSUsSimulator_TestCases.ttcn +19 −19 Original line number Diff line number Diff line Loading @@ -76,7 +76,7 @@ module ItsRSUsSimulator_TestCases { ?, e_btpB )))) -> value v_gnInd { // Receive a SREM message log("*** " & testcasename() & ": DEBUG: Processing SREM ***"); //log("*** " & testcasename() & ": DEBUG: Processing SREM ***"); f_processSrem(v_gnInd.msgIn); repeat; } Loading @@ -88,37 +88,37 @@ module ItsRSUsSimulator_TestCases { ?, e_btpB // TODO Refined to exclude RSU StationID )))) -> value v_gnInd { // Receive a DENM message log("*** " & testcasename() & ": DEBUG: Processing DENM ***"); //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 ***"); //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, " ***"); //log("*** " & testcasename() & ": DEBUG: Configuration port command:", v_cfEvent, " ***"); if (f_process_cf_event(v_cfEvent) == true) { repeat; } } [vc_beacon == true] tc_beacon.timeout { log("*** " & testcasename() & ": DEBUG: Processing BEACON ***"); //log("*** " & testcasename() & ": DEBUG: Processing BEACON ***"); f_prepare_beacon(v_payload); f_send(v_payload, PICS_CAM_ITS_AID); tc_beacon.start; repeat; } [vc_cam == true] tc_cam.timeout { log("*** " & testcasename() & ": DEBUG: Processing CAM ***"); //log("*** " & testcasename() & ": DEBUG: Processing CAM ***"); f_prepare_cam(v_payload); f_send(v_payload, PICS_CAM_ITS_AID); tc_cam.start; repeat; } [vc_denm == true] tc_denm.timeout { log("*** " & testcasename() & ": DEBUG: Processing DENM ***"); //log("*** " & testcasename() & ": DEBUG: Processing DENM ***"); for (var integer v_i := 0; v_i < lengthof(vc_rsuMessagesValueList[vc_rsu_id].denms); v_i := v_i + 1) { f_prepare_denm(v_payload); f_send(v_payload, PICS_DENM_ITS_AID); Loading @@ -127,14 +127,14 @@ module ItsRSUsSimulator_TestCases { repeat; } [vc_mapem == true] tc_mapem.timeout { log("*** " & testcasename() & ": DEBUG: Processing MAPEM ***"); //log("*** " & testcasename() & ": DEBUG: Processing MAPEM ***"); f_prepare_mapem(v_payload); f_send(v_payload, PICS_MAPEM_ITS_AID); tc_mapem.start; repeat; } [vc_spatem == true] tc_spatem.timeout { log("*** " & testcasename() & ": DEBUG: Processing SPATEM ***"); //log("*** " & testcasename() & ": DEBUG: Processing SPATEM ***"); for (var integer v_counter := 0; v_counter < lengthof(vc_rsuMessagesValueList[PX_RSU_ID - 1].spatems); v_counter := v_counter + 1) { f_prepare_spatem(vc_rsuMessagesValueList[PX_RSU_ID - 1].spatems[v_counter], v_payload); f_send(v_payload, PICS_SPATEM_ITS_AID); Loading @@ -143,7 +143,7 @@ module ItsRSUsSimulator_TestCases { repeat; } [vc_ivim == true] tc_ivim.timeout { log("*** " & testcasename() & ": DEBUG: Processing IVIM ***"); //log("*** " & testcasename() & ": DEBUG: Processing IVIM ***"); f_prepare_ivim(v_payload); f_send(v_payload, PICS_IVIM_ITS_AID); tc_ivim.start; Loading Loading @@ -216,19 +216,19 @@ module ItsRSUsSimulator_TestCases { PICS_UC6_DETECTION_POINT ); if (ff_abs(v_distance - PICS_UC6_DETECTION_DISTANCE) < PICS_UC6_DETECTION_EPSILLON) { log("*** " & testcasename() & ": DEBUG: StationID: " & v_stationID & " in of area (", ff_abs(v_distance - PICS_UC6_DETECTION_DISTANCE), ") ***"); //log("*** " & testcasename() & ": DEBUG: StationID: " & v_stationID & " in of area (", ff_abs(v_distance - PICS_UC6_DETECTION_DISTANCE), ") ***"); v_vehicles[v_vehiclesIdx] := ItsRSUsSimulator.create("Node" & int2char(v_vehiclesIdx + 65)) alive; v_vehicles[v_vehiclesIdx].start(f_startVehicleSimulator(v_vehicles[v_vehiclesIdx], v_vehiclesIdx)); v_vehiclesIdx := v_vehiclesIdx + 1; v_stationIDs := v_stationIDs & v_stationID & ","; //log("*** " & testcasename() & ": DEBUG: New v_stationIDs: " & v_stationIDs & " ***"); ////log("*** " & testcasename() & ": DEBUG: New v_stationIDs: " & v_stationIDs & " ***"); } else { // Nothing to do log("*** " & testcasename() & ": DEBUG: StationID: " & v_stationID & " out of area (", ff_abs(v_distance - PICS_UC6_DETECTION_DISTANCE), ") ***"); //log("*** " & testcasename() & ": DEBUG: StationID: " & v_stationID & " out of area (", ff_abs(v_distance - PICS_UC6_DETECTION_DISTANCE), ") ***"); } } else { // Nothing to do //log("*** " & testcasename() & ": DEBUG: StationID: " & v_stationID & " already processed ***"); ////log("*** " & testcasename() & ": DEBUG: StationID: " & v_stationID & " already processed ***"); } tc_ac.start; repeat; Loading @@ -238,21 +238,21 @@ module ItsRSUsSimulator_TestCases { mw_geoNwPdu( ? ))) { // Receive a CAM message log("*** " & testcasename() & ": DEBUG: Recieving unsollicited message ***"); //log("*** " & testcasename() & ": DEBUG: Recieving unsollicited message ***"); // Nothing to do, just for logging purposes tc_ac.stop; tc_ac.start; repeat; } [] cfPort.receive(CfEvent:?) -> value v_cfEvent { log("*** " & testcasename() & ": DEBUG: Configuration port command:", v_cfEvent, " ***"); //log("*** " & testcasename() & ": DEBUG: Configuration port command:", v_cfEvent, " ***"); if (f_process_cf_event(v_cfEvent) == true) { repeat; } all component.stop; } [] tc_ac.timeout { log("*** " & testcasename() & ": DEBUG: No CAM message received ***"); //log("*** " & testcasename() & ": DEBUG: No CAM message received ***"); all component.stop; } } // End of 'alt' statement Loading @@ -277,7 +277,7 @@ module ItsRSUsSimulator_TestCases { var integer v_idx := 0; var template (value) CAM v_cam; //log("*** " & testcasename() & ": DEBUG: >>> f_startVehicleSimulator: " & int2str(p_idx) & " ***"); ////log("*** " & testcasename() & ": DEBUG: >>> f_startVehicleSimulator: " & int2str(p_idx) & " ***"); f_initialiseVehicleSimulatorComponent(p_component, v_cam); tc_ca_uc6.start; Loading @@ -286,7 +286,7 @@ module ItsRSUsSimulator_TestCases { repeat; }*/ [] tc_ca_uc6.timeout { log("*** " & testcasename() & ": DEBUG: Processing CAM #" & int2str(v_idx) & " ***"); //log("*** " & testcasename() & ": DEBUG: Processing CAM #" & int2str(v_idx) & " ***"); tc_ca_uc6.stop; f_send_vehicle_cam(v_cam, v_idx); v_idx := v_idx + 1; Loading Loading
ttcn/AtsRSUsSimulator/ItsRSUsSimulator_Functions.ttcn +6 −1 Original line number Diff line number Diff line Loading @@ -262,7 +262,12 @@ module ItsRSUsSimulator_Functions { vc_longPosVectorRsu.latitude, vc_longPosVectorRsu.longitude ), PICS_RSU_PARAMS[p_rsu_id].pathHistory PICS_RSU_PARAMS[p_rsu_id].pathHistory, { rsuContainerHighFrequency := { protectedCommunicationZonesRSU := omit } } ); } } Loading
ttcn/AtsRSUsSimulator/ItsRSUsSimulator_Pics.ttcn +14 −14 Original line number Diff line number Diff line Loading @@ -1532,7 +1532,7 @@ module ItsRSUsSimulator_Pics { { // Z1_D3_H2 eventPosition := { deltaLatitude := -1299, deltaLongitude := -819, deltaLongitude := 819, deltaAltitude := 0 }, eventDeltaTime := omit, Loading Loading @@ -1664,40 +1664,40 @@ module ItsRSUsSimulator_Pics { { { // Z2-D1-T1 pathPosition := { deltaLatitude := 4659, deltaLongitude := 7205, deltaLatitude := -1377, deltaLongitude := -12164, deltaAltitude := 0 }, pathDeltaTime := omit }, { // Z2-D1-T2 pathPosition := { deltaLatitude := -1377, deltaLongitude := -12164, deltaLatitude := 55, deltaLongitude := -609, deltaAltitude := 0 }, pathDeltaTime := omit }, { // Z2-D1-T3 pathPosition := { deltaLatitude := 55, deltaLongitude := -609, deltaLatitude := 312, deltaLongitude := -587, deltaAltitude := 0 }, pathDeltaTime := omit }, { // Z2-D1-T4 pathPosition := { deltaLatitude := 312, deltaLongitude := -587, deltaLatitude := 358, deltaLongitude := -421, deltaAltitude := 0 }, pathDeltaTime := omit }, { // Z2-D1-T5 pathPosition := { deltaLatitude := 358, deltaLongitude := -421, deltaLatitude := 860, deltaLongitude := -254, deltaAltitude := 0 }, pathDeltaTime := omit Loading Loading @@ -6172,9 +6172,9 @@ module ItsRSUsSimulator_Pics { modulepar boolean PICS_GENERATE_BEACON := false; modulepar boolean PICS_GENERATE_CAM := true; modulepar boolean PICS_GENERATE_CAM := false; modulepar boolean PICS_GENERATE_DENM := false; modulepar boolean PICS_GENERATE_DENM := true; modulepar boolean PICS_GENERATE_IVIM := false; Loading @@ -6193,7 +6193,7 @@ module ItsRSUsSimulator_Pics { * @desc CAM frequency timer */ modulepar float PICS_CAM_FREQUENCY := 1.0; modulepar float PICS_CAM_FREQUENCY_UC6 := 0.001; modulepar float PICS_CAM_FREQUENCY_UC6 := 0.1; /** * @desc DENM frequency timer Loading
ttcn/AtsRSUsSimulator/ItsRSUsSimulator_Pixits.ttcn +2 −2 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ module ItsRSUsSimulator_Pixits { /** * @desc Indicate which RSU to simulate */ modulepar integer PX_RSU_ID := 6; modulepar integer PX_RSU_ID := 2; /** * @desc Indicate which Use Case to simulate Loading @@ -32,7 +32,7 @@ module ItsRSUsSimulator_Pixits { * UC6 (CAM): PX_ETSI_USE_CASE_ID := 6 * UC9 (CAM): PX_ETSI_USE_CASE_ID := 9 */ modulepar integer PX_ETSI_USE_CASE_ID := 9; modulepar integer PX_ETSI_USE_CASE_ID := 1; /** * @desc Indicate which zone to simulate Loading
ttcn/AtsRSUsSimulator/ItsRSUsSimulator_Templates.ttcn +5 −5 Original line number Diff line number Diff line Loading @@ -249,11 +249,11 @@ module ItsRSUsSimulator_Templates { protectedCommunicationZonesRSU := p_protectedCommunicationZonesRSU } template (omit) CAM m_camParm( template (value) CAM m_camParm( in template (value) StationID p_stationID, in template (value) ReferencePosition p_rsuPosition, in template (value) PathHistory p_pathHistory, in template (omit) HighFrequencyContainer p_highFrequencyContainer := omit in template (value) HighFrequencyContainer p_highFrequencyContainer ) := { header := { protocolVersion := ItsPduHeader_protocolVersion_currentVersion_, Loading
ttcn/AtsRSUsSimulator/ItsRSUsSimulator_TestCases.ttcn +19 −19 Original line number Diff line number Diff line Loading @@ -76,7 +76,7 @@ module ItsRSUsSimulator_TestCases { ?, e_btpB )))) -> value v_gnInd { // Receive a SREM message log("*** " & testcasename() & ": DEBUG: Processing SREM ***"); //log("*** " & testcasename() & ": DEBUG: Processing SREM ***"); f_processSrem(v_gnInd.msgIn); repeat; } Loading @@ -88,37 +88,37 @@ module ItsRSUsSimulator_TestCases { ?, e_btpB // TODO Refined to exclude RSU StationID )))) -> value v_gnInd { // Receive a DENM message log("*** " & testcasename() & ": DEBUG: Processing DENM ***"); //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 ***"); //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, " ***"); //log("*** " & testcasename() & ": DEBUG: Configuration port command:", v_cfEvent, " ***"); if (f_process_cf_event(v_cfEvent) == true) { repeat; } } [vc_beacon == true] tc_beacon.timeout { log("*** " & testcasename() & ": DEBUG: Processing BEACON ***"); //log("*** " & testcasename() & ": DEBUG: Processing BEACON ***"); f_prepare_beacon(v_payload); f_send(v_payload, PICS_CAM_ITS_AID); tc_beacon.start; repeat; } [vc_cam == true] tc_cam.timeout { log("*** " & testcasename() & ": DEBUG: Processing CAM ***"); //log("*** " & testcasename() & ": DEBUG: Processing CAM ***"); f_prepare_cam(v_payload); f_send(v_payload, PICS_CAM_ITS_AID); tc_cam.start; repeat; } [vc_denm == true] tc_denm.timeout { log("*** " & testcasename() & ": DEBUG: Processing DENM ***"); //log("*** " & testcasename() & ": DEBUG: Processing DENM ***"); for (var integer v_i := 0; v_i < lengthof(vc_rsuMessagesValueList[vc_rsu_id].denms); v_i := v_i + 1) { f_prepare_denm(v_payload); f_send(v_payload, PICS_DENM_ITS_AID); Loading @@ -127,14 +127,14 @@ module ItsRSUsSimulator_TestCases { repeat; } [vc_mapem == true] tc_mapem.timeout { log("*** " & testcasename() & ": DEBUG: Processing MAPEM ***"); //log("*** " & testcasename() & ": DEBUG: Processing MAPEM ***"); f_prepare_mapem(v_payload); f_send(v_payload, PICS_MAPEM_ITS_AID); tc_mapem.start; repeat; } [vc_spatem == true] tc_spatem.timeout { log("*** " & testcasename() & ": DEBUG: Processing SPATEM ***"); //log("*** " & testcasename() & ": DEBUG: Processing SPATEM ***"); for (var integer v_counter := 0; v_counter < lengthof(vc_rsuMessagesValueList[PX_RSU_ID - 1].spatems); v_counter := v_counter + 1) { f_prepare_spatem(vc_rsuMessagesValueList[PX_RSU_ID - 1].spatems[v_counter], v_payload); f_send(v_payload, PICS_SPATEM_ITS_AID); Loading @@ -143,7 +143,7 @@ module ItsRSUsSimulator_TestCases { repeat; } [vc_ivim == true] tc_ivim.timeout { log("*** " & testcasename() & ": DEBUG: Processing IVIM ***"); //log("*** " & testcasename() & ": DEBUG: Processing IVIM ***"); f_prepare_ivim(v_payload); f_send(v_payload, PICS_IVIM_ITS_AID); tc_ivim.start; Loading Loading @@ -216,19 +216,19 @@ module ItsRSUsSimulator_TestCases { PICS_UC6_DETECTION_POINT ); if (ff_abs(v_distance - PICS_UC6_DETECTION_DISTANCE) < PICS_UC6_DETECTION_EPSILLON) { log("*** " & testcasename() & ": DEBUG: StationID: " & v_stationID & " in of area (", ff_abs(v_distance - PICS_UC6_DETECTION_DISTANCE), ") ***"); //log("*** " & testcasename() & ": DEBUG: StationID: " & v_stationID & " in of area (", ff_abs(v_distance - PICS_UC6_DETECTION_DISTANCE), ") ***"); v_vehicles[v_vehiclesIdx] := ItsRSUsSimulator.create("Node" & int2char(v_vehiclesIdx + 65)) alive; v_vehicles[v_vehiclesIdx].start(f_startVehicleSimulator(v_vehicles[v_vehiclesIdx], v_vehiclesIdx)); v_vehiclesIdx := v_vehiclesIdx + 1; v_stationIDs := v_stationIDs & v_stationID & ","; //log("*** " & testcasename() & ": DEBUG: New v_stationIDs: " & v_stationIDs & " ***"); ////log("*** " & testcasename() & ": DEBUG: New v_stationIDs: " & v_stationIDs & " ***"); } else { // Nothing to do log("*** " & testcasename() & ": DEBUG: StationID: " & v_stationID & " out of area (", ff_abs(v_distance - PICS_UC6_DETECTION_DISTANCE), ") ***"); //log("*** " & testcasename() & ": DEBUG: StationID: " & v_stationID & " out of area (", ff_abs(v_distance - PICS_UC6_DETECTION_DISTANCE), ") ***"); } } else { // Nothing to do //log("*** " & testcasename() & ": DEBUG: StationID: " & v_stationID & " already processed ***"); ////log("*** " & testcasename() & ": DEBUG: StationID: " & v_stationID & " already processed ***"); } tc_ac.start; repeat; Loading @@ -238,21 +238,21 @@ module ItsRSUsSimulator_TestCases { mw_geoNwPdu( ? ))) { // Receive a CAM message log("*** " & testcasename() & ": DEBUG: Recieving unsollicited message ***"); //log("*** " & testcasename() & ": DEBUG: Recieving unsollicited message ***"); // Nothing to do, just for logging purposes tc_ac.stop; tc_ac.start; repeat; } [] cfPort.receive(CfEvent:?) -> value v_cfEvent { log("*** " & testcasename() & ": DEBUG: Configuration port command:", v_cfEvent, " ***"); //log("*** " & testcasename() & ": DEBUG: Configuration port command:", v_cfEvent, " ***"); if (f_process_cf_event(v_cfEvent) == true) { repeat; } all component.stop; } [] tc_ac.timeout { log("*** " & testcasename() & ": DEBUG: No CAM message received ***"); //log("*** " & testcasename() & ": DEBUG: No CAM message received ***"); all component.stop; } } // End of 'alt' statement Loading @@ -277,7 +277,7 @@ module ItsRSUsSimulator_TestCases { var integer v_idx := 0; var template (value) CAM v_cam; //log("*** " & testcasename() & ": DEBUG: >>> f_startVehicleSimulator: " & int2str(p_idx) & " ***"); ////log("*** " & testcasename() & ": DEBUG: >>> f_startVehicleSimulator: " & int2str(p_idx) & " ***"); f_initialiseVehicleSimulatorComponent(p_component, v_cam); tc_ca_uc6.start; Loading @@ -286,7 +286,7 @@ module ItsRSUsSimulator_TestCases { repeat; }*/ [] tc_ca_uc6.timeout { log("*** " & testcasename() & ": DEBUG: Processing CAM #" & int2str(v_idx) & " ***"); //log("*** " & testcasename() & ": DEBUG: Processing CAM #" & int2str(v_idx) & " ***"); tc_ca_uc6.stop; f_send_vehicle_cam(v_cam, v_idx); v_idx := v_idx + 1; Loading