diff options
Diffstat (limited to 'library/LAPDm_RAW_PT.ttcn')
-rw-r--r-- | library/LAPDm_RAW_PT.ttcn | 33 |
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)); } } |