diff options
author | Vadim Yanitskiy <axilirator@gmail.com> | 2019-09-09 16:43:29 +0200 |
---|---|---|
committer | laforge <laforge@gnumonks.org> | 2019-09-14 15:12:47 +0000 |
commit | 23b74404ba27fe38a3d6e8a1cda1f7194b3dae47 (patch) | |
tree | e1c158b06e14694cf45ff862f8789ffcf8d9164c | |
parent | e1527f75f4902f26d44e7ef4036cd4898199a7c4 (diff) |
library/L1CTL_PortType.ttcn: use templates from GSM_RR_Types
Get rid of template t_IMM_ASS, which is a part of L1CTL_Types.ttcn.
Prepare generic (for both CS and PS) template on top of tr_IMM_ASS,
and use it in f_L1CTL_WAIT_IMM_ASS().
Change-Id: I3a410ec3c41e3eefd23071bfb0d80feda82177a5
-rw-r--r-- | library/L1CTL_PortType.ttcn | 10 | ||||
-rw-r--r-- | library/L1CTL_Types.ttcn | 18 |
2 files changed, 9 insertions, 19 deletions
diff --git a/library/L1CTL_PortType.ttcn b/library/L1CTL_PortType.ttcn index 3c83c3da..c595b034 100644 --- a/library/L1CTL_PortType.ttcn +++ b/library/L1CTL_PortType.ttcn @@ -127,15 +127,23 @@ module L1CTL_PortType { } function f_L1CTL_WAIT_IMM_ASS(L1CTL_PT pt, uint8_t ra, GsmFrameNumber rach_fn) return ImmediateAssignment { + var template GsmRrMessage rr_imm_ass; var L1ctlDlMessage dl; var GsmRrMessage rr; timer T := 10.0; + + /* Prepare generic template (for both CS and PS) */ + rr_imm_ass := tr_IMM_ASS(ra, rach_fn); + rr_imm_ass.payload.imm_ass.ded_or_tbf := ?; + rr_imm_ass.payload.imm_ass.pkt_chan_desc := *; + rr_imm_ass.payload.imm_ass.chan_desc := *; + T.start; alt { [] pt.receive(tr_L1CTL_DATA_IND(t_RslChanNr_PCH_AGCH(0))) -> value dl { rr := dec_GsmRrMessage(dl.payload.data_ind.payload); log("PCH/AGCH DL RR: ", rr); - if (match(rr, t_RR_IMM_ASS(ra, rach_fn))) { + if (match(rr, rr_imm_ass)) { log("Received IMM.ASS for our RACH!"); } else { repeat; diff --git a/library/L1CTL_Types.ttcn b/library/L1CTL_Types.ttcn index 77c1f6af..e939f722 100644 --- a/library/L1CTL_Types.ttcn +++ b/library/L1CTL_Types.ttcn @@ -780,24 +780,6 @@ module L1CTL_Types { } }; - template ImmediateAssignment t_IMM_ASS(uint8_t ra, GsmFrameNumber fn) := { - ded_or_tbf := ?, - page_mode := ?, - chan_desc := *, - pkt_chan_desc := *, - req_ref := f_compute_ReqRef(ra, fn), - timing_advance := ?, - mobile_allocation := ?, - rest_octets:= ? - }; - - template GsmRrMessage t_RR_IMM_ASS(uint8_t ra, GsmFrameNumber fn) := { - header := t_RrHeader(IMMEDIATE_ASSIGNMENT, ?), - payload := { - imm_ass := t_IMM_ASS(ra, fn) - } - }; - const octetstring c_DummyUI := '0303012B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B'O; /* We use "BYTEORDER(last)" so we get little-endian integers. Unfortuantely, this also |