BTS_Tests: fix TC_rsl_ms_pwr_dyn_{up,ass_down,max}: reply received SACCH L1H
As was explained in [1], until recently we relied on trxcon sendig dummy RR Measurement Reports with patched L1 SACCH Header values. Now trxcon does not patch it for us, so we need to send Uplink SACCH blocks with the correct L1H ourselves. Revision 2 of [1] was successfully tested and proved to fix the above-mentioned testcases. However during code review I was asked to make the statements sending Uplink SACCH blocks self-explanatory. In revision 3 of [1] I modified the code to call f_send_meas_rep(), which was introduced in [2], which as stated in the commit message is using g_pars.l1_pars.{ms_power_level,ms_actual_ta} instead of the values from received L1H. Of course this does not work. Add and use f_send_meas_rep_l1h(), which allows to send the given L1H. Take a chance to add a log() statement, so that we can see what we Tx. Change-Id: Ia79a0a7b06394bd34d0f40226cf40e6e8bd2ba35 Fixes: [1] I31dd6b9026d04403092256176f67785a0a6486ad Related: [2] Ia5d0315e053702df5fa8dad8c6c66c11c9f3edcb Related: OS#5635
This commit is contained in:
parent
e2003d0c9c
commit
a2cd893d3d
|
@ -782,6 +782,15 @@ runs on ConnHdlr {
|
|||
friend function f_send_meas_rep(template (value) MeasurementResults meas_res)
|
||||
runs on ConnHdlr {
|
||||
var template (value) SacchL1Header l1h;
|
||||
|
||||
l1h := ts_SacchL1Header(g_pars.l1_pars.ms_power_level, g_pars.l1_pars.ms_actual_ta);
|
||||
f_send_meas_rep_l1h(meas_res, l1h);
|
||||
}
|
||||
|
||||
/* Send the given measurement results and L1H to the IUT over the Um interface */
|
||||
friend function f_send_meas_rep_l1h(template (value) MeasurementResults meas_res,
|
||||
template (value) SacchL1Header l1h)
|
||||
runs on ConnHdlr {
|
||||
var octetstring l2;
|
||||
|
||||
/* RR Measurement Report to be sent */
|
||||
|
@ -792,7 +801,8 @@ runs on ConnHdlr {
|
|||
|
||||
/* 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);
|
||||
|
||||
log(%definitionId, "(): Tx SACCH L1 header: ", l1h);
|
||||
|
||||
/* Send RR Measurement Report over the Um interface */
|
||||
L1CTL.send(ts_L1CTL_DATA_REQ_SACCH(g_chan_nr, ts_RslLinkID_SACCH(0), l1h, l2));
|
||||
|
@ -2979,7 +2989,7 @@ private function f_TC_rsl_ms_pwr_dyn_ass_updown(charstring id) runs on ConnHdlr
|
|||
T2.start;
|
||||
alt {
|
||||
[] as_l1_sacch_l1h(l1h) {
|
||||
f_send_meas_rep(ts_MeasurementResults);
|
||||
f_send_meas_rep_l1h(ts_MeasurementResults, l1h);
|
||||
|
||||
if (l1h.ms_power_lvl < (pwr_var + 6)) {
|
||||
repeat;
|
||||
|
@ -3000,7 +3010,7 @@ private function f_TC_rsl_ms_pwr_dyn_ass_updown(charstring id) runs on ConnHdlr
|
|||
T4.start;
|
||||
alt {
|
||||
[] as_l1_sacch_l1h(l1h) {
|
||||
f_send_meas_rep(ts_MeasurementResults);
|
||||
f_send_meas_rep_l1h(ts_MeasurementResults, l1h);
|
||||
|
||||
if (l1h.ms_power_lvl > pwr_var) {
|
||||
repeat;
|
||||
|
@ -3045,7 +3055,7 @@ private function f_TC_rsl_ms_pwr_dyn_max(charstring id) runs on ConnHdlr {
|
|||
T1.start;
|
||||
alt {
|
||||
[] as_l1_sacch_l1h(l1h) {
|
||||
f_send_meas_rep(ts_MeasurementResults);
|
||||
f_send_meas_rep_l1h(ts_MeasurementResults, l1h);
|
||||
repeat;
|
||||
}
|
||||
[] L1CTL.receive { repeat; }
|
||||
|
@ -3094,7 +3104,7 @@ private function f_TC_rsl_ms_pwr_dyn_up(charstring id) runs on ConnHdlr {
|
|||
T1.start;
|
||||
alt {
|
||||
[] as_l1_sacch_l1h(l1h) {
|
||||
f_send_meas_rep(ts_MeasurementResults);
|
||||
f_send_meas_rep_l1h(ts_MeasurementResults, l1h);
|
||||
repeat;
|
||||
}
|
||||
[] L1CTL.receive { repeat; }
|
||||
|
|
Loading…
Reference in New Issue