Test MeasConfig IE
This commit is contained in:
@@ -1538,6 +1538,7 @@ RrcAsn1Header::SerializeMeasConfig (LteRrcSap::MeasConfig measConfig) const
|
||||
break;
|
||||
case LteRrcSap::MeasGapConfig::SETUP:
|
||||
default:
|
||||
SerializeChoice (2, 1, false);
|
||||
SerializeSequence (std::bitset<0> (),false);
|
||||
switch (measConfig.measGapConfig.gapOffsetChoice)
|
||||
{
|
||||
@@ -4573,6 +4574,76 @@ RrcConnectionReconfigurationHeader::Print (std::ostream &os) const
|
||||
{
|
||||
os << "rrcTransactionIdentifier: " << (int) m_rrcTransactionIdentifier << std::endl;
|
||||
os << "haveMeasConfig: " << m_haveMeasConfig << std::endl;
|
||||
if (m_haveMobilityControlInfo)
|
||||
{
|
||||
if(!m_measConfig.measObjectToRemoveList.empty())
|
||||
{
|
||||
os << " measObjectToRemoveList: " ;
|
||||
std::list<uint8_t> auxList = m_measConfig.measObjectToRemoveList;
|
||||
std::list<uint8_t>::iterator it = auxList.begin ();
|
||||
for ( ; it != auxList.end(); it++)
|
||||
{
|
||||
os << (int) *it << ", ";
|
||||
}
|
||||
os << std::endl;
|
||||
}
|
||||
if(!m_measConfig.reportConfigToRemoveList.empty())
|
||||
{
|
||||
os << " reportConfigToRemoveList: " ;
|
||||
std::list<uint8_t> auxList = m_measConfig.reportConfigToRemoveList;
|
||||
std::list<uint8_t>::iterator it = auxList.begin ();
|
||||
for ( ; it != auxList.end(); it++)
|
||||
{
|
||||
os << (int) *it << ", ";
|
||||
}
|
||||
os << std::endl;
|
||||
}
|
||||
if(!m_measConfig.measIdToRemoveList.empty())
|
||||
{
|
||||
os << " measIdToRemoveList: " ;
|
||||
std::list<uint8_t> auxList = m_measConfig.measIdToRemoveList;
|
||||
std::list<uint8_t>::iterator it = auxList.begin ();
|
||||
for ( ; it != auxList.end(); it++)
|
||||
{
|
||||
os << (int) *it << ", ";
|
||||
}
|
||||
os << std::endl;
|
||||
}
|
||||
|
||||
os << " haveQuantityConfig: " << m_measConfig.haveQuantityConfig << std::endl;
|
||||
if (m_measConfig.haveQuantityConfig)
|
||||
{
|
||||
os << " filterCoefficientRSRP: " << (int)m_measConfig.quantityConfig.filterCoefficientRSRP << std::endl;
|
||||
os << " filterCoefficientRSRQ:" << (int)m_measConfig.quantityConfig.filterCoefficientRSRQ << std::endl;
|
||||
}
|
||||
|
||||
os << " haveMeasGapConfig: " << m_measConfig.haveMeasGapConfig << std::endl;
|
||||
if (m_measConfig.haveMeasGapConfig)
|
||||
{
|
||||
os << " measGapConfig.type: " << m_measConfig.measGapConfig.type << std::endl;
|
||||
os << " measGapConfig.gap (gap0/1,value): (" << m_measConfig.measGapConfig.gapOffsetChoice
|
||||
<< "," << (int) m_measConfig.measGapConfig.gapOffsetValue << ")" << std::endl;
|
||||
}
|
||||
|
||||
os << " haveSmeasure: " << m_measConfig.haveSmeasure << std::endl;
|
||||
if (m_measConfig.haveSmeasure)
|
||||
{
|
||||
os << " sMeasure: " << (int) m_measConfig.sMeasure << std::endl;
|
||||
}
|
||||
|
||||
os << " haveSpeedStatePars: " << m_measConfig.haveSpeedStatePars << std::endl;
|
||||
if (m_measConfig.haveSpeedStatePars)
|
||||
{
|
||||
os << " speedStatePars.type: " << m_measConfig.speedStatePars.type << std::endl;
|
||||
os << " speedStatePars.mobilityStateParameters.tEvaluation: " << (int)m_measConfig.speedStatePars.mobilityStateParameters.tEvaluation << std::endl;
|
||||
os << " speedStatePars.mobilityStateParameters.tHystNormal: " << (int)m_measConfig.speedStatePars.mobilityStateParameters.tHystNormal << std::endl;
|
||||
os << " speedStatePars.mobilityStateParameters.nCellChangeMedium: " << (int)m_measConfig.speedStatePars.mobilityStateParameters.nCellChangeMedium << std::endl;
|
||||
os << " speedStatePars.mobilityStateParameters.nCellChangeHigh: " << (int)m_measConfig.speedStatePars.mobilityStateParameters.nCellChangeHigh << std::endl;
|
||||
os << " speedStatePars.timeToTriggerSf.sfMedium: " << (int)m_measConfig.speedStatePars.timeToTriggerSf.sfMedium << std::endl;
|
||||
os << " speedStatePars.timeToTriggerSf.sfHigh: " << (int)m_measConfig.speedStatePars.timeToTriggerSf.sfHigh << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
os << "haveMobilityControlInfo: " << m_haveMobilityControlInfo << std::endl;
|
||||
if (m_haveMobilityControlInfo)
|
||||
{
|
||||
|
||||
@@ -450,7 +450,43 @@ RrcConnectionReconfigurationTestCase::DoRun (void)
|
||||
LteRrcSap::RrcConnectionReconfiguration msg;
|
||||
msg.rrcTransactionIdentifier = 2;
|
||||
|
||||
msg.haveMeasConfig = false;
|
||||
msg.haveMeasConfig = true;
|
||||
|
||||
msg.measConfig.haveQuantityConfig = true;
|
||||
msg.measConfig.quantityConfig.filterCoefficientRSRP = 8;
|
||||
msg.measConfig.quantityConfig.filterCoefficientRSRQ = 7;
|
||||
|
||||
msg.measConfig.haveMeasGapConfig = true;
|
||||
msg.measConfig.measGapConfig.type = LteRrcSap::MeasGapConfig::SETUP;
|
||||
msg.measConfig.measGapConfig.gapOffsetChoice = LteRrcSap::MeasGapConfig::gp0;
|
||||
msg.measConfig.measGapConfig.gapOffsetValue = 21;
|
||||
|
||||
msg.measConfig.haveSmeasure = true;
|
||||
msg.measConfig.sMeasure = 57;
|
||||
|
||||
msg.measConfig.haveSpeedStatePars = true;
|
||||
msg.measConfig.speedStatePars.type = LteRrcSap::SpeedStatePars::SETUP;
|
||||
msg.measConfig.speedStatePars.mobilityStateParameters.tEvaluation = 240;
|
||||
msg.measConfig.speedStatePars.mobilityStateParameters.tHystNormal = 60;
|
||||
msg.measConfig.speedStatePars.mobilityStateParameters.nCellChangeMedium = 5;
|
||||
msg.measConfig.speedStatePars.mobilityStateParameters.nCellChangeHigh = 13;
|
||||
msg.measConfig.speedStatePars.timeToTriggerSf.sfMedium = 25;
|
||||
msg.measConfig.speedStatePars.timeToTriggerSf.sfHigh = 75;
|
||||
|
||||
msg.measConfig.measObjectToRemoveList.push_back(23);
|
||||
msg.measConfig.measObjectToRemoveList.push_back(13);
|
||||
|
||||
msg.measConfig.reportConfigToRemoveList.push_back(7);
|
||||
msg.measConfig.reportConfigToRemoveList.push_back(16);
|
||||
|
||||
msg.measConfig.measIdToRemoveList.push_back(4);
|
||||
msg.measConfig.measIdToRemoveList.push_back(18);
|
||||
|
||||
// TODO: Test the following:
|
||||
// std::list<MeasObjectToAddMod> measObjectToAddModList;
|
||||
// std::list<ReportConfigToAddMod> reportConfigToAddModList;
|
||||
// std::list<MeasIdToAddMod> measIdToAddModList;
|
||||
|
||||
msg.haveMobilityControlInfo = true;
|
||||
msg.mobilityControlInfo.targetPhysCellId = 4;
|
||||
msg.mobilityControlInfo.haveCarrierFreq = true;
|
||||
|
||||
Reference in New Issue
Block a user