varbitstringv_btp_payload:=oct2bit(substr(v_gnInd.msgIn.gnPacket.packet.payload,0,4));// FIXMEM Skip BTP, check if it is acceptable in an ATS
varbitstringv_cam_payload:=oct2bit(substr(v_gnInd.msgIn.gnPacket.packet.payload,4,lengthof(v_gnInd.msgIn.gnPacket.packet.payload)-4));// FIXMEM Skip BTP, check if it is acceptable in an ATS
varbitstringv_btp_payload:=oct2bit(substr(v_gnInd.msgIn.gnPacket.packet.payload,0,4));// FIXMEM Skip BTP, check if it is acceptable in an ATS
varbitstringv_denm_payload:=oct2bit(substr(v_gnInd.msgIn.gnPacket.packet.payload,4,lengthof(v_gnInd.msgIn.gnPacket.packet.payload)-4));// FIXMEM Skip BTP, check if it is acceptable in an ATS
* @desc DENM cause variant for TC_AUTO_IOT_DENM_SVW_BV_01
* @see Draft ETSI TS yyy xxx-2 V0.0.87 (2017-03) Table 4: Possible DENM cause values (ETSI EN 302 637-3 [5] Table 10: Cause description and cause code assignment for ETSI use case)
*/
moduleparintegerPICS_UC2_CAUSE:=94;
/**
* @desc DENM subcause variant for TC_AUTO_IOT_DENM_SVW_BV_01
* @see Draft ETSI TS yyy xxx-2 V0.0.87 (2017-03) Table 5: Possible DENM sub-cause values (ETSI EN 302 637-3 [5] Table 10: Cause description and cause code assignment for ETSI use case)
* @see Draft ETSI TS yyy xxx-2 V0.0.87 (2017-03) Table 4: Possible DENM cause values (ETSI EN 302 637-3 [5] Table 10: Cause description and cause code assignment for ETSI use case)
*/
moduleparintegerPX_DENM_CAUSE_VA:=94;
/**
* @desc DENM subcause variant
* @see Draft ETSI TS yyy xxx-2 V0.0.87 (2017-03) Table 5: Possible DENM sub-cause values (ETSI EN 302 637-3 [5] Table 10: Cause description and cause code assignment for ETSI use case)
* @desc Behavior function for EUT3 (TC_AUTO_IOT_DENM_MFW_BV_01)
*/
functionf_TC_AUTO_IOT_DENM_MFW_BV_01_eut3(
inItsAutoInteropGeonetworkingp_eut,
inintegerp_eut_id
)runsonItsAutoInteropGeonetworking{
// Local variables
varEutGeoNetworkingv_eutGeoNw;
// Test component configuration
f_cfPtcUp(p_eut);
// Preamble
f_prDefault();
f_selfOrClientSyncAndVerdict(c_prDone,e_success);
// Test Body
tc_wait.start;
alt{
[]eutGeoNetworkingPort.receive(// EUT3 receives the GBC packet from EUT4
mw_eutGeoNwInd_withLinkLayerDestination(
mw_geoNwPdu(
mw_geoNwBroadcastPacketWithNextHeaderAndPayload(
?,
?,
e_btpB,
?//mw_denm_stationId
)),
?
))->valuev_eutGeoNw{
tc_wait.stop;
log("*** "&testcasename()&": INFO: EUT3 received DEN message from EUT ",v_eutGeoNw.msg.gnPacket.packet.extendedHeader.tsbHeader.srcPosVector.gnAddr.mid," ***");
* @desc Behavior function for EUT3 (TC_AUTO_IOT_DENM_MFW_BV_02)
*/
functionf_TC_AUTO_IOT_DENM_MFW_BV_02_eut3(
inItsAutoInteropGeonetworkingp_eut,
inintegerp_eut_id
)runsonItsAutoInteropGeonetworking{
// Local variables
varEutGeoNetworkingv_eutGeoNw;
// Test component configuration
f_cfPtcUp(p_eut);
// Preamble
f_prDefault();
f_selfOrClientSyncAndVerdict(c_prDone,e_success);
// Test Body
tc_wait.start;
alt{
[]eutGeoNetworkingPort.receive(// EUT3 receives the GBC packet from EUT4
mw_eutGeoNwInd_withLinkLayerDestination(
mw_geoNwPdu(
mw_geoNwBroadcastPacketWithNextHeaderAndPayload(
?,
?,
e_btpB,
?//mw_denm_stationId
)),
?
))->valuev_eutGeoNw{
tc_wait.stop;
log("*** "&testcasename()&": INFO: EUT3 received DEN message from EUT ",v_eutGeoNw.msg.gnPacket.packet.extendedHeader.tsbHeader.srcPosVector.gnAddr.mid," ***");
log("*** "&testcasename()&": Info: EUT3 receives the GBC packet from EUT2 ***");
repeat;
}
[]eutGeoNetworkingPort.receive(// EUT3 receives the GBC packet from EUT4
mw_eutGeoNwInd_withLinkLayerDestination(
mw_geoNwPdu(
mw_geoNwBroadcastPacketWithNextHeaderAndPayload(
?,
?,
e_btpB,
?//mw_denm_stationId
)),
?
))->valuev_eutGeoNw{
tc_wait.stop;
log("*** "&testcasename()&": INFO: EUT3 received DEN message from EUT ",v_eutGeoNw.msg.gnPacket.packet.extendedHeader.tsbHeader.srcPosVector.gnAddr.mid," ***");