L1CTL_Types: Add upcoming L1CTL_TBF_CFG_{REQ,CONF}
Related primitives are used to configure L1 for GPRS / TBF operation
This commit is contained in:
parent
c84d847f01
commit
00d4dace72
|
@ -38,7 +38,9 @@ module L1CTL_Types {
|
||||||
L1CTL_NEIGH_PM_IND,
|
L1CTL_NEIGH_PM_IND,
|
||||||
L1CTL_TRAFFIC_REQ,
|
L1CTL_TRAFFIC_REQ,
|
||||||
L1CTL_TRAFFIC_CONF,
|
L1CTL_TRAFFIC_CONF,
|
||||||
L1CTL_TRAFFIC_IND
|
L1CTL_TRAFFIC_IND,
|
||||||
|
L1CTL_TBF_CFG_REQ,
|
||||||
|
L1CTL_TBF_CFG_CONF
|
||||||
} with { variant "FIELDLENGTH(8)" };
|
} with { variant "FIELDLENGTH(8)" };
|
||||||
|
|
||||||
type enumerated L1ctlCcchMode {
|
type enumerated L1ctlCcchMode {
|
||||||
|
@ -129,6 +131,7 @@ module L1CTL_Types {
|
||||||
L1ctlTchModeConf tch_mode_conf,
|
L1ctlTchModeConf tch_mode_conf,
|
||||||
L1ctlDataInd data_ind,
|
L1ctlDataInd data_ind,
|
||||||
L1ctlTrafficReq traffic_ind,
|
L1ctlTrafficReq traffic_ind,
|
||||||
|
L1ctlTbfCfgReq tbf_cfg_conf,
|
||||||
octetstring other
|
octetstring other
|
||||||
} with { variant "" };
|
} with { variant "" };
|
||||||
|
|
||||||
|
@ -146,6 +149,7 @@ module L1CTL_Types {
|
||||||
tch_mode_conf, header.msg_type = L1CTL_TCH_MODE_CONF;
|
tch_mode_conf, header.msg_type = L1CTL_TCH_MODE_CONF;
|
||||||
data_ind, header.msg_type = L1CTL_DATA_IND;
|
data_ind, header.msg_type = L1CTL_DATA_IND;
|
||||||
traffic_ind, header.msg_type = L1CTL_TRAFFIC_IND;
|
traffic_ind, header.msg_type = L1CTL_TRAFFIC_IND;
|
||||||
|
tbf_cfg_conf, header.msg_type = L1CTL_TBF_CFG_CONF;
|
||||||
other, OTHERWISE;
|
other, OTHERWISE;
|
||||||
)" };
|
)" };
|
||||||
|
|
||||||
|
@ -239,6 +243,15 @@ module L1CTL_Types {
|
||||||
octetstring data length(TRAFFIC_DATA_LEN)
|
octetstring data length(TRAFFIC_DATA_LEN)
|
||||||
} with { variant "" };
|
} with { variant "" };
|
||||||
|
|
||||||
|
type record length(8) of uint8_t TfiUsfArr;
|
||||||
|
|
||||||
|
type record L1ctlTbfCfgReq {
|
||||||
|
uint8_t tbf_nr,
|
||||||
|
boolean is_uplink,
|
||||||
|
OCT2 padding,
|
||||||
|
TfiUsfArr tfi_usf
|
||||||
|
} with { variant (is_uplink) "FIELDLENGTH(8)" };
|
||||||
|
|
||||||
type union L1ctlUlPayload {
|
type union L1ctlUlPayload {
|
||||||
L1ctlFbsbReq fbsb_req,
|
L1ctlFbsbReq fbsb_req,
|
||||||
L1ctlCcchModeReq ccch_mode_req,
|
L1ctlCcchModeReq ccch_mode_req,
|
||||||
|
@ -249,6 +262,7 @@ module L1CTL_Types {
|
||||||
L1ctlReset reset_req,
|
L1ctlReset reset_req,
|
||||||
//L1ctlNeighPmReq neigh_pm_req,
|
//L1ctlNeighPmReq neigh_pm_req,
|
||||||
L1ctlTrafficReq traffic_req,
|
L1ctlTrafficReq traffic_req,
|
||||||
|
L1ctlTbfCfgReq tbf_cfg_req,
|
||||||
octetstring other
|
octetstring other
|
||||||
} with { variant "" };
|
} with { variant "" };
|
||||||
|
|
||||||
|
@ -272,6 +286,7 @@ module L1CTL_Types {
|
||||||
dm_est_req, header.msg_type = L1CTL_DM_EST_REQ;
|
dm_est_req, header.msg_type = L1CTL_DM_EST_REQ;
|
||||||
reset_req, header.msg_type = L1CTL_RESET_REQ;
|
reset_req, header.msg_type = L1CTL_RESET_REQ;
|
||||||
traffic_req, header.msg_type = L1CTL_TRAFFIC_REQ;
|
traffic_req, header.msg_type = L1CTL_TRAFFIC_REQ;
|
||||||
|
tbf_cfg_req, header.msg_type = L1CTL_TBF_CFG_REQ;
|
||||||
other, OTHERWISE;
|
other, OTHERWISE;
|
||||||
)" };
|
)" };
|
||||||
|
|
||||||
|
@ -406,6 +421,32 @@ module L1CTL_Types {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template L1ctlUlMessage t_L1CTL_TBF_CFG_REQ(boolean is_uplink, TfiUsfArr tfi_usf) := {
|
||||||
|
header := t_L1ctlHeader(L1CTL_TBF_CFG_REQ),
|
||||||
|
ul_info := omit,
|
||||||
|
payload := {
|
||||||
|
tbf_cfg_req := {
|
||||||
|
tbf_nr := 0,
|
||||||
|
is_uplink := is_uplink,
|
||||||
|
padding := '0000'O,
|
||||||
|
tfi_usf := tfi_usf
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
template L1ctlDlMessage t_L1CTL_TBF_CFG_CONF(template boolean is_uplink) := {
|
||||||
|
header := t_L1ctlHeader(L1CTL_TBF_CFG_CONF),
|
||||||
|
dl_info := omit,
|
||||||
|
payload := {
|
||||||
|
tbf_cfg_conf := {
|
||||||
|
tbf_nr := 0,
|
||||||
|
is_uplink := is_uplink,
|
||||||
|
padding := ?,
|
||||||
|
tfi_usf := ?
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/* for matching against incoming RACH_CONF */
|
/* for matching against incoming RACH_CONF */
|
||||||
template L1ctlDlMessage t_L1CTL_RACH_CONF := {
|
template L1ctlDlMessage t_L1CTL_RACH_CONF := {
|
||||||
header := t_L1ctlHeader(L1CTL_RACH_CONF),
|
header := t_L1ctlHeader(L1CTL_RACH_CONF),
|
||||||
|
|
Loading…
Reference in New Issue