TCHFACCHLogicalChannel::TCHFACCHLogicalChannel( unsigned wCN, unsigned wTN, const CompleteMapping& wMapping) { mTCHL1 = new TCHFACCHL1FEC(wCN,wTN,wMapping.LCH()); mL1 = mTCHL1; // SAP0 is RR/MM/CC, SAP3 is SMS // SAP1 and SAP2 are not used. mL2[0] = new FACCHL2(1,SAPI0); mL2[3] = new FACCHL2(1,SAPI3); mSACCH = new SACCHLogicalChannel(wCN,wTN,wMapping.SACCH(),this); connect(); }
TCHFACCHLogicalChannel::TCHFACCHLogicalChannel( unsigned wCN, unsigned wTN, const CompleteMapping& wMapping) { mTCHL1 = new TCHFACCHL1FEC(wCN,wTN,wMapping.LCH()); mL1 = mTCHL1; // SAP0 is RR/MM/CC, SAP3 is SMS // SAP1 and SAP2 are not used. L2LAPDm *sap0 = new FACCHL2(1,SAPI0); L2LAPDm *sap3 = new FACCHL2(1,SAPI3); sapInit(sap0,sap3); mSACCH = new SACCHLogicalChannel(wCN,wTN,wMapping.SACCH(),this); connect(mL1); }
SDCCHLogicalChannel::SDCCHLogicalChannel( unsigned wCN, unsigned wTN, const CompleteMapping& wMapping) { mL1 = new SDCCHL1FEC(wCN,wTN,wMapping.LCH()); // SAP0 is RR/MM/CC, SAP3 is SMS // SAP1 and SAP2 are not used. L2LAPDm *sap0 = new SDCCHL2(1,SAPI0); // derived from L2LAPDm L2LAPDm *sap3 = new SDCCHL2(1,SAPI3); LOG(DEBUG) << "LAPDm pairs SAP0=" << sap0 << " SAP3=" << sap3; sapInit(sap0,sap3); mSACCH = new SACCHLogicalChannel(wCN,wTN,wMapping.SACCH(),this); connect(mL1); }
SDCCHLogicalChannel::SDCCHLogicalChannel( unsigned wTN, const CompleteMapping& wMapping) { mL1 = new SDCCHL1FEC(wTN,wMapping.LCH()); // SAP0 is RR/MM/CC, SAP3 is SMS // SAP1 and SAP2 are not used. L2LAPDm *SAP0L2 = new SDCCHL2(1,0); L2LAPDm *SAP3L2 = new SDCCHL2(1,3); LOG(DEBUG) << "LAPDm pairs SAP0=" << SAP0L2 << " SAP3=" << SAP3L2; SAP3L2->master(SAP0L2); mL2[0] = SAP0L2; mL2[3] = SAP3L2; mSACCH = new SACCHLogicalChannel(wTN,wMapping.SACCH()); connect(); }