Newer
Older
/**
Bostjan Pintar
committed
* @author ETSI STF517 /TTF002
* @version $Url: https://oldforge.etsi.org/svn/ITS/tags/20170222_STF527_Final/ttcn/AtsMapemSpatem/ItsSpatem_TpFunctions.ttcn $
* $Id: ItsSpatem_TpFunctions.ttcn,v 1.4 2018/12/06 17:59:36 dte Exp $
* @desc SPATEM TP functions
* @copyright ETSI Copyright Notification
* No part may be reproduced except as authorized by written permission.
* The copyright and the foregoing restriction extend to reproduction in all media.
* All rights reserved.
*
*/
module ItsSpatem_TpFunctions {
// LibCommon
import from LibCommon_BasicTypesAndValues all;
import from LibCommon_Sync all;
import from LibCommon_VerdictControl all;
import from LibCommon_Time all;
// LibItsCommon
import from LibItsCommon_Functions all;
import from LibItsCommon_TypesAndValues all;
// LibIts
import from ITS_Container 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 DSRC language "ASN.1:1997" all;
// LibItsMapemSpatem
import from LibItsMapemSpatem_TestSystem all;
import from LibItsMapemSpatem_Functions all;
import from LibItsMapemSpatem_Templates all;
import from LibItsMapemSpatem_TypesAndValues all;
import from LibItsMapemSpatem_Pics all;
group spateMessageDissemination {
group spateMessageFormat {
/**
Bostjan Pintar
committed
* @desc TP Function for TC_IS_TLM_GEN_MSGF_BV_01
*/
Bostjan Pintar
committed
function f_IS_TLM_GEN_MSGF_BV_01 () runs on ItsMapemSpatem {
// Local variables
// Test control
if (not PICS_SPATEM_GENERATION) {
log("*** " & testcasename() & ": PICS_SPATEM_GENERATION required for executing the TC ***");
setverdict(inconc);
stop;
}
// Test component configuration
f_cfUp();
// Preamble
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
tc_ac.start;
alt {
[] mapemSpatemPort.receive(
mw_spatemInd(
mw_spatemPdu
)) {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Successfully received SAPTEM PDU header. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
}
}
// Postamble
f_poDefault();
f_cfDown();
Bostjan Pintar
committed
} // End of function f_IS_TLM_GEN_MSGF_BV_01
/**
* @desc TP Function for TC_IS_TLM_GEN_MSGF_BV_02
*/
function f_IS_TLM_GEN_MSGF_BV_02 () runs on ItsMapemSpatem {
// Local variables
// Test control
if (not PICS_SPATEM_GENERATION) {
log("*** " & testcasename() & ": PICS_SPATEM_GENERATION required for executing the TC ***");
setverdict(inconc);
stop;
}
// Test component configuration
f_cfUp();
// Preamble
f_prInitialState();
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
// Wait for SPATEM sent
tc_ac.start(2.0);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
tc_ac.start;
alt {
[] mapemSpatemPort.receive(
mw_spatemInd(
mw_spatemPdu(
mw_spatem_intersections(
{mw_IntersectionState(
?, //IntersectionReferenceID p_id
-, //MsgCount p_revision
-, //IntersectionStatusObject p_status
- //MovementList p_states
)}
)
)
)) {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Successfully received SAPTEM PDU header. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
}
}
// Postamble
Bostjan Pintar
committed
} // End of function f_IS_TLM_GEN_MSGF_BV_02
/**
* @desc TP Function for TC_IS_TLM_GEN_MSGF_BV_03
*/
function f_IS_TLM_GEN_MSGF_BV_03 () runs on ItsMapemSpatem {
// Local variables
// Test control
if (not PICS_SPATEM_GENERATION) {
log("*** " & testcasename() & ": PICS_SPATEM_GENERATION required for executing the TC ***");
setverdict(inconc);
stop;
}
// Test component configuration
f_cfUp();
// Preamble
f_prInitialState();
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
// Wait for SPATEM sent
tc_ac.start(2.0);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
tc_ac.start;
alt {
[] mapemSpatemPort.receive(
mw_spatemInd(
mw_spatemPdu(
mw_spatem_intersections(
{mw_IntersectionState(
-, //IntersectionReferenceID p_id
?, //MsgCount p_revision
-, //IntersectionStatusObject p_status
- //MovementList p_states
)}
)
)
)) {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Successfully received SAPTEM PDU header. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
}
}
// Postamble
Bostjan Pintar
committed
} // End of function f_IS_TLM_GEN_MSGF_BV_03
/**
* @desc TP Function for TC_IS_TLM_GEN_MSGF_BV_04
*/
function f_IS_TLM_GEN_MSGF_BV_04 () runs on ItsMapemSpatem {
// Local variables
// Test control
if (not PICS_SPATEM_GENERATION) {
log("*** " & testcasename() & ": PICS_SPATEM_GENERATION required for executing the TC ***");
setverdict(inconc);
stop;
}
// Test component configuration
f_cfUp();
// Preamble
f_prInitialState();
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
// Wait for SPATEM sent
tc_ac.start(2.0);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
tc_ac.start;
alt {
[] mapemSpatemPort.receive(
mw_spatemInd(
mw_spatemPdu(
mw_spatem_intersections(
)
)
)) {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Successfully received SAPTEM PDU header. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
}
}
// Postamble
Bostjan Pintar
committed
} // End of function f_IS_TLM_GEN_MSGF_BV_04
/**
* @desc TP Function for TC_IS_TLM_GEN_MSGF_BV_05
*/
function f_IS_TLM_GEN_MSGF_BV_05 () runs on ItsMapemSpatem {
// Local variables
// Test control
if (not PICS_SPATEM_GENERATION) {
log("*** " & testcasename() & ": PICS_SPATEM_GENERATION required for executing the TC ***");
setverdict(inconc);
stop;
}
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
// Wait for SPATEM sent
tc_ac.start(2.0);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
tc_ac.start;
alt {
[] mapemSpatemPort.receive(
mw_spatemInd(
mw_spatemPdu(
mw_spatem_intersections(
{mw_IntersectionState(
-, //IntersectionReferenceID p_id
-, //MsgCount p_revision
-, //IntersectionStatusObject p_status
)}
)
)
)) {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Successfully received SAPTEM PDU header. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
}
}
// Postamble
Bostjan Pintar
committed
Bostjan Pintar
committed
/**
* @desc TP Function for TC_IS_TLM_GEN_MSGF_BV_06
*/
function f_IS_TLM_GEN_MSGF_BV_06 () runs on ItsMapemSpatem {
var MapemInd v_mapem;
var SpatemInd v_spatem;
// Test control
if (not PICS_SPATEM_GENERATION) {
log("*** " & testcasename() & ": PICS_SPATEM_GENERATION required for executing the TC ***");
setverdict(inconc);
stop;
}
// Preamble
f_prInitialState();
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
// Wait for MAPEM sent
f_awaitMapeMessage(
mw_mapemInd(
mw_mapemPdu(
mw_mapem(
{
mw_intersectionGeometry(
-, -, -,
?
)
}
))),
v_mapem
);
f_awaitSpateMessage(
mw_spatemInd(
mw_spatemPdu(
mw_defaultSpatem
)),
v_spatem
);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
tc_ac.start;
alt {
[] mapemSpatemPort.receive(
mw_spatemInd(
mw_spatemPdu(
mw_spatem_intersections(
{mw_IntersectionState(
v_mapem.msgIn.map_.intersections[0].id, //IntersectionReferenceID p_id
-, //MsgCount p_revision
-, //IntersectionStatusObject p_status
{
*,
mw_movementState(
?,//SignalGroupID,
? //MovementEventList,
),
*
} //MovementList p_states
)}
)
)
)) {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Successfully received SAPTEM PDU header. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
}
}
// Postamble
Bostjan Pintar
committed
Bostjan Pintar
committed
/**
* @desc TP Function for TC_IS_TLM_GEN_MSGF_BV_07
*/
function f_IS_TLM_GEN_MSGF_BV_07 () runs on ItsMapemSpatem {
Bostjan Pintar
committed
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
// Local variables
var MapemInd v_mapem;
var SpatemInd v_spatem;
// Test control
if (not PICS_SPATEM_GENERATION) {
log("*** " & testcasename() & ": PICS_SPATEM_GENERATION required for executing the TC ***");
setverdict(inconc);
stop;
}
// Test component configuration
f_cfUp();
// Preamble
f_prInitialState();
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
// Wait for MAPEM sent
f_awaitMapeMessage(
mw_mapemInd(
mw_mapemPdu(
mw_mapem(
{
mw_intersectionGeometry(
-, -, -,
{ *, mw_roadLane(-, mw_laneAttributes_crosswak), * }
)
}
))),
v_mapem
);
// Wait for SPATEM sent
f_awaitSpateMessage(
mw_spatemInd(
mw_spatemPdu(
mw_defaultSpatem
)),
v_spatem
);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
tc_ac.start;
alt {
[] mapemSpatemPort.receive(
mw_spatemInd(
mw_spatemPdu(
mw_spatem_intersections(
{mw_IntersectionState(
v_mapem.msgIn.map_.intersections[0].id, //IntersectionReferenceID p_id
-, //MsgCount p_revision
-, //IntersectionStatusObject p_status
{
*,
mw_movementState(
?,//SignalGroupID,
? //MovementEventList,
),
*
} //MovementList p_states
)}
)
)
)) {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Successfully received SAPTEM PDU header. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
}
}
// Postamble
Bostjan Pintar
committed
} // End of function f_IS_TLM_GEN_MSGF_BV_07
/**
* @desc TP Function for TC_IS_TLM_GEN_MSGF_BV_08
*/
Bostjan Pintar
committed
log("*** " & testcasename() & ": PICS_SPATEM_GENERATION required for executing the TC ***");
setverdict(inconc);
stop;
}
Bostjan Pintar
committed
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
// Wait for MAPEM sent
mw_mapemInd(
mw_mapemPdu(
mw_mapem(
{
mw_intersectionGeometry(
-, -, -,
{ *, mw_roadLane(-, mw_laneAttributes_crosswak), * }
)
}
))),
v_mapem
);
// Wait for SPATEM sent
f_awaitSpateMessage(
mw_spatemInd(
mw_spatemPdu(
mw_defaultSpatem
);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
tc_ac.start;
alt {
[] mapemSpatemPort.receive(
mw_spatemInd(
mw_spatemPdu(
mw_spatem_intersections(
{mw_IntersectionState(
v_mapem.msgIn.map_.intersections[0].id, //IntersectionReferenceID p_id
-, //MsgCount p_revision
-, //IntersectionStatusObject p_status
{
*,
mw_movementState(
?,//SignalGroupID,
{
mw_movementEvent( //MovementEventList,
-,
mw_timeChangeDetails( //timing
? //minEndTime
)
)
}
),
*
} //MovementList p_states
)}
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Successfully received SAPTEM PDU header. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
}
}
// Postamble
f_poDefault();
/**
*/
// Local variables
// Test control
if (not PICS_SPATEM_GENERATION) {
log("*** " & testcasename() & ": PICS_SPATEM_GENERATION required for executing the TC ***");
setverdict(inconc);
stop;
}
// Preamble
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
// Wait for MAPEM sent
mw_mapemInd(
mw_mapemPdu(
mw_mapem(
{
mw_intersectionGeometry(
-, -, -,
{ *, mw_roadLane(-, mw_laneAttributes_crosswak), * }
)
}
))),
v_mapem
);
// Wait for SPATEM sent
f_awaitSpateMessage(
mw_spatemInd(
mw_spatemPdu(
mw_defaultSpatem
);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
tc_ac.start;
alt {
[] mapemSpatemPort.receive(
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
mw_spatemInd(
mw_spatemPdu(
mw_spatem_intersections(
{mw_IntersectionState(
v_mapem.msgIn.map_.intersections[0].id, //IntersectionReferenceID p_id
-, //MsgCount p_revision
-, //IntersectionStatusObject p_status
{
*,
mw_movementState(
?,//SignalGroupID,
{
mw_movementEvent( //MovementEventList,
-,
mw_timeChangeDetails( //timing
?, //minEndTime
*, //startTime
? //nextTime
)
)
}
),
*
} //MovementList p_states
)}
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Successfully received SAPTEM PDU header. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
}
}
// Postamble
f_poDefault();
/**
*/
// Local variables
var ItsMapemSpatem v_mapem;
var ItsMapemSpatem v_spatem;
// Test control
if (not (PICS_SPATEM_GENERATION and PICS_SPATEM_PRIORITIZATION)) {
log("*** " & testcasename() & ": PICS_SPATEM_GENERATION AND PICS_SPATEM_PRIORITIZATION required for executing the TC ***");
setverdict(inconc);
stop;
}
// Test component configuration
f_cf02Up();
// Preamble
// Start components
v_mapem := f_getComponent(c_compMap);
v_spatem := f_getComponent(c_compSpat);
v_mapem.start(f_IS_TLM_GEN_MSGF_BV_10_MAPEM());
v_spatem.start(f_IS_TLM_GEN_MSGF_BV_10_SPATEM());
// Synchronization
f_serverSync2ClientsAndStop({c_prDone, c_tbDone});
// Cleanup
f_cf02Down();
} // End of function f_IS_TLM_GEN_MSGF_BV_10
/**
* @desc TP Function for TC_IS_TLM_GEN_MSGF_BV_10_CAM
*/
function f_IS_TLM_GEN_MSGF_BV_10_MAPEM () runs on ItsMapemSpatem {
// Local variables
var MapemInd v_mapem;
var IntersectionReferenceID v_id;
// Preamble
f_awaitMapeMessage(
mw_mapemInd(
mw_mapemPdu(
mw_mapem(
{mw_intersectionGeometry(
?,//IntersectionReferenceId
-,
-,
{mw_roadLane(
-,//laneID
?,//laneAttributes
-,//p_ingressApproach
-,//egressApproach
? //connectsTo
)}
)}
)
)),
v_mapem
);
v_id := v_mapem.msgIn.map_.intersections[0].id;
log("IntersectionReferenceID = ", v_id);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
} // End of function f_IS_TLM_GEN_MSGF_BV_10_MAPEM
/**
* @desc TP Function for TC_IS_TLM_GEN_MSGF_BV_10_SPATEM
*/
function f_IS_TLM_GEN_MSGF_BV_10_SPATEM () runs on ItsMapemSpatem {
// Local variables
// Preamble
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
f_prInitialState();
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
// Test Body
alt {
[] mapemSpatemPort.receive(
mw_spatemInd(
mw_spatemPdu(
mw_spatem_intersections(
{mw_IntersectionState_regional(
?, //IntersectionReferenceID p_id
-, //MsgCount p_revision
-, //IntersectionStatusObject p_status
-,
? //regional
)}
)
)
)) {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Successfully received SAPTEM PDU header. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
}
}
// Postamble
f_poDefault();
/**
*/
// Local variables
// Test control
if (not PICS_SPATEM_GENERATION or not PICS_SPATEM_PEDESTRIAN_MANOEUVRES) {
log("*** " & testcasename() & ": PICS_SPATEM_GENERATION and PICS_SPATEM_PEDESTRIAN_MANOEUVRES required for executing the TC ***");
setverdict(inconc);
stop;
}
// Preamble
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
// Wait for MAPEM sent
mw_mapemInd(
mw_mapemPdu(
mw_mapem(
{
mw_intersectionGeometry(
-, -, -,
{ *, mw_roadLane(-, mw_laneAttributes_crosswak), * }
)
}
))),
v_mapem
);
// Wait for SPATEM sent
f_awaitSpateMessage(
mw_spatemInd(
mw_spatemPdu(
mw_defaultSpatem
);
f_utTriggerEvent(m_utTriggerEvent(tlmPedestrianDetected));
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
tc_ac.start;
alt {
[] mapemSpatemPort.receive(
mw_spatemInd(
mw_spatemPdu(
mw_spatem_intersections(
{mw_IntersectionState_maneuverAssistList(
v_mapem.msgIn.map_.intersections[0].id, //IntersectionReferenceID p_id
-, //MsgCount p_revision
-, //IntersectionStatusObject,
-,
{
*,
mw_connectionManeuverAssist(
?, // connectionID
? // pedBicycleDetect
),
*
}
)
}
)
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Successfully received SAPTEM PDU header. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
}
}
// Postamble
f_poDefault();
/**
*/
// Local variables
if (not (PICS_SPATEM_GENERATION and PICS_SPATEM_HAS_OPTIMAL_SPEED)) {
log("*** " & testcasename() & ": PICS_SPATEM_GENERATION AND PICS_SPATEM_HAS_OPTIMAL_SPEED required for executing the TC ***");
f_utTriggerEvent(m_utTriggerEvent(spatProfile1));
// Wait for MAPEM sent
mw_mapemInd(
mw_mapemPdu(
mw_mapem(
{
mw_intersectionGeometry(
-, -, -,
{ *, mw_roadLane(-, mw_laneAttributes_crosswak), * }
)
}
))),
v_mapem
);
// Wait for SPATEM sent
f_awaitSpateMessage(
mw_spatemInd(
mw_spatemPdu(
mw_defaultSpatem
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
tc_ac.start;
alt {
[] mapemSpatemPort.receive(
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
mw_spatemInd(
mw_spatemPdu(
mw_spatem_intersections(
{mw_IntersectionState(
v_mapem.msgIn.map_.intersections[0].id, //IntersectionReferenceID p_id
-, //MsgCount p_revision
-, //IntersectionStatusObject p_status
{
*,
mw_movementState(
?,//SignalGroupID,
{
mw_movementEvent( //MovementEventList,
-,
-,
{
mw_advisorySpeed( //speeds
(ecoDrive, transit), //type
? //speed
)
}
)
}
),
*
} //MovementList p_states
)}
)) {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Successfully received SAPTEM PDU header. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
}
}
// Postamble
f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
f_poDefault();
f_cfDown();
function f_IS_TLM_GEN_MSGF_BV_13 () runs on ItsMtc {
// Local variables
var MapemInd v_mapem;
var SpatemInd v_spatem;
// Test control
if (not (PICS_SPATEM_GENERATION and PICS_SPATEM_HAS_SIGNAL_PROGRESSION_SPEED)) {
log("*** " & testcasename() & ": PICS_SPATEM_GENERATION AND PICS_SPATEM_HAS_SIGNAL_PROGRESSION_SPEED required for executing the TC ***");
setverdict(inconc);
stop;
}