From a7b5fd9c77628697196f40446f7c9dc07b961c19 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 13 Nov 2011 15:45:07 +0100 Subject: [PATCH] Introduce OsmoLchanBCCH --- public-trunk/GSM/OsmoLogicalChannel.cpp | 8 ++++++++ public-trunk/GSM/OsmoLogicalChannel.h | 13 ++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/public-trunk/GSM/OsmoLogicalChannel.cpp b/public-trunk/GSM/OsmoLogicalChannel.cpp index ae10eb4..9b169d9 100644 --- a/public-trunk/GSM/OsmoLogicalChannel.cpp +++ b/public-trunk/GSM/OsmoLogicalChannel.cpp @@ -122,6 +122,14 @@ OsmoCCCHLchan::OsmoCCCHLchan(OsmoTS *osmo_ts, unsigned int ss_nr) connect(); } +OsmoBCCHLchan::OsmoBCCHLchan(OsmoTS *osmo_ts) + :OsmoNDCCHLogicalChannel(osmo_ts, 0) +{ + assert(osmo_ts->getComb() == 5); + + mL1 = new CCCHL1FEC(gBCCHMapping); + connect(); +} OsmoSDCCHLchan::OsmoSDCCHLchan(OsmoTS *osmo_ts, unsigned int ss_nr) :OsmoLogicalChannel(osmo_ts, ss_nr) diff --git a/public-trunk/GSM/OsmoLogicalChannel.h b/public-trunk/GSM/OsmoLogicalChannel.h index cb0c787..e1002ef 100644 --- a/public-trunk/GSM/OsmoLogicalChannel.h +++ b/public-trunk/GSM/OsmoLogicalChannel.h @@ -257,6 +257,13 @@ class OsmoCCCHLchan : public OsmoNDCCHLogicalChannel { ChannelType type() const { return CCCHType; } }; +class OsmoBCCHLchan : public OsmoNDCCHLogicalChannel { + public: + OsmoBCCHLchan(OsmoTS *osmo_ts); + + ChannelType type() const { return BCCHType; } +}; + class OsmoTCHFACCHLchan : public OsmoLogicalChannel { protected: @@ -305,13 +312,15 @@ protected: SCHL1FEC mSCH; FCCHL1FEC mFCCH; RACHL1FEC mRACH; + OsmoBCCHLchan *mBCCH; OsmoCCCHLchan *mCCCH[3]; public: OsmoComb5TS(OsmoTRX &trx, unsigned int tn) :OsmoTS(trx, tn, 5), mSCH(), mFCCH(), - mRACH(gRACHC5Mapping) { + mRACH(gRACHC5Mapping) + { ARFCNManager* radio = getARFCNmgr(); mSCH.downstream(radio); @@ -323,6 +332,8 @@ public: mRACH.downstream(radio); mRACH.open(); + mBCCH = new OsmoBCCHLchan(this); + for (int i = 0; i < 3; i++) { mCCCH[i] = new OsmoCCCHLchan(this, i); mCCCH[i]->downstream(radio);