aboutsummaryrefslogtreecommitdiffstats
path: root/library/LAPDm_RAW_PT.ttcn
diff options
context:
space:
mode:
Diffstat (limited to 'library/LAPDm_RAW_PT.ttcn')
-rw-r--r--library/LAPDm_RAW_PT.ttcn33
1 files changed, 19 insertions, 14 deletions
diff --git a/library/LAPDm_RAW_PT.ttcn b/library/LAPDm_RAW_PT.ttcn
index d0ad24b9..f7c18b58 100644
--- a/library/LAPDm_RAW_PT.ttcn
+++ b/library/LAPDm_RAW_PT.ttcn
@@ -14,15 +14,18 @@
module LAPDm_RAW_PT {
import from GSM_Types all;
import from GSM_RR_Types all;
+ import from GSM_RestOctets all;
import from Osmocom_Types all;
import from L1CTL_Types all;
import from L1CTL_PortType all;
import from LAPDm_Types all;
import from RLCMAC_Types all;
+ type record length(8) of uint8_t TfiUsfArr;
+
/* request to tune to a given ARFCN and start BCCH decoding */
type record BCCH_tune_req {
- Arfcn arfcn,
+ GsmBandArfcn arfcn,
boolean combined_ccch
}
@@ -102,7 +105,7 @@ module LAPDm_RAW_PT {
GprsCodingScheme cs,
uint8_t ts_nr,
GsmFrameNumber fn,
- Arfcn arfcn,
+ GsmBandArfcn arfcn,
RlcmacUlBlock block
}
type union RLCMAC_ph_data_req {
@@ -198,7 +201,8 @@ module LAPDm_RAW_PT {
}
/* tune to given ARFCN and start BCCH/CCCH decoding */
- private function f_tune_bcch(Arfcn arfcn, boolean combined) runs on lapdm_CT {
+ private function f_tune_bcch(GsmBandArfcn arfcn, boolean combined)
+ runs on lapdm_CT {
var L1ctlCcchMode mode := CCCH_MODE_NON_COMBINED;
if (combined) {
mode := CCCH_MODE_COMBINED;
@@ -274,7 +278,8 @@ module LAPDm_RAW_PT {
}
template (value) RLCMAC_ph_data_req ts_PH_DATA_ABS(uint8_t tbf_id, GprsCodingScheme cs,
- uint8_t ts, uint32_t fn, Arfcn arfcn,
+ uint8_t ts, uint32_t fn,
+ GsmBandArfcn arfcn,
RlcmacUlBlock block) := {
abs := {
tbf_id := tbf_id,
@@ -319,7 +324,7 @@ module LAPDm_RAW_PT {
/* Important: ARFCN, TN, TSC, USF, USF_GRANULARITY, CH_CODING_CMD */
f_TfiUsfArrSet(tua, imm_ass.pkt_chan_desc.tn, pkt_ul_ass.dynamic.usf);
- f_L1CTL_TBF_CFG(L1CTL, true, tua);
+ // FIXME: f_L1CTL_TBF_CFG(L1CTL, true, tua);
return true;
/* FIXME: Single Block Allocation */
} else if (match(pkt_ul_ass, tr_PacketUlSglAssign)) {
@@ -334,8 +339,8 @@ module LAPDm_RAW_PT {
private function f_release_tbf() runs on lapdm_CT {
var TfiUsfArr tua := f_TfiUsfArrInit();
/* send "all timeslots unused" for both UL and DL */
- f_L1CTL_TBF_CFG(L1CTL, true, tua);
- f_L1CTL_TBF_CFG(L1CTL, false, tua);
+ // FIXME: f_L1CTL_TBF_CFG(L1CTL, true, tua);
+ // FIXME: f_L1CTL_TBF_CFG(L1CTL, false, tua);
/* L1 will then fall back to BCCH/CCCH */
set_ph_state(PH_STATE_BCH);
}
@@ -371,7 +376,7 @@ module LAPDm_RAW_PT {
mtc.stop;
}
g_tbf_dl[tbf_nr] := tbf_dl_req.pars;
- f_L1CTL_TBF_CFG(L1CTL, false, tbf_dl_req.pars.tfi);
+ // FIXME: f_L1CTL_TBF_CFG(L1CTL, false, tbf_dl_req.pars.tfi);
set_ph_state(PH_STATE_TBF);
log("Established DL TBF ", tbf_nr, ": ", tbf_dl_req.pars);
}
@@ -386,7 +391,7 @@ module LAPDm_RAW_PT {
}
function ScanEvents() runs on lapdm_CT {
- var L1ctlDlMessage dl;
+ var L1ctlMessage dl;
var BCCH_tune_req bt;
var LAPDm_ph_data lpd;
var RLCMAC_ph_data_ind rpdi;
@@ -492,7 +497,7 @@ module LAPDm_RAW_PT {
link_id := valueof(ts_RslLinkID_SACCH(lpd.sapi));
buf := f_pad_oct(enc_LapdmFrame(lpd.lapdm), 21, '2B'O);
var SacchL1Header l1h := valueof(ts_SacchL1Header(ms_power_lvl,
- false, timing_adv));
+ timing_adv));
L1CTL.send(ts_L1CTL_DATA_REQ_SACCH(chan_desc.chan_nr, link_id,
l1h, buf));
} else {
@@ -534,12 +539,12 @@ module LAPDm_RAW_PT {
var octetstring buf;
if (ischosen(rpdr.dyn)) {
buf := enc_RlcmacUlBlock(rpdr.dyn.block);
- L1CTL.send(ts_L1CTL_DATA_TBF_REQ(buf, L1CTL_CS1, rpdr.dyn.tbf_id));
+ // FIXME: L1CTL.send(ts_L1CTL_DATA_TBF_REQ(buf, L1CTL_CS1, rpdr.dyn.tbf_id));
} else {
buf := enc_RlcmacUlBlock(rpdr.abs.block);
- L1CTL.send(ts_L1CTL_DATA_ABS_REQ(buf, rpdr.abs.arfcn,
- rpdr.abs.ts_nr, rpdr.abs.fn,
- L1CTL_CS1, rpdr.abs.tbf_id));
+ // FIXME: L1CTL.send(ts_L1CTL_DATA_ABS_REQ(buf, rpdr.abs.arfcn,
+ // rpdr.abs.ts_nr, rpdr.abs.fn,
+ // L1CTL_CS1, rpdr.abs.tbf_id));
}
}