L1CTL_Types: Add support to set L1 Header params during SACCH tx
Change-Id: Id014f790ee2ede8ae796c37b1c6b25c4af9034d2
diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn
index ef209e4..675271f 100644
--- a/library/GSM_RR_Types.ttcn
+++ b/library/GSM_RR_Types.ttcn
@@ -158,6 +158,21 @@
message_type := msg_type
}
+ /* TS 44.004 7.2.1 */
+ type record SacchL1Header {
+ uint2_t reserved,
+ boolean fpc,
+ uint5_t ms_power_lvl,
+ uint8_t actual_ta
+ } with { variant "FIELDORDER(msb)" };
+
+ template (value) SacchL1Header ts_SacchL1Header(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 MaioHsn {
} with { variant "" };
diff --git a/library/L1CTL_Types.ttcn b/library/L1CTL_Types.ttcn
index 656f292..39732be 100644
--- a/library/L1CTL_Types.ttcn
+++ b/library/L1CTL_Types.ttcn
@@ -263,6 +263,11 @@
OCT2 padding
} with { variant "" };
+ type record L1ctlDataReq {
+ SacchL1Header l1header optional,
+ octetstring l2_payload
+ } with { variant "" };
+
type record L1ctlH1 {
uint8_t hsn,
uint8_t maio,
@@ -320,6 +325,7 @@
L1CtlCryptoReq crypto_req,
L1ctlTrafficReq traffic_req,
L1ctlTbfCfgReq tbf_cfg_req,
+ L1ctlDataReq data_req,
octetstring other
} with {
variant (other) "BYTEORDER(first)"
@@ -351,6 +357,7 @@
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 +549,22 @@
}
}
+ 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,