aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2020-05-27 19:40:01 +0700
committerVadim Yanitskiy <vyanitskiy@sysmocom.de>2020-05-29 22:33:13 +0700
commit204d1b832f1091809fbb232878524b5236e12391 (patch)
tree7e2a021868b2c3e4e586ce4d4e07fa37c404a8c6
parenteda908106b0925377ef72f0dfffca42ccd251804 (diff)
library/L1CTL_PortType: f_L1CTL_DM_EST_REQ_IA(): handle hopping params
-rw-r--r--library/L1CTL_PortType.ttcn25
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 */