L1CTL: Add f_L1CTL_PARAM for timing advance + tx power control
Change-Id: I30051804ae9cc62b5ad8c8a11a53d96489b8a52f
diff --git a/library/L1CTL_PortType.ttcn b/library/L1CTL_PortType.ttcn
index 812e284..2775e19 100644
--- a/library/L1CTL_PortType.ttcn
+++ b/library/L1CTL_PortType.ttcn
@@ -64,6 +64,10 @@
return fn;
}
+ function f_L1CTL_PARAM(L1CTL_PT pt, uint8_t ta, uint8_t tx_power) {
+ pt.send(t_L1CTL_PAR_REQ(ta, tx_power));
+ }
+
function f_L1CTL_WAIT_IMM_ASS(L1CTL_PT pt, uint8_t ra, GsmFrameNumber rach_fn) return ImmediateAssignment {
var L1ctlDlMessage dl;
var GsmRrMessage rr;
diff --git a/library/L1CTL_Types.ttcn b/library/L1CTL_Types.ttcn
index a86690e..9e659bf 100644
--- a/library/L1CTL_Types.ttcn
+++ b/library/L1CTL_Types.ttcn
@@ -434,6 +434,24 @@
}
}
+ template (value) L1ctlUlMessage t_L1CTL_PAR_REQ(uint8_t ta, uint8_t tx_power) := {
+ header := t_L1ctlHeader(L1CTL_PARAM_REQ),
+ ul_info := {
+ chan_nr := t_RslChanNr_RACH(0),
+ link_id := ts_RslLinkID_DCCH(0),
+ padding := '0000'O
+ },
+ ul_info_tbf := omit,
+ ul_info_abs := omit,
+ payload := {
+ par_req := {
+ ta := ta,
+ tx_power := tx_power,
+ padding := '0000'O
+ }
+ }
+ }
+
template L1ctlUlMessage t_L1CTL_DM_EST_REQ(Arfcn arfcn, RslChannelNr chan_nr, GsmTsc tsc) := {
header := t_L1ctlHeader(L1CTL_DM_EST_REQ),
ul_info := {