diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2020-05-27 19:40:01 +0700 |
---|---|---|
committer | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2020-05-29 22:33:13 +0700 |
commit | 204d1b832f1091809fbb232878524b5236e12391 (patch) | |
tree | 7e2a021868b2c3e4e586ce4d4e07fa37c404a8c6 | |
parent | eda908106b0925377ef72f0dfffca42ccd251804 (diff) |
library/L1CTL_PortType: f_L1CTL_DM_EST_REQ_IA(): handle hopping params
Change-Id: I8c14fee3ec8f7a799469c681b5afe79ab74a5dfc
Related: OS#4546
-rw-r--r-- | library/L1CTL_PortType.ttcn | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/library/L1CTL_PortType.ttcn b/library/L1CTL_PortType.ttcn index cc2ff932..94f807aa 100644 --- a/library/L1CTL_PortType.ttcn +++ b/library/L1CTL_PortType.ttcn @@ -203,10 +203,27 @@ module L1CTL_PortType { } /* Send DM_EST_REQ from parameters derived from IMM ASS */ - function f_L1CTL_DM_EST_REQ_IA(L1CTL_PT pt, ImmediateAssignment imm_ass) { - pt.send(ts_L1CTL_DM_EST_REQ_H0(imm_ass.chan_desc.chan_nr, - imm_ass.chan_desc.tsc, - imm_ass.chan_desc.arfcn)); + function f_L1CTL_DM_EST_REQ_IA(L1CTL_PT pt, ImmediateAssignment imm_ass, L1ctlMA ma := {}) { + /* FIXME: handle Packet Channel Description */ + if (imm_ass.ded_or_tbf.tbf == true) { + setverdict(fail, "TBF assignment is not handled by ", __SCOPE__); + mtc.stop; + } + + /* Single channel or frequency hopping? */ + if (not imm_ass.chan_desc.h) { + pt.send(ts_L1CTL_DM_EST_REQ_H0(imm_ass.chan_desc.chan_nr, + imm_ass.chan_desc.tsc, + imm_ass.chan_desc.arfcn)); + } else { + /* TODO: we probably want to apply a bitmask from imm_ass.mobile_allocation + * on the list of channels, if it's present. Use all channels for now. */ + pt.send(ts_L1CTL_DM_EST_REQ_H1(imm_ass.chan_desc.chan_nr, + imm_ass.chan_desc.tsc, + imm_ass.chan_desc.maio_hsn.hsn, + imm_ass.chan_desc.maio_hsn.maio, + ma)); + } } /* Send DM_REL_REQ from parameters derived from IMM ASS */ |