MCPcopy Create free account
hub / github.com/RangeNetworks/openbts / printChanInfo

Function printChanInfo

CLI/CLI.cpp:1541–1585  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1539
1540#if OLD_VERSION
1541void printChanInfo(unsigned transID, const GSM::L2LogicalChannel* chan, ostream& os)
1542{
1543 os << setw(2) << chan->CN() << " " << chan->TN();
1544 os << " " << setw(9) << chan->typeAndOffset();
1545 os << " " << setw(12) << transID;
1546 os << " " << setw(6) << chan->active();
1547 os << " " << setw(5) << chan->recyclable();
1548 char buffer[200];
1549 snprintf(buffer,199,"%5.2f %4d %5d %4d",
1550 100.0*chan->FER(), (int)round(chan->RSSI()),
1551 chan->actualMSPower(), chan->actualMSTiming());
1552 os << " " << buffer;
1553
1554 if (!chan->SACCH()) {
1555 os << endl;
1556 return;
1557 }
1558
1559 const GSM::L3MeasurementResults& meas = chan->SACCH()->measurementResults();
1560
1561 if (meas.MEAS_VALID()) {
1562 os << endl;
1563 return;
1564 }
1565
1566 snprintf(buffer,199,"%5d %5.2f",
1567 meas.RXLEV_FULL_SERVING_CELL_dBm(),
1568 100.0*meas.RXQUAL_FULL_SERVING_CELL_BER());
1569 os << " " << buffer;
1570
1571 if (meas.NO_NCELL()==0) {
1572 os << endl;
1573 return;
1574 }
1575 unsigned CN = meas.BCCH_FREQ_NCELL(0);
1576 std::vector<unsigned> ARFCNList = gNeighborTable.ARFCNList();
1577 if (CN>=ARFCNList.size()) {
1578 LOG(NOTICE) << "BCCH index " << CN << " does not match ARFCN list of size " << ARFCNList.size();
1579 os << endl;
1580 return;
1581 }
1582 snprintf(buffer,199,"%8u %8d",ARFCNList[CN],meas.RXLEV_NCELL_dBm(0));
1583 os << " " << buffer;
1584 os << endl;
1585}
1586
1587
1588CLIStatus printChansV4(std::ostream& os,bool showAll)

Callers 1

printChansV4Function · 0.85

Calls 15

actualMSPowerMethod · 0.80
actualMSTimingMethod · 0.80
SACCHMethod · 0.80
MEAS_VALIDMethod · 0.80
NO_NCELLMethod · 0.80
BCCH_FREQ_NCELLMethod · 0.80
ARFCNListMethod · 0.80
RXLEV_NCELL_dBmMethod · 0.80
CNMethod · 0.45
TNMethod · 0.45

Tested by

no test coverage detected