L1CTL_Types: Add support to set L1 Header params during SACCH tx

Change-Id: Id014f790ee2ede8ae796c37b1c6b25c4af9034d2
This commit is contained in:
Pau Espin 2018-09-28 16:03:55 +02:00
parent dd0e8f3409
commit 97da9e67b6
1 changed files with 38 additions and 0 deletions

View File

@ -263,6 +263,26 @@ module L1CTL_Types {
OCT2 padding
} with { variant "" };
/* TS 44.004 7.2.1 */
type record SACCH_L1_HEADER {
uint2_t reserved,
boolean fpc,
uint5_t ms_power_lvl,
uint8_t actual_ta
} with { variant "FIELDORDER(msb)" };
template (value) SACCH_L1_HEADER ts_SACCH_L1_HEADER(uint5_t ms_power_lvl, boolean fpc, uint8_t actual_ta) := {
reserved := 0,
fpc := fpc,
ms_power_lvl := ms_power_lvl,
actual_ta := actual_ta
};
type record L1ctlDataReq {
SACCH_L1_HEADER l1header optional,
octetstring l2_payload
} with { variant "" };
type record L1ctlH1 {
uint8_t hsn,
uint8_t maio,
@ -320,6 +340,7 @@ module L1CTL_Types {
L1CtlCryptoReq crypto_req,
L1ctlTrafficReq traffic_req,
L1ctlTbfCfgReq tbf_cfg_req,
L1ctlDataReq data_req,
octetstring other
} with {
variant (other) "BYTEORDER(first)"
@ -351,6 +372,7 @@ module L1CTL_Types {
crypto_req, header.msg_type = L1CTL_CRYPTO_REQ;
traffic_req, header.msg_type = L1CTL_TRAFFIC_REQ;
tbf_cfg_req, header.msg_type = L1CTL_TBF_CFG_REQ;
data_req, header.msg_type = L1CTL_DATA_REQ;
other, OTHERWISE;
)" };
@ -542,6 +564,22 @@ module L1CTL_Types {
}
}
template (value) L1ctlUlMessage ts_L1CTL_DATA_REQ_SACCH(template (value) RslChannelNr chan_nr,
template (value) RslLinkId link_id,
L1ctlDataReq data_req) := {
header := ts_L1ctlHeader(L1CTL_DATA_REQ),
ul_info := {
chan_nr := chan_nr,
link_id := link_id,
padding := '0000'O
},
ul_info_tbf := omit,
ul_info_abs := omit,
payload := {
data_req := data_req
}
}
template (value) L1ctlUlMessage ts_L1CTL_TBF_CFG_REQ(boolean is_uplink, TfiUsfArr tfi_usf) := {
header := ts_L1ctlHeader(L1CTL_TBF_CFG_REQ),
ul_info := omit,