laforge
/
openbts-osmo
Archived
1
0
Fork 0

Introduce OsmoLchanBCCH

master
Harald Welte 11 years ago
parent 0e1fc5e809
commit a7b5fd9c77
  1. 8
      public-trunk/GSM/OsmoLogicalChannel.cpp
  2. 13
      public-trunk/GSM/OsmoLogicalChannel.h

@ -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)

@ -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);