diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2022-08-01 19:22:18 +0700 |
---|---|---|
committer | fixeria <vyanitskiy@sysmocom.de> | 2022-08-05 13:10:20 +0000 |
commit | 9dd880f5085a31071f1f23596da2f18603aec87e (patch) | |
tree | 98f02d0e007e2133e59092d55d116d53d3c88ee3 | |
parent | a5536b697d33fcb6c7d9c2dd15ea1d8d90325388 (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.ttcn | 28 |
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); |