Exemple #1
0
SDCCHLogicalChannel *GSMConfig::getSDCCH()
{
    ScopedLock lock(mLock);
    SDCCHLogicalChannel *chan = getChan<SDCCHLogicalChannel>(mSDCCHPool,0);
    if (chan) chan->lcinit();
    LOG(DEBUG) <<chan;
    return chan;
}
Exemple #2
0
void GSMConfig::createCombinationVII(TransceiverManager& TRX, unsigned CN, unsigned TN)
{
    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);	// (pat) 7 => Transciever.h enum ChannelCombination = VII
    for (int i=0; i<8; i++) {
        SDCCHLogicalChannel* chan = new SDCCHLogicalChannel(CN,TN,gSDCCH8[i]);
        chan->downstream(radio);
        Thread* thread = new Thread;
        thread->start((void*(*)(void*))Control::DCCHDispatcher,dynamic_cast<L3LogicalChannel*>(chan));
        chan->lcinit();
        if (CN == 0 && !testStart) chan->lcstart();	// Everything on C0 must broadcast continually.
        gBTS.addSDCCH(chan);
    }
}