Test MeasConfig IE

This commit is contained in:
lluis
2013-02-19 19:40:15 +01:00
parent 168e87360a
commit ef2f84ea71
2 changed files with 108 additions and 1 deletions

View File

@@ -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)
{

View File

@@ -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;