From 0aad596264b85e7a51b8ef62b05334b3cfdb0f3a Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Fri, 28 Sep 2018 16:03:55 +0200 Subject: L1CTL_Types: Add support to set L1 Header params during SACCH tx Change-Id: Id014f790ee2ede8ae796c37b1c6b25c4af9034d2 --- library/GSM_RR_Types.ttcn | 15 +++++++++++++++ library/L1CTL_Types.ttcn | 23 +++++++++++++++++++++++ 2 files changed, 38 insertions(+) (limited to 'library') diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index ef209e45..675271f4 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -158,6 +158,21 @@ module GSM_RR_Types { 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 656f292d..39732bee 100644 --- a/library/L1CTL_Types.ttcn +++ b/library/L1CTL_Types.ttcn @@ -263,6 +263,11 @@ module L1CTL_Types { 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 @@ 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 +357,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 +549,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, -- cgit v1.2.3