aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <axilirator@gmail.com>2019-09-09 16:43:29 +0200
committerlaforge <laforge@gnumonks.org>2019-09-14 15:12:47 +0000
commit23b74404ba27fe38a3d6e8a1cda1f7194b3dae47 (patch)
treee1c158b06e14694cf45ff862f8789ffcf8d9164c
parente1527f75f4902f26d44e7ef4036cd4898199a7c4 (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.ttcn10
-rw-r--r--library/L1CTL_Types.ttcn18
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