gprs_rlc_ts_alloc: ensure no rolling slots are allocated

When allocating multiple slots for a UE the following example
is not allowed 'UU----UU' for a UE class 12.
The time slot number can not roll over 7 and move to 0.
44.060 or 45.002 only specifies contigous however it was unclear
it this is an allowed pattern.

Only the example 45.002 B.3 in release 12 cleared this up.
It gives an example for a multi slot class 5 UE which has 7 possible
configuration this means the rolled over is not allowed.

Multislot class type 2 UE doesn't have this limitation.
Further if a UE supports 8 time slots this is not a limitation because
the window size (45.002 B.1) can include all time slots.

Releated: SYS#5073
Change-Id: I16019bdbe741b37b83b62749b840a3b7f4ddc6c7
This commit is contained in:
Alexander Couzens 2021-01-12 19:33:53 +01:00 committed by lynxis lazus
parent 54faf023be
commit 695ce77167
3 changed files with 19376 additions and 19361 deletions

View File

@ -518,7 +518,7 @@ int find_multi_slots(struct gprs_rlcmac_trx *trx, uint8_t mslot_class, uint8_t *
{
uint8_t Tx = mslot_class_get_tx(mslot_class), /* Max number of Tx slots */
Sum = mslot_class_get_sum(mslot_class), /* Max number of Tx + Rx slots */
max_slots, num_tx, mask_sel, pdch_slots, ul_ts, dl_ts;
max_slots, num_rx, num_tx, mask_sel, pdch_slots, ul_ts, dl_ts;
int16_t rx_window, tx_window;
char slot_info[9] = {0};
int max_capacity = -1;
@ -570,6 +570,13 @@ int find_multi_slots(struct gprs_rlcmac_trx *trx, uint8_t mslot_class, uint8_t *
/* Wrap valid window */
tx_valid_win = mslot_wrap_window(tx_valid_win);
/* for multislot type 1: don't split the window to wrap around.
* E.g. 'UU-----U' is invalid for a 4 TN window. Except 8 TN window.
* See 45.002 B.1 */
if (mslot_class_get_type(mslot_class) == 1 && num_tx < 8 &&
tx_valid_win & (1 << 0) && tx_valid_win & (1 << 7))
continue;
tx_window = tx_valid_win;
/* Filter out unavailable slots */
@ -583,13 +590,21 @@ int find_multi_slots(struct gprs_rlcmac_trx *trx, uint8_t mslot_class, uint8_t *
if ((tx_window & (1 << ((ul_ts+num_tx-1) % 8))) == 0)
continue;
rx_valid_win = (1 << OSMO_MIN(mslot_class_get_rx(mslot_class), Sum - num_tx)) - 1;
num_rx = OSMO_MIN(mslot_class_get_rx(mslot_class), Sum - num_tx);
rx_valid_win = (1 << num_rx) - 1;
/* Rotate group of RX slots: DDD-----, -DDD----, ..., DD-----D */
for (dl_ts = 0; dl_ts < 8; dl_ts += 1, rx_valid_win <<= 1) {
/* Wrap valid window */
rx_valid_win = (rx_valid_win | rx_valid_win >> 8) & 0xff;
/* for multislot type 1: don't split the window to wrap around.
* E.g. 'DD-----D' is invalid for a 4 TN window. Except 8 TN window.
* See 45.002 B.1 */
if (mslot_class_get_type(mslot_class) == 1 && num_rx < 8 &&
(rx_valid_win & (1 << 0)) && (rx_valid_win & (1 << 7)))
continue;
/* Validate with both Tta/Ttb/Trb and Ttb/Tra/Trb */
for (mask_sel = MASK_TT; mask_sel <= MASK_TR; mask_sel += 1) {
int capacity;

File diff suppressed because it is too large Load Diff

View File

@ -336,52 +336,52 @@ test_multislot_total_ascending(): sequential
[SEQ] multislot class 45 - UL: ...1.... DL: ..111111 [0]
[SEQ] multislot class 46 - UL: ........ DL: ........ [-22]
Enabled PDCH 7 for multislot tests...
[SEQ] multislot class 0 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 0 - UL: .....1.. DL: ....1111 [0]
[SEQ] multislot class 1 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 2 - UL: .......1 DL: 1......1 [0]
[SEQ] multislot class 3 - UL: .......1 DL: 1......1 [0]
[SEQ] multislot class 4 - UL: .......1 DL: 1.....11 [0]
[SEQ] multislot class 2 - UL: ......1. DL: ......11 [0]
[SEQ] multislot class 3 - UL: ......1. DL: ......11 [0]
[SEQ] multislot class 4 - UL: ......1. DL: .....111 [0]
[SEQ] multislot class 5 - UL: ......11 DL: ......11 [0]
[SEQ] multislot class 6 - UL: .......1 DL: 1.....11 [0]
[SEQ] multislot class 7 - UL: .......1 DL: 1.....11 [0]
[SEQ] multislot class 8 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 9 - UL: ......11 DL: 1.....11 [0]
[SEQ] multislot class 10 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 11 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 12 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 6 - UL: ......1. DL: .....111 [0]
[SEQ] multislot class 7 - UL: ......1. DL: .....111 [0]
[SEQ] multislot class 8 - UL: .....1.. DL: ....1111 [0]
[SEQ] multislot class 9 - UL: .....11. DL: .....111 [0]
[SEQ] multislot class 10 - UL: .....1.. DL: ....1111 [0]
[SEQ] multislot class 11 - UL: .....1.. DL: ....1111 [0]
[SEQ] multislot class 12 - UL: .....1.. DL: ....1111 [0]
[SEQ] multislot class 13 - UL: .....111 DL: .....111 [0]
[SEQ] multislot class 14 - UL: ....1111 DL: ....1111 [0]
[SEQ] multislot class 15 - UL: ...11111 DL: ...11111 [0]
[SEQ] multislot class 16 - UL: ..111111 DL: ..111111 [0]
[SEQ] multislot class 17 - UL: .1111111 DL: .1111111 [0]
[SEQ] multislot class 18 - UL: 11111111 DL: 11111111 [0]
[SEQ] multislot class 19 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 20 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 21 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 22 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 23 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 19 - UL: .....1.. DL: ....1111 [0]
[SEQ] multislot class 20 - UL: .....1.. DL: ....1111 [0]
[SEQ] multislot class 21 - UL: .....1.. DL: ....1111 [0]
[SEQ] multislot class 22 - UL: .....1.. DL: ....1111 [0]
[SEQ] multislot class 23 - UL: .....1.. DL: ....1111 [0]
[SEQ] multislot class 24 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 25 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 26 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 27 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 28 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 29 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 30 - UL: .......1 DL: 111...11 [0]
[SEQ] multislot class 31 - UL: .......1 DL: 111...11 [0]
[SEQ] multislot class 32 - UL: .......1 DL: 111...11 [0]
[SEQ] multislot class 33 - UL: .......1 DL: 111...11 [0]
[SEQ] multislot class 34 - UL: .......1 DL: 111...11 [0]
[SEQ] multislot class 35 - UL: .......1 DL: 111...11 [0]
[SEQ] multislot class 36 - UL: .......1 DL: 111...11 [0]
[SEQ] multislot class 37 - UL: .......1 DL: 111...11 [0]
[SEQ] multislot class 38 - UL: .......1 DL: 111...11 [0]
[SEQ] multislot class 39 - UL: .......1 DL: 111...11 [0]
[SEQ] multislot class 40 - UL: .......1 DL: 1111..11 [0]
[SEQ] multislot class 41 - UL: .......1 DL: 1111..11 [0]
[SEQ] multislot class 42 - UL: .......1 DL: 1111..11 [0]
[SEQ] multislot class 43 - UL: .......1 DL: 1111..11 [0]
[SEQ] multislot class 44 - UL: .......1 DL: 1111..11 [0]
[SEQ] multislot class 45 - UL: .......1 DL: 1111..11 [0]
[SEQ] multislot class 30 - UL: ....1... DL: ...11111 [0]
[SEQ] multislot class 31 - UL: ....1... DL: ...11111 [0]
[SEQ] multislot class 32 - UL: ....1... DL: ...11111 [0]
[SEQ] multislot class 33 - UL: ....1... DL: ...11111 [0]
[SEQ] multislot class 34 - UL: ....1... DL: ...11111 [0]
[SEQ] multislot class 35 - UL: ....1... DL: ...11111 [0]
[SEQ] multislot class 36 - UL: ....1... DL: ...11111 [0]
[SEQ] multislot class 37 - UL: ....1... DL: ...11111 [0]
[SEQ] multislot class 38 - UL: ....1... DL: ...11111 [0]
[SEQ] multislot class 39 - UL: ....1... DL: ...11111 [0]
[SEQ] multislot class 40 - UL: ...1.... DL: ..111111 [0]
[SEQ] multislot class 41 - UL: ...1.... DL: ..111111 [0]
[SEQ] multislot class 42 - UL: ...1.... DL: ..111111 [0]
[SEQ] multislot class 43 - UL: ...1.... DL: ..111111 [0]
[SEQ] multislot class 44 - UL: ...1.... DL: ..111111 [0]
[SEQ] multislot class 45 - UL: ...1.... DL: ..111111 [0]
[SEQ] multislot class 46 - UL: ........ DL: ........ [-22]
test_multislot_total_ascending(): accumulative
Enabled PDCH 0 for multislot tests...
@ -721,53 +721,53 @@ test_multislot_total_ascending(): accumulative
[ACC] multislot class 45 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 46 - UL: .....1.. DL: .....1.. [-22]
Enabled PDCH 7 for multislot tests...
[ACC] multislot class 0 - UL: .......1 DL: 11....11 [0]
[ACC] multislot class 1 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 2 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 3 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 4 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 5 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 6 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 7 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 8 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 9 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 10 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 11 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 12 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 13 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 14 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 15 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 16 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 17 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 18 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 19 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 20 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 21 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 22 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 23 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 24 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 25 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 26 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 27 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 28 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 29 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 30 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 31 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 32 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 33 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 34 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 35 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 36 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 37 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 38 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 39 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 40 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 41 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 42 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 43 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 44 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 45 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 46 - UL: .......1 DL: .......1 [-22]
[ACC] multislot class 0 - UL: .....1.. DL: ....1111 [0]
[ACC] multislot class 1 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 2 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 3 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 4 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 5 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 6 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 7 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 8 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 9 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 10 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 11 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 12 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 13 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 14 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 15 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 16 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 17 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 18 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 19 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 20 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 21 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 22 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 23 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 24 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 25 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 26 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 27 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 28 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 29 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 30 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 31 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 32 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 33 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 34 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 35 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 36 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 37 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 38 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 39 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 40 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 41 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 42 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 43 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 44 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 45 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 46 - UL: .....1.. DL: .....1.. [-22]
test_multislot_total_descending(): sequential
Enabled PDCH 7 for multislot tests...
[SEQ] multislot class 0 - UL: 1....... DL: 1....... [0]
@ -1106,52 +1106,52 @@ test_multislot_total_descending(): sequential
[SEQ] multislot class 45 - UL: ..1..... DL: .111111. [0]
[SEQ] multislot class 46 - UL: ........ DL: ........ [-22]
Enabled PDCH 0 for multislot tests...
[SEQ] multislot class 0 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 0 - UL: .....1.. DL: ....1111 [0]
[SEQ] multislot class 1 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 2 - UL: .......1 DL: 1......1 [0]
[SEQ] multislot class 3 - UL: .......1 DL: 1......1 [0]
[SEQ] multislot class 4 - UL: .......1 DL: 1.....11 [0]
[SEQ] multislot class 2 - UL: ......1. DL: ......11 [0]
[SEQ] multislot class 3 - UL: ......1. DL: ......11 [0]
[SEQ] multislot class 4 - UL: ......1. DL: .....111 [0]
[SEQ] multislot class 5 - UL: ......11 DL: ......11 [0]
[SEQ] multislot class 6 - UL: .......1 DL: 1.....11 [0]
[SEQ] multislot class 7 - UL: .......1 DL: 1.....11 [0]
[SEQ] multislot class 8 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 9 - UL: ......11 DL: 1.....11 [0]
[SEQ] multislot class 10 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 11 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 12 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 6 - UL: ......1. DL: .....111 [0]
[SEQ] multislot class 7 - UL: ......1. DL: .....111 [0]
[SEQ] multislot class 8 - UL: .....1.. DL: ....1111 [0]
[SEQ] multislot class 9 - UL: .....11. DL: .....111 [0]
[SEQ] multislot class 10 - UL: .....1.. DL: ....1111 [0]
[SEQ] multislot class 11 - UL: .....1.. DL: ....1111 [0]
[SEQ] multislot class 12 - UL: .....1.. DL: ....1111 [0]
[SEQ] multislot class 13 - UL: .....111 DL: .....111 [0]
[SEQ] multislot class 14 - UL: ....1111 DL: ....1111 [0]
[SEQ] multislot class 15 - UL: ...11111 DL: ...11111 [0]
[SEQ] multislot class 16 - UL: ..111111 DL: ..111111 [0]
[SEQ] multislot class 17 - UL: .1111111 DL: .1111111 [0]
[SEQ] multislot class 18 - UL: 11111111 DL: 11111111 [0]
[SEQ] multislot class 19 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 20 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 21 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 22 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 23 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 19 - UL: .....1.. DL: ....1111 [0]
[SEQ] multislot class 20 - UL: .....1.. DL: ....1111 [0]
[SEQ] multislot class 21 - UL: .....1.. DL: ....1111 [0]
[SEQ] multislot class 22 - UL: .....1.. DL: ....1111 [0]
[SEQ] multislot class 23 - UL: .....1.. DL: ....1111 [0]
[SEQ] multislot class 24 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 25 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 26 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 27 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 28 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 29 - UL: .......1 DL: 11....11 [0]
[SEQ] multislot class 30 - UL: .......1 DL: 111...11 [0]
[SEQ] multislot class 31 - UL: .......1 DL: 111...11 [0]
[SEQ] multislot class 32 - UL: .......1 DL: 111...11 [0]
[SEQ] multislot class 33 - UL: .......1 DL: 111...11 [0]
[SEQ] multislot class 34 - UL: .......1 DL: 111...11 [0]
[SEQ] multislot class 35 - UL: .......1 DL: 111...11 [0]
[SEQ] multislot class 36 - UL: .......1 DL: 111...11 [0]
[SEQ] multislot class 37 - UL: .......1 DL: 111...11 [0]
[SEQ] multislot class 38 - UL: .......1 DL: 111...11 [0]
[SEQ] multislot class 39 - UL: .......1 DL: 111...11 [0]
[SEQ] multislot class 40 - UL: .......1 DL: 1111..11 [0]
[SEQ] multislot class 41 - UL: .......1 DL: 1111..11 [0]
[SEQ] multislot class 42 - UL: .......1 DL: 1111..11 [0]
[SEQ] multislot class 43 - UL: .......1 DL: 1111..11 [0]
[SEQ] multislot class 44 - UL: .......1 DL: 1111..11 [0]
[SEQ] multislot class 45 - UL: .......1 DL: 1111..11 [0]
[SEQ] multislot class 30 - UL: ....1... DL: ...11111 [0]
[SEQ] multislot class 31 - UL: ....1... DL: ...11111 [0]
[SEQ] multislot class 32 - UL: ....1... DL: ...11111 [0]
[SEQ] multislot class 33 - UL: ....1... DL: ...11111 [0]
[SEQ] multislot class 34 - UL: ....1... DL: ...11111 [0]
[SEQ] multislot class 35 - UL: ....1... DL: ...11111 [0]
[SEQ] multislot class 36 - UL: ....1... DL: ...11111 [0]
[SEQ] multislot class 37 - UL: ....1... DL: ...11111 [0]
[SEQ] multislot class 38 - UL: ....1... DL: ...11111 [0]
[SEQ] multislot class 39 - UL: ....1... DL: ...11111 [0]
[SEQ] multislot class 40 - UL: ...1.... DL: ..111111 [0]
[SEQ] multislot class 41 - UL: ...1.... DL: ..111111 [0]
[SEQ] multislot class 42 - UL: ...1.... DL: ..111111 [0]
[SEQ] multislot class 43 - UL: ...1.... DL: ..111111 [0]
[SEQ] multislot class 44 - UL: ...1.... DL: ..111111 [0]
[SEQ] multislot class 45 - UL: ...1.... DL: ..111111 [0]
[SEQ] multislot class 46 - UL: ........ DL: ........ [-22]
test_multislot_total_descending(): accumulative
Enabled PDCH 7 for multislot tests...
@ -1491,53 +1491,53 @@ test_multislot_total_descending(): accumulative
[ACC] multislot class 45 - UL: ....1... DL: ....1... [0]
[ACC] multislot class 46 - UL: ....1... DL: ....1... [-22]
Enabled PDCH 0 for multislot tests...
[ACC] multislot class 0 - UL: .......1 DL: 11....11 [0]
[ACC] multislot class 1 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 2 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 3 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 4 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 5 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 6 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 7 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 8 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 9 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 10 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 11 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 12 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 13 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 14 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 15 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 16 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 17 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 18 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 19 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 20 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 21 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 22 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 23 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 24 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 25 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 26 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 27 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 28 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 29 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 30 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 31 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 32 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 33 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 34 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 35 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 36 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 37 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 38 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 39 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 40 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 41 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 42 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 43 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 44 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 45 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 46 - UL: .......1 DL: .......1 [-22]
[ACC] multislot class 0 - UL: .....1.. DL: ....1111 [0]
[ACC] multislot class 1 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 2 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 3 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 4 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 5 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 6 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 7 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 8 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 9 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 10 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 11 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 12 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 13 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 14 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 15 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 16 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 17 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 18 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 19 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 20 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 21 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 22 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 23 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 24 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 25 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 26 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 27 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 28 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 29 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 30 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 31 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 32 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 33 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 34 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 35 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 36 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 37 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 38 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 39 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 40 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 41 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 42 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 43 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 44 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 45 - UL: .....1.. DL: .....1.. [0]
[ACC] multislot class 46 - UL: .....1.. DL: .....1.. [-22]
test_multislot_middle(): sequential
[SEQ] multislot class 0 - UL: ...11... DL: ...111.. [0]
[SEQ] multislot class 1 - UL: .....1.. DL: .....1.. [0]
@ -1635,55 +1635,55 @@ test_multislot_middle(): accumulative
[ACC] multislot class 45 - UL: ....1... DL: ....1... [0]
[ACC] multislot class 46 - UL: ....1... DL: ....1... [-22]
test_multislot_ends(): sequential
[SEQ] multislot class 0 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 0 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 1 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 2 - UL: .......1 DL: 1......1 [0]
[SEQ] multislot class 3 - UL: .......1 DL: 1......1 [0]
[SEQ] multislot class 4 - UL: .......1 DL: 1......1 [0]
[SEQ] multislot class 5 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 6 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 7 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 8 - UL: .......1 DL: 1......1 [0]
[SEQ] multislot class 9 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 10 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 11 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 12 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 2 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 3 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 4 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 5 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 6 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 7 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 8 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 9 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 10 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 11 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 12 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 13 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 14 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 15 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 16 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 17 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 18 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 19 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 20 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 21 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 22 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 23 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 24 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 25 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 26 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 27 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 28 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 29 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 30 - UL: .......1 DL: 1......1 [0]
[SEQ] multislot class 31 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 32 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 33 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 34 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 35 - UL: .......1 DL: 1......1 [0]
[SEQ] multislot class 36 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 37 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 38 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 39 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 40 - UL: .......1 DL: 1......1 [0]
[SEQ] multislot class 41 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 42 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 43 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 44 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 45 - UL: 1......1 DL: 1......1 [0]
[SEQ] multislot class 19 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 20 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 21 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 22 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 23 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 24 - UL: .......1 DL: 1......1 [0]
[SEQ] multislot class 25 - UL: .......1 DL: 1......1 [0]
[SEQ] multislot class 26 - UL: .......1 DL: 1......1 [0]
[SEQ] multislot class 27 - UL: .......1 DL: 1......1 [0]
[SEQ] multislot class 28 - UL: .......1 DL: 1......1 [0]
[SEQ] multislot class 29 - UL: .......1 DL: 1......1 [0]
[SEQ] multislot class 30 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 31 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 32 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 33 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 34 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 35 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 36 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 37 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 38 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 39 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 40 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 41 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 42 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 43 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 44 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 45 - UL: .......1 DL: .......1 [0]
[SEQ] multislot class 46 - UL: ........ DL: ........ [-22]
test_multislot_ends(): accumulative
[ACC] multislot class 0 - UL: 1......1 DL: 1......1 [0]
[ACC] multislot class 0 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 1 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 2 - UL: .......1 DL: .......1 [0]
[ACC] multislot class 3 - UL: .......1 DL: .......1 [0]