aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2022-08-01 19:22:18 +0700
committerfixeria <vyanitskiy@sysmocom.de>2022-08-05 13:10:20 +0000
commit9dd880f5085a31071f1f23596da2f18603aec87e (patch)
tree98f02d0e007e2133e59092d55d116d53d3c88ee3
parenta5536b697d33fcb6c7d9c2dd15ea1d8d90325388 (diff)
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
-rw-r--r--bts/BTS_Tests.ttcn28
1 files changed, 22 insertions, 6 deletions
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index 223e55bb..5cf1900d 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -778,13 +778,11 @@ runs on ConnHdlr {
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,
- * 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)
+/* 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, l3;
- timer T;
+ var octetstring l2;
/* RR Measurement Report to be sent */
var GsmRrL3Message meas_rep := {
@@ -793,12 +791,30 @@ runs on ConnHdlr {
};
/* 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));
+}
+
+/* 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 octetstring l3;
+ timer T;
+
+ /* 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 */
+ l3 := f_pad_oct(enc_GsmRrL3Message(meas_rep), 18, '00'O);
+
+ f_send_meas_rep(meas_res);
/* Expect MEASurement RESult on the A-bis/RSL interface */
T.start(2.0);