RLCMAC: Improve support of Pkt Ul AckNack messages

Change-Id: I8586248f435b1a70042ea25f633b75542bbc14aa
This commit is contained in:
Pau Espin 2020-07-08 13:34:53 +02:00 committed by pespin
parent eb662c87e2
commit 630c1cf9c6
2 changed files with 48 additions and 5 deletions

View File

@ -217,15 +217,34 @@ module RLCMAC_CSN1_Templates {
multi_block_alloc := omit
};
template UlAckNackGprs tr_UlAckNackGprs(template GprsTlli tlli := *) := {
template AckNackDescription tr_AckNackDescription(template BIT1 final_ack := ?) := {
final_ack := final_ack,
starting_seq_nr := ?,
receive_block_bitmap := ?
};
template UlAckNackGprsAdditionsRel99 tr_UlAckNackGprsAdditionsRel99(template boolean tbf_est := ?) := {
ext_pkt_ta_present := ?,
ext_pkt_ta := *,
tbf_est := tbf_est
};
template UlAckNackGprs tr_UlAckNackGprs(template GprsTlli tlli := *,
template AckNackDescription acknack_desc := ?,
template UlAckNackGprsAdditionsRel99 rel99 := *) := {
ch_coding_cmd := ?,
ack_nack_desc := ?,
ack_nack_desc := acknack_desc,
cont_res_tlli_present := ?,
cont_res_tlli := tlli,
pkt_ta_present := ?,
pkt_ta := *,
pwr_ctrl_present := ?,
pwr_ctrl := *
pwr_ctrl := *,
extension_bits_present := ?,
extension_bits := *,
not_used := '0'B,
rel99_present := ?,
rel99 := rel99
};
template UlAckNackEgprs tr_UlAckNackEgprs(template GprsTlli tlli := *) := {

View File

@ -416,6 +416,15 @@ module RLCMAC_CSN1_Types {
variant (repeated_pageinfo) "PRESENCE(repeated_pageinfo_present = '1'B)"
};
/* 12.26 Extension Bits IE */
type record ExtensionBits {
uint6_t extension_length,
bitstring spare_bits
} with {
variant (extension_length) "LENGTHTO(spare_bits) - 1"
variant (extension_length) "UNIT(bits)"
};
/* 11.2.28 Uplink Ack/Nack */
type enumerated ChCodingCommand {
CH_CODING_CS1 ('00'B),
@ -423,6 +432,15 @@ module RLCMAC_CSN1_Types {
CH_CODING_CS3 ('10'B),
CH_CODING_CS4 ('11'B)
} with { variant "FIELDLENGTH(2)" };
type record UlAckNackGprsAdditionsRel99 {
BIT1 ext_pkt_ta_present,
BIT2 ext_pkt_ta optional,
boolean tbf_est
/* TODO: Rel5 ,... */
} with {
variant (ext_pkt_ta) "PRESENCE(ext_pkt_ta_present = '1'B)"
variant (tbf_est) "FIELDLENGTH(1)"
};
type record UlAckNackGprs {
ChCodingCommand ch_coding_cmd,
AckNackDescription ack_nack_desc,
@ -431,12 +449,18 @@ module RLCMAC_CSN1_Types {
BIT1 pkt_ta_present,
PacketTimingAdvance pkt_ta optional,
BIT1 pwr_ctrl_present,
PowerControlParameters pwr_ctrl optional
/* TODO: Extension Bits, Rel5 ,... */
PowerControlParameters pwr_ctrl optional,
BIT1 extension_bits_present,
ExtensionBits extension_bits optional,
BIT1 not_used ('0'B),
BIT1 rel99_present,
UlAckNackGprsAdditionsRel99 rel99 optional
} with {
variant (cont_res_tlli) "PRESENCE(cont_res_tlli_present = '1'B)"
variant (pkt_ta) "PRESENCE(pkt_ta_present = '1'B)"
variant (pwr_ctrl) "PRESENCE(pwr_ctrl_present = '1'B)"
variant (extension_bits) "PRESENCE(extension_bits_present = '1'B)"
variant (rel99) "PRESENCE(rel99_present = '1'B)"
variant (cont_res_tlli) "BYTEORDER(first)"
};
type record UlAckNackEgprs {