BTS_Tests: separate f_send_meas_rep() from f_transceive_meas_rep()
The key difference is that f_send_meas_rep() simply sends an RR
Measurement Report and does not wait until it's received on the RSL.
Change-Id: Ia5d0315e053702df5fa8dad8c6c66c11c9f3edcb
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index 223e55b..5cf1900 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -778,12 +778,31 @@
var RSL_Message rx := f_rsl_transceive_ret(tx, exp_rx, id, ignore_other);
}
+/* Send the given measurement results to the IUT over the Um interface */
+friend function f_send_meas_rep(template (value) MeasurementResults meas_res)
+runs on ConnHdlr {
+ var template (value) SacchL1Header l1h;
+ var octetstring l2;
+
+ /* RR Measurement Report to be sent */
+ var GsmRrL3Message meas_rep := {
+ header := valueof(t_RrL3Header(MEASUREMENT_REPORT)),
+ payload := { meas_rep := { meas_res := valueof(meas_res) } }
+ };
+
+ /* TITAN has weird (and often unusable) padding model, so we pad here manaully */
+ l2 := f_pad_oct(enc_LapdmFrameAB(valueof(ts_LAPDm_AB(0, meas_rep))), 21, '00'O);
+ l1h := ts_SacchL1Header(g_pars.l1_pars.ms_power_level, g_pars.l1_pars.ms_actual_ta);
+
+ /* Send RR Measurement Report over the Um interface */
+ L1CTL.send(ts_L1CTL_DATA_REQ_SACCH(g_chan_nr, ts_RslLinkID_SACCH(0), l1h, l2));
+}
+
/* Send the given measurement results to the IUT over the Um interface,
* wait for the IUT to receive then and forward over the A-bis/RSL interface. */
friend function f_transceive_meas_rep(template (value) MeasurementResults meas_res)
runs on ConnHdlr {
- var template (value) SacchL1Header l1h;
- var octetstring l2, l3;
+ var octetstring l3;
timer T;
/* RR Measurement Report to be sent */
@@ -794,11 +813,8 @@
/* TITAN has weird (and often unusable) padding model, so we pad here manaully */
l3 := f_pad_oct(enc_GsmRrL3Message(meas_rep), 18, '00'O);
- l2 := f_pad_oct(enc_LapdmFrameAB(valueof(ts_LAPDm_AB(0, meas_rep))), 21, '00'O);
- l1h := ts_SacchL1Header(g_pars.l1_pars.ms_power_level, g_pars.l1_pars.ms_actual_ta);
- /* Send RR Measurement Report over the Um interface */
- L1CTL.send(ts_L1CTL_DATA_REQ_SACCH(g_chan_nr, ts_RslLinkID_SACCH(0), l1h, l2));
+ f_send_meas_rep(meas_res);
/* Expect MEASurement RESult on the A-bis/RSL interface */
T.start(2.0);