Adding MultiARFCN support to core.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3688 19bc5d8c-e614-43d4-8b26-e1612bc8e597
This commit is contained in:
Kurtis Heimerl
2012-05-31 00:05:12 +00:00
parent 32c86513e3
commit 13ece1dbae
11 changed files with 156 additions and 78 deletions

View File

@@ -287,18 +287,18 @@ void GSMConfig::createCombination0(TransceiverManager& TRX, unsigned TN)
// This should not be applied to C0T0.
LOG_ASSERT(TN!=0);
LOG(NOTICE) << "Configuring dummy filling on C0T " << TN;
ARFCNManager *radio = TRX.ARFCN();
ARFCNManager *radio = TRX.ARFCN(0);
radio->setSlot(TN,0);
}
void GSMConfig::createCombinationI(TransceiverManager& TRX, unsigned TN)
void GSMConfig::createCombinationI(TransceiverManager& TRX, unsigned CN, unsigned TN)
{
LOG_ASSERT(TN!=0);
LOG(NOTICE) << "Configuring combination I on C0T" << TN;
ARFCNManager *radio = TRX.ARFCN();
LOG_ASSERT((CN!=0)||(TN!=0));
LOG(NOTICE) << "Configuring combination I on C" << CN << "T" << TN;
ARFCNManager *radio = TRX.ARFCN(CN);
radio->setSlot(TN,1);
TCHFACCHLogicalChannel* chan = new TCHFACCHLogicalChannel(TN,gTCHF_T[TN]);
TCHFACCHLogicalChannel* chan = new TCHFACCHLogicalChannel(CN,TN,gTCHF_T[TN]);
chan->downstream(radio);
Thread* thread = new Thread;
thread->start((void*(*)(void*))Control::DCCHDispatcher,chan);
@@ -308,14 +308,14 @@ void GSMConfig::createCombinationI(TransceiverManager& TRX, unsigned TN)
}
void GSMConfig::createCombinationVII(TransceiverManager& TRX, unsigned TN)
void GSMConfig::createCombinationVII(TransceiverManager& TRX, unsigned CN, unsigned TN)
{
LOG_ASSERT(TN!=0);
LOG(NOTICE) << "Configuring combination VII on C0T" << TN;
ARFCNManager *radio = TRX.ARFCN();
LOG_ASSERT((CN!=0)||(TN!=0));
LOG(NOTICE) << "Configuring combination VII on C" << CN << "T" << TN;
ARFCNManager *radio = TRX.ARFCN(CN);
radio->setSlot(TN,7);
for (int i=0; i<8; i++) {
SDCCHLogicalChannel* chan = new SDCCHLogicalChannel(TN,gSDCCH8[i]);
SDCCHLogicalChannel* chan = new SDCCHLogicalChannel(CN,TN,gSDCCH8[i]);
chan->downstream(radio);
Thread* thread = new Thread;
thread->start((void*(*)(void*))Control::DCCHDispatcher,chan);