Capitalize constants in enums, according to ns3 coding style.

This commit is contained in:
Lluís Parcerisa
2013-04-04 11:49:19 +02:00
parent f869e06975
commit 604ffbe4c4
5 changed files with 282 additions and 227 deletions

View File

@@ -1211,30 +1211,30 @@ UeManager::BuildMeasConfig ()
// Just event A2 and event A4 are supported
LteRrcSap::ReportConfigToAddMod reportConfigA2;
reportConfigA2.reportConfigId = 1;
reportConfigA2.reportConfigEutra.triggerType = LteRrcSap::ReportConfigEutra::event;
reportConfigA2.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::eventA2;
reportConfigA2.reportConfigEutra.threshold1.choice = LteRrcSap::ThresholdEutra::thresholdRsrq;
reportConfigA2.reportConfigEutra.triggerType = LteRrcSap::ReportConfigEutra::EVENT;
reportConfigA2.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A2;
reportConfigA2.reportConfigEutra.threshold1.choice = LteRrcSap::ThresholdEutra::THRESHOLD_RSRQ;
reportConfigA2.reportConfigEutra.threshold1.range = m_rrc->m_eventA2Threshold;
reportConfigA2.reportConfigEutra.hysteresis = 0;
reportConfigA2.reportConfigEutra.timeToTrigger = 0;
reportConfigA2.reportConfigEutra.triggerQuantity = LteRrcSap::ReportConfigEutra::rsrq;
reportConfigA2.reportConfigEutra.reportQuantity = LteRrcSap::ReportConfigEutra::sameAsTriggerQuantity;
reportConfigA2.reportConfigEutra.triggerQuantity = LteRrcSap::ReportConfigEutra::RSRQ;
reportConfigA2.reportConfigEutra.reportQuantity = LteRrcSap::ReportConfigEutra::SAME_AS_TRIGGER_QUANTITY;
reportConfigA2.reportConfigEutra.maxReportCells = LteRrcSap::MaxReportCells;
reportConfigA2.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::ms480;
reportConfigA2.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS480;
reportConfigA2.reportConfigEutra.reportAmount = 255;
LteRrcSap::ReportConfigToAddMod reportConfigA4;
reportConfigA4.reportConfigId = 2;
reportConfigA4.reportConfigEutra.triggerType = LteRrcSap::ReportConfigEutra::event;
reportConfigA4.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::eventA4;
reportConfigA4.reportConfigEutra.threshold1.choice = LteRrcSap::ThresholdEutra::thresholdRsrq;
reportConfigA4.reportConfigEutra.triggerType = LteRrcSap::ReportConfigEutra::EVENT;
reportConfigA4.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A4;
reportConfigA4.reportConfigEutra.threshold1.choice = LteRrcSap::ThresholdEutra::THRESHOLD_RSRQ;
reportConfigA4.reportConfigEutra.threshold1.range = m_rrc->m_eventA4Threshold;
reportConfigA4.reportConfigEutra.hysteresis = 0;
reportConfigA4.reportConfigEutra.timeToTrigger = 0;
reportConfigA4.reportConfigEutra.triggerQuantity = LteRrcSap::ReportConfigEutra::rsrq;
reportConfigA4.reportConfigEutra.reportQuantity = LteRrcSap::ReportConfigEutra::sameAsTriggerQuantity;
reportConfigA4.reportConfigEutra.triggerQuantity = LteRrcSap::ReportConfigEutra::RSRQ;
reportConfigA4.reportConfigEutra.reportQuantity = LteRrcSap::ReportConfigEutra::SAME_AS_TRIGGER_QUANTITY;
reportConfigA4.reportConfigEutra.maxReportCells = LteRrcSap::MaxReportCells;
reportConfigA4.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::ms480;
reportConfigA4.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS480;
reportConfigA4.reportConfigEutra.reportAmount = 255;
LteRrcSap::MeasIdToAddMod measId[2];

View File

@@ -965,11 +965,11 @@ RrcAsn1Header::SerializeThresholdEutra (LteRrcSap::ThresholdEutra thresholdEutra
{
switch (thresholdEutra.choice)
{
case LteRrcSap::ThresholdEutra::thresholdRsrp:
case LteRrcSap::ThresholdEutra::THRESHOLD_RSRP:
SerializeChoice (2,0,false);
SerializeInteger (thresholdEutra.range, 0, 97);
break;
case LteRrcSap::ThresholdEutra::thresholdRsrq:
case LteRrcSap::ThresholdEutra::THRESHOLD_RSRQ:
default:
SerializeChoice (2,1,false);
SerializeInteger (thresholdEutra.range, 0, 34);
@@ -1187,47 +1187,47 @@ RrcAsn1Header::SerializeMeasConfig (LteRrcSap::MeasConfig measConfig) const
SerializeSequence (std::bitset<0> (), true);
switch (it->reportConfigEutra.triggerType)
{
case LteRrcSap::ReportConfigEutra::periodical:
case LteRrcSap::ReportConfigEutra::PERIODICAL:
SerializeChoice (2, 1, false);
SerializeSequence (std::bitset<0> (),false);
switch (it->reportConfigEutra.purpose)
{
case LteRrcSap::ReportConfigEutra::reportCgi:
case LteRrcSap::ReportConfigEutra::REPORT_CGI:
SerializeEnum (2,1);
break;
case LteRrcSap::ReportConfigEutra::reportStrongestCells:
case LteRrcSap::ReportConfigEutra::REPORT_STRONGEST_CELLS:
default:
SerializeEnum (2,0);
}
break;
case LteRrcSap::ReportConfigEutra::event:
case LteRrcSap::ReportConfigEutra::EVENT:
default:
SerializeChoice (2, 0, false);
SerializeSequence (std::bitset<0> (),false);
switch (it->reportConfigEutra.eventId)
{
case LteRrcSap::ReportConfigEutra::eventA1:
case LteRrcSap::ReportConfigEutra::EVENT_A1:
SerializeChoice (5, 0, true);
SerializeSequence (std::bitset<0> (),false);
SerializeThresholdEutra (it->reportConfigEutra.threshold1);
break;
case LteRrcSap::ReportConfigEutra::eventA2:
case LteRrcSap::ReportConfigEutra::EVENT_A2:
SerializeChoice (5, 1, true);
SerializeSequence (std::bitset<0> (),false);
SerializeThresholdEutra (it->reportConfigEutra.threshold1);
break;
case LteRrcSap::ReportConfigEutra::eventA3:
case LteRrcSap::ReportConfigEutra::EVENT_A3:
SerializeChoice (5, 2, true);
SerializeSequence (std::bitset<0> (),false);
SerializeInteger (it->reportConfigEutra.a3Offset,-30,30);
SerializeBoolean (it->reportConfigEutra.reportOnLeave);
break;
case LteRrcSap::ReportConfigEutra::eventA4:
case LteRrcSap::ReportConfigEutra::EVENT_A4:
SerializeChoice (5, 3, true);
SerializeSequence (std::bitset<0> (),false);
SerializeThresholdEutra (it->reportConfigEutra.threshold1);
break;
case LteRrcSap::ReportConfigEutra::eventA5:
case LteRrcSap::ReportConfigEutra::EVENT_A5:
default:
SerializeChoice (5, 4, true);
SerializeSequence (std::bitset<0> (),false);
@@ -1291,7 +1291,7 @@ RrcAsn1Header::SerializeMeasConfig (LteRrcSap::MeasConfig measConfig) const
} // end trigger type
// Serialize triggerQuantity
if (it->reportConfigEutra.triggerQuantity == LteRrcSap::ReportConfigEutra::rsrp)
if (it->reportConfigEutra.triggerQuantity == LteRrcSap::ReportConfigEutra::RSRP)
{
SerializeEnum (2, 0);
}
@@ -1301,7 +1301,7 @@ RrcAsn1Header::SerializeMeasConfig (LteRrcSap::MeasConfig measConfig) const
}
// Serialize reportQuantity
if (it->reportConfigEutra.reportQuantity == LteRrcSap::ReportConfigEutra::sameAsTriggerQuantity)
if (it->reportConfigEutra.reportQuantity == LteRrcSap::ReportConfigEutra::SAME_AS_TRIGGER_QUANTITY)
{
SerializeEnum (2, 0);
}
@@ -1316,52 +1316,52 @@ RrcAsn1Header::SerializeMeasConfig (LteRrcSap::MeasConfig measConfig) const
// Serialize reportInterval
switch (it->reportConfigEutra.reportInterval)
{
case LteRrcSap::ReportConfigEutra::ms120:
case LteRrcSap::ReportConfigEutra::MS120:
SerializeEnum (16, 0);
break;
case LteRrcSap::ReportConfigEutra::ms240:
case LteRrcSap::ReportConfigEutra::MS240:
SerializeEnum (16, 1);
break;
case LteRrcSap::ReportConfigEutra::ms480:
case LteRrcSap::ReportConfigEutra::MS480:
SerializeEnum (16, 2);
break;
case LteRrcSap::ReportConfigEutra::ms640:
case LteRrcSap::ReportConfigEutra::MS640:
SerializeEnum (16, 3);
break;
case LteRrcSap::ReportConfigEutra::ms1024:
case LteRrcSap::ReportConfigEutra::MS1024:
SerializeEnum (16, 4);
break;
case LteRrcSap::ReportConfigEutra::ms2048:
case LteRrcSap::ReportConfigEutra::MS2048:
SerializeEnum (16, 5);
break;
case LteRrcSap::ReportConfigEutra::ms5120:
case LteRrcSap::ReportConfigEutra::MS5120:
SerializeEnum (16, 6);
break;
case LteRrcSap::ReportConfigEutra::ms10240:
case LteRrcSap::ReportConfigEutra::MS10240:
SerializeEnum (16, 7);
break;
case LteRrcSap::ReportConfigEutra::min1:
case LteRrcSap::ReportConfigEutra::MIN1:
SerializeEnum (16, 8);
break;
case LteRrcSap::ReportConfigEutra::min6:
case LteRrcSap::ReportConfigEutra::MIN6:
SerializeEnum (16, 9);
break;
case LteRrcSap::ReportConfigEutra::min12:
case LteRrcSap::ReportConfigEutra::MIN12:
SerializeEnum (16, 10);
break;
case LteRrcSap::ReportConfigEutra::min30:
case LteRrcSap::ReportConfigEutra::MIN30:
SerializeEnum (16, 11);
break;
case LteRrcSap::ReportConfigEutra::min60:
case LteRrcSap::ReportConfigEutra::MIN60:
SerializeEnum (16, 12);
break;
case LteRrcSap::ReportConfigEutra::spare3:
case LteRrcSap::ReportConfigEutra::SPARE3:
SerializeEnum (16, 13);
break;
case LteRrcSap::ReportConfigEutra::spare2:
case LteRrcSap::ReportConfigEutra::SPARE2:
SerializeEnum (16, 14);
break;
case LteRrcSap::ReportConfigEutra::spare1:
case LteRrcSap::ReportConfigEutra::SPARE1:
default:
SerializeEnum (16, 15);
}
@@ -1542,11 +1542,11 @@ RrcAsn1Header::SerializeMeasConfig (LteRrcSap::MeasConfig measConfig) const
SerializeSequence (std::bitset<0> (),false);
switch (measConfig.measGapConfig.gapOffsetChoice)
{
case LteRrcSap::MeasGapConfig::gp0:
case LteRrcSap::MeasGapConfig::GP0:
SerializeChoice (2, 0, true);
SerializeInteger (measConfig.measGapConfig.gapOffsetValue, 0, 39);
break;
case LteRrcSap::MeasGapConfig::gp1:
case LteRrcSap::MeasGapConfig::GP1:
default:
SerializeChoice (2, 1, true);
SerializeInteger (measConfig.measGapConfig.gapOffsetValue, 0, 79);
@@ -1665,13 +1665,13 @@ RrcAsn1Header::DeserializeThresholdEutra (LteRrcSap::ThresholdEutra * thresholdE
switch (thresholdEutraChoice)
{
case 0:
thresholdEutra->choice = LteRrcSap::ThresholdEutra::thresholdRsrp;
thresholdEutra->choice = LteRrcSap::ThresholdEutra::THRESHOLD_RSRP;
bIterator = DeserializeInteger (&range, 0, 97, bIterator);
thresholdEutra->range = range;
break;
case 1:
default:
thresholdEutra->choice = LteRrcSap::ThresholdEutra::thresholdRsrq;
thresholdEutra->choice = LteRrcSap::ThresholdEutra::THRESHOLD_RSRQ;
bIterator = DeserializeInteger (&range, 0, 34, bIterator);
thresholdEutra->range = range;
}
@@ -3311,7 +3311,7 @@ RrcAsn1Header::DeserializeMeasConfig (LteRrcSap::MeasConfig * measConfig, Buffer
if (triggerTypeChoice == 0)
{
// event
elem.reportConfigEutra.triggerType = LteRrcSap::ReportConfigEutra::event;
elem.reportConfigEutra.triggerType = LteRrcSap::ReportConfigEutra::EVENT;
bIterator = DeserializeSequence (&bitset0, false, bIterator);
// eventId
@@ -3321,19 +3321,19 @@ RrcAsn1Header::DeserializeMeasConfig (LteRrcSap::MeasConfig * measConfig, Buffer
switch (eventIdChoice)
{
case 0:
elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::eventA1;
elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A1;
bIterator = DeserializeSequence (&bitset0, false, bIterator);
bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold1, bIterator);
break;
case 1:
elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::eventA2;
elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A2;
bIterator = DeserializeSequence (&bitset0, false, bIterator);
bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold1, bIterator);
break;
case 2:
elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::eventA3;
elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A3;
bIterator = DeserializeSequence (&bitset0, false, bIterator);
bIterator = DeserializeInteger (&n, -30, 30, bIterator);
elem.reportConfigEutra.a3Offset = n;
@@ -3341,14 +3341,14 @@ RrcAsn1Header::DeserializeMeasConfig (LteRrcSap::MeasConfig * measConfig, Buffer
break;
case 3:
elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::eventA4;
elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A4;
bIterator = DeserializeSequence (&bitset0, false, bIterator);
bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold1, bIterator);
break;
case 4:
default:
elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::eventA5;
elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A5;
bIterator = DeserializeSequence (&bitset0, false, bIterator);
bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold1, bIterator);
bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold2, bIterator);
@@ -3415,17 +3415,17 @@ RrcAsn1Header::DeserializeMeasConfig (LteRrcSap::MeasConfig * measConfig, Buffer
if (triggerTypeChoice == 1)
{
// periodical
elem.reportConfigEutra.triggerType = LteRrcSap::ReportConfigEutra::periodical;
elem.reportConfigEutra.triggerType = LteRrcSap::ReportConfigEutra::PERIODICAL;
bIterator = DeserializeSequence (&bitset0, false, bIterator);
bIterator = DeserializeEnum (2, &n, bIterator);
if (n == 0)
{
elem.reportConfigEutra.purpose = LteRrcSap::ReportConfigEutra::reportStrongestCells;
elem.reportConfigEutra.purpose = LteRrcSap::ReportConfigEutra::REPORT_STRONGEST_CELLS;
}
else
{
elem.reportConfigEutra.purpose = LteRrcSap::ReportConfigEutra::reportCgi;
elem.reportConfigEutra.purpose = LteRrcSap::ReportConfigEutra::REPORT_CGI;
}
}
@@ -3433,22 +3433,22 @@ RrcAsn1Header::DeserializeMeasConfig (LteRrcSap::MeasConfig * measConfig, Buffer
bIterator = DeserializeEnum (2, &n, bIterator);
if (n == 0)
{
elem.reportConfigEutra.triggerQuantity = LteRrcSap::ReportConfigEutra::rsrp;
elem.reportConfigEutra.triggerQuantity = LteRrcSap::ReportConfigEutra::RSRP;
}
else
{
elem.reportConfigEutra.triggerQuantity = LteRrcSap::ReportConfigEutra::rsrq;
elem.reportConfigEutra.triggerQuantity = LteRrcSap::ReportConfigEutra::RSRQ;
}
// reportQuantity
bIterator = DeserializeEnum (2, &n, bIterator);
if (n == 0)
{
elem.reportConfigEutra.reportQuantity = LteRrcSap::ReportConfigEutra::sameAsTriggerQuantity;
elem.reportConfigEutra.reportQuantity = LteRrcSap::ReportConfigEutra::SAME_AS_TRIGGER_QUANTITY;
}
else
{
elem.reportConfigEutra.reportQuantity = LteRrcSap::ReportConfigEutra::both;
elem.reportConfigEutra.reportQuantity = LteRrcSap::ReportConfigEutra::BOTH;
}
// maxReportCells
@@ -3460,53 +3460,53 @@ RrcAsn1Header::DeserializeMeasConfig (LteRrcSap::MeasConfig * measConfig, Buffer
switch (n)
{
case 0:
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::ms120;
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS120;
break;
case 1:
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::ms240;
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS240;
break;
case 2:
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::ms480;
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS480;
break;
case 3:
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::ms640;
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS640;
break;
case 4:
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::ms1024;
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS1024;
break;
case 5:
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::ms2048;
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS2048;
break;
case 6:
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::ms5120;
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS5120;
break;
case 7:
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::ms10240;
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS10240;
break;
case 8:
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::min1;
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN1;
break;
case 9:
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::min6;
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN6;
break;
case 10:
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::min12;
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN12;
break;
case 11:
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::min30;
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN30;
break;
case 12:
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::min60;
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN60;
break;
case 13:
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::spare3;
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::SPARE3;
break;
case 14:
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::spare2;
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::SPARE2;
break;
case 15:
default:
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::spare1;
elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::SPARE1;
}
// reportAmount
@@ -3746,13 +3746,13 @@ RrcAsn1Header::DeserializeMeasConfig (LteRrcSap::MeasConfig * measConfig, Buffer
switch (gapOffsetChoice)
{
case 0:
measConfig->measGapConfig.gapOffsetChoice = LteRrcSap::MeasGapConfig::gp0;
measConfig->measGapConfig.gapOffsetChoice = LteRrcSap::MeasGapConfig::GP0;
bIterator = DeserializeInteger (&n, 0, 39, bIterator);
measConfig->measGapConfig.gapOffsetValue = n;
break;
case 1:
default:
measConfig->measGapConfig.gapOffsetChoice = LteRrcSap::MeasGapConfig::gp1;
measConfig->measGapConfig.gapOffsetChoice = LteRrcSap::MeasGapConfig::GP1;
bIterator = DeserializeInteger (&n, 0, 79, bIterator);
measConfig->measGapConfig.gapOffsetValue = n;
}
@@ -4842,10 +4842,10 @@ RrcConnectionReconfigurationHeader::Print (std::ostream &os) const
{
os << " reportConfigId: " << (int)it->reportConfigId << std::endl;
os << " reportConfigEutra.triggerType " << (int)it->reportConfigEutra.triggerType << std::endl;
if (it->reportConfigEutra.triggerType == LteRrcSap::ReportConfigEutra::event)
if (it->reportConfigEutra.triggerType == LteRrcSap::ReportConfigEutra::EVENT)
{
os << " reportConfigEutra.eventId " << (int)it->reportConfigEutra.eventId << std::endl;
if (it->reportConfigEutra.eventId == LteRrcSap::ReportConfigEutra::eventA3)
if (it->reportConfigEutra.eventId == LteRrcSap::ReportConfigEutra::EVENT_A3)
{
os << " reportConfigEutra.reportOnLeave " << (int)it->reportConfigEutra.reportOnLeave << std::endl;
os << " reportConfigEutra.a3Offset " << (int)it->reportConfigEutra.a3Offset << std::endl;
@@ -4854,7 +4854,7 @@ RrcConnectionReconfigurationHeader::Print (std::ostream &os) const
{
os << " reportConfigEutra.threshold1.choice " << (int)it->reportConfigEutra.threshold1.choice << std::endl;
os << " reportConfigEutra.threshold1.range " << (int)it->reportConfigEutra.threshold1.range << std::endl;
if (it->reportConfigEutra.eventId == LteRrcSap::ReportConfigEutra::eventA5)
if (it->reportConfigEutra.eventId == LteRrcSap::ReportConfigEutra::EVENT_A5)
{
os << " reportConfigEutra.threshold2.choice " << (int)it->reportConfigEutra.threshold2.choice << std::endl;
os << " reportConfigEutra.threshold2.range " << (int)it->reportConfigEutra.threshold2.range << std::endl;

View File

@@ -35,7 +35,7 @@ class LteRlcSapUser;
class LtePdcpSapUser;
class LteRlcSapProvider;
class LtePdcpSapProvider;
class Packet;
class Packet;
/**
* Class holding definition common to all Ue/Enb SAP
@@ -52,7 +52,6 @@ class Packet;
class LteRrcSap
{
public:
virtual ~LteRrcSap ();
// Constraint values
@@ -73,7 +72,7 @@ public:
bool csgIndication;
uint32_t csgIdentity;
};
struct FreqInfo
{
uint16_t ulCarrierFreq;
@@ -83,12 +82,12 @@ public:
struct RlcConfig
{
enum
{
AM,
UM_BI_DIRECTIONAL,
UM_UNI_DIRECTIONAL_UL,
UM_UNI_DIRECTIONAL_DL
} choice;
{
AM,
UM_BI_DIRECTIONAL,
UM_UNI_DIRECTIONAL_UL,
UM_UNI_DIRECTIONAL_DL
} choice;
};
struct LogicalChannelConfig
@@ -101,14 +100,20 @@ public:
struct SoundingRsUlConfigCommon
{
enum {SETUP, RESET} type;
enum
{
SETUP, RESET
} type;
uint8_t srsBandwidthConfig;
uint8_t srsSubframeConfig;
};
struct SoundingRsUlConfigDedicated
{
enum {SETUP, RESET} type;
enum
{
SETUP, RESET
} type;
uint8_t srsBandwidth;
uint16_t srsConfigIndex;
};
@@ -130,10 +135,10 @@ public:
struct SrbToAddMod
{
uint8_t srbIdentity;
uint8_t srbIdentity;
LogicalChannelConfig logicalChannelConfig;
};
struct DrbToAddMod
{
uint8_t epsBearerIdentity;
@@ -147,7 +152,7 @@ public:
{
uint8_t numberOfRaPreambles;
};
struct RaSupervisionInfo
{
uint8_t preambleTransMax;
@@ -161,24 +166,24 @@ public:
};
struct RadioResourceConfigCommon
{
{
RachConfigCommon rachConfigCommon;
};
struct RadioResourceConfigCommonSib
{
{
RachConfigCommon rachConfigCommon;
};
struct RadioResourceConfigDedicated
{
std::list<SrbToAddMod> srbToAddModList;
std::list<DrbToAddMod> drbToAddModList;
std::list<DrbToAddMod> drbToAddModList;
std::list<uint8_t> drbToReleaseList;
bool havePhysicalConfigDedicated;
PhysicalConfigDedicated physicalConfigDedicated;
};
struct QuantityConfig
{
uint8_t filterCoefficientRSRP;
@@ -191,7 +196,7 @@ public:
uint16_t physCellId;
int8_t cellIndividualOffset;
};
struct PhysCellIdRange
{
uint16_t start;
@@ -204,7 +209,7 @@ public:
uint8_t cellIndex;
PhysCellIdRange physCellIdRange;
};
struct MeasObjectEutra
{
uint16_t carrierFreq;
@@ -219,35 +224,80 @@ public:
bool haveCellForWhichToReportCGI;
uint8_t cellForWhichToReportCGI;
};
struct ThresholdEutra
{
enum {thresholdRsrp, thresholdRsrq} choice;
enum
{
THRESHOLD_RSRP,
THRESHOLD_RSRQ
} choice;
uint8_t range;
};
struct ReportConfigEutra
{
enum {event,periodical} triggerType;
enum {eventA1,eventA2,eventA3,eventA4,eventA5} eventId;
enum
{
EVENT,
PERIODICAL
} triggerType;
enum
{
EVENT_A1,
EVENT_A2,
EVENT_A3,
EVENT_A4,
EVENT_A5
} eventId;
ThresholdEutra threshold1; // used for A1, A2, A4, A5
ThresholdEutra threshold2; // used for A5
bool reportOnLeave; // used for A3
int8_t a3Offset; // used for A3
uint8_t hysteresis;
uint16_t timeToTrigger;
enum {reportStrongestCells, reportCgi} purpose;
enum {rsrp, rsrq} triggerQuantity;
enum {sameAsTriggerQuantity, both} reportQuantity;
enum
{
REPORT_STRONGEST_CELLS,
REPORT_CGI
} purpose;
enum
{
RSRP,
RSRQ
} triggerQuantity;
enum
{
SAME_AS_TRIGGER_QUANTITY,
BOTH
} reportQuantity;
uint8_t maxReportCells;
enum {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240,
min1, min6, min12, min30, min60, spare3, spare2, spare1} reportInterval;
enum
{
MS120,
MS240,
MS480,
MS640,
MS1024,
MS2048,
MS5120,
MS10240,
MIN1,
MIN6,
MIN12,
MIN30,
MIN60,
SPARE3,
SPARE2,
SPARE1
} reportInterval;
uint8_t reportAmount;
};
struct MeasObjectToAddMod
{
uint8_t measObjectId;
uint8_t measObjectId;
MeasObjectEutra measObjectEutra;
};
@@ -266,11 +316,17 @@ public:
struct MeasGapConfig
{
enum {SETUP, RESET} type;
enum {gp0, gp1} gapOffsetChoice;
enum
{
SETUP, RESET
} type;
enum
{
GP0, GP1
} gapOffsetChoice;
uint8_t gapOffsetValue;
};
struct MobilityStateParameters
{
uint8_t tEvaluation;
@@ -278,7 +334,7 @@ public:
uint8_t nCellChangeMedium;
uint8_t nCellChangeHigh;
};
struct SpeedStateScaleFactors
{
// 25 = oDot25, 50 = oDot5, 75 = oDot75, 100 = lDot0
@@ -288,7 +344,11 @@ public:
struct SpeedStatePars
{
enum {SETUP, RESET} type;
enum
{
SETUP,
RESET
} type;
MobilityStateParameters mobilityStateParameters;
SpeedStateScaleFactors timeToTriggerSf;
};
@@ -323,7 +383,7 @@ public:
uint8_t ulBandwidth;
};
struct RachConfigDedicated
struct RachConfigDedicated
{
uint8_t raPreambleIndex;
uint8_t raPrachMaskIndex;
@@ -333,9 +393,9 @@ public:
{
uint16_t targetPhysCellId;
bool haveCarrierFreq;
CarrierFreqEutra carrierFreq;
CarrierFreqEutra carrierFreq;
bool haveCarrierBandwidth;
CarrierBandwidthEutra carrierBandwidth;
CarrierBandwidthEutra carrierBandwidth;
uint16_t newUeIdentity;
RadioResourceConfigCommon radioResourceConfigCommon;
bool haveRachConfigDedicated;
@@ -345,11 +405,11 @@ public:
struct ReestabUeIdentity
{
uint16_t cRnti;
uint16_t physCellId;
uint16_t physCellId;
};
enum ReestablishmentCause
{
enum ReestablishmentCause
{
RECONFIGURATION_FAILURE,
HANDOVER_FAILURE,
OTHER_FAILURE
@@ -360,7 +420,7 @@ public:
uint8_t dlBandwidth;
uint8_t systemFrameNumber;
};
struct SystemInformationBlockType1
{
CellAccessRelatedInfo cellAccessRelatedInfo;
@@ -369,7 +429,7 @@ public:
struct SystemInformationBlockType2
{
RadioResourceConfigCommonSib radioResourceConfigCommon;
FreqInfo freqInfo;
FreqInfo freqInfo;
};
struct SystemInformation
@@ -382,7 +442,7 @@ public:
{
MeasConfig sourceMeasConfig;
RadioResourceConfigDedicated sourceRadioResourceConfig;
uint16_t sourceUeIdentity;
uint16_t sourceUeIdentity;
MasterInformationBlock sourceMasterInformationBlock;
SystemInformationBlockType1 sourceSystemInformationBlockType1;
SystemInformationBlockType2 sourceSystemInformationBlockType2;
@@ -429,7 +489,7 @@ public:
uint8_t rrcTransactionIdentifier;
RadioResourceConfigDedicated radioResourceConfigDedicated;
};
struct RrcConnectionSetupCompleted
{
uint8_t rrcTransactionIdentifier;
@@ -445,25 +505,25 @@ public:
bool haveRadioResourceConfigDedicated;
RadioResourceConfigDedicated radioResourceConfigDedicated;
};
struct RrcConnectionReconfigurationCompleted
{
uint8_t rrcTransactionIdentifier;
};
struct RrcConnectionReestablishmentRequest
{
ReestabUeIdentity ueIdentity;
ReestablishmentCause reestablishmentCause;
};
struct RrcConnectionReestablishment
{
uint8_t rrcTransactionIdentifier;
RadioResourceConfigDedicated radioResourceConfigDedicated;
};
struct RrcConnectionReestablishmentComplete
{
uint8_t rrcTransactionIdentifier;
@@ -487,7 +547,7 @@ public:
{
AsConfig asConfig;
};
struct MeasurementReport
{
MeasResults measResults;
@@ -501,16 +561,15 @@ public:
* Service Access Point (SAP) used by the UE RRC to send messages to
* the eNB. Each method defined in this class correspond to the
* transmission of a message that is defined in section 6.2.2 of TS
* 36.331.
* 36.331.
*/
class LteUeRrcSapUser : public LteRrcSap
{
public:
struct SetupParameters
struct SetupParameters
{
LteRlcSapProvider* srb0SapProvider;
LtePdcpSapProvider* srb1SapProvider;
LtePdcpSapProvider* srb1SapProvider;
};
virtual void Setup (SetupParameters params) = 0;
@@ -527,16 +586,15 @@ public:
* Service Access Point (SAP) used to let the UE RRC receive a message
* from the eNB RRC. Each method defined in this class correspond to
* the reception of a message that is defined in section 6.2.2 of TS
* 36.331.
* 36.331.
*/
class LteUeRrcSapProvider : public LteRrcSap
{
public:
struct CompleteSetupParameters
struct CompleteSetupParameters
{
LteRlcSapUser* srb0SapUser;
LtePdcpSapUser* srb1SapUser;
LtePdcpSapUser* srb1SapUser;
};
virtual void CompleteSetup (CompleteSetupParameters params) = 0;
@@ -557,16 +615,15 @@ public:
* Service Access Point (SAP) used by the eNB RRC to send messages to
* the UE RC. Each method defined in this class correspond to
* the transmission of a message that is defined in section 6.2.2 of TS
* 36.331.
* 36.331.
*/
class LteEnbRrcSapUser : public LteRrcSap
{
public:
struct SetupUeParameters
struct SetupUeParameters
{
LteRlcSapProvider* srb0SapProvider;
LtePdcpSapProvider* srb1SapProvider;
LtePdcpSapProvider* srb1SapProvider;
};
virtual void SetupUe (uint16_t rnti, SetupUeParameters params) = 0;
@@ -591,17 +648,15 @@ public:
* Service Access Point (SAP) used to let the eNB RRC receive a
* message from a UE RRC. Each method defined in this class correspond to
* the reception of a message that is defined in section 6.2.2 of TS
* 36.331.
* 36.331.
*/
class LteEnbRrcSapProvider : public LteRrcSap
{
public:
struct CompleteSetupUeParameters
struct CompleteSetupUeParameters
{
LteRlcSapUser* srb0SapUser;
LtePdcpSapUser* srb1SapUser;
LtePdcpSapUser* srb1SapUser;
};
virtual void CompleteSetupUe (uint16_t rnti, CompleteSetupUeParameters params) = 0;
@@ -627,7 +682,7 @@ public:
/**
* Template for the implementation of the LteUeRrcSapUser as a member
* of an owner class of type C to which all methods are forwarded
*
*
*/
template <class C>
class MemberLteUeRrcSapUser : public LteUeRrcSapUser
@@ -643,7 +698,7 @@ public:
virtual void SendRrcConnectionReestablishmentRequest (RrcConnectionReestablishmentRequest msg);
virtual void SendRrcConnectionReestablishmentComplete (RrcConnectionReestablishmentComplete msg);
virtual void SendMeasurementReport (MeasurementReport msg);
private:
MemberLteUeRrcSapUser ();
C* m_owner;
@@ -661,49 +716,49 @@ MemberLteUeRrcSapUser<C>::MemberLteUeRrcSapUser ()
}
template <class C>
void
void
MemberLteUeRrcSapUser<C>::Setup (SetupParameters params)
{
m_owner->DoSetup (params);
}
template <class C>
void
void
MemberLteUeRrcSapUser<C>::SendRrcConnectionRequest (RrcConnectionRequest msg)
{
m_owner->DoSendRrcConnectionRequest (msg);
}
template <class C>
void
void
MemberLteUeRrcSapUser<C>::SendRrcConnectionSetupCompleted (RrcConnectionSetupCompleted msg)
{
m_owner->DoSendRrcConnectionSetupCompleted (msg);
}
template <class C>
void
MemberLteUeRrcSapUser<C>::SendRrcConnectionReconfigurationCompleted (RrcConnectionReconfigurationCompleted msg)
void
MemberLteUeRrcSapUser<C>::SendRrcConnectionReconfigurationCompleted (RrcConnectionReconfigurationCompleted msg)
{
m_owner->DoSendRrcConnectionReconfigurationCompleted (msg) ;
m_owner->DoSendRrcConnectionReconfigurationCompleted (msg);
}
template <class C>
void
void
MemberLteUeRrcSapUser<C>::SendRrcConnectionReestablishmentRequest (RrcConnectionReestablishmentRequest msg)
{
m_owner->DoSendRrcConnectionReestablishmentRequest (msg);
}
template <class C>
void
void
MemberLteUeRrcSapUser<C>::SendRrcConnectionReestablishmentComplete (RrcConnectionReestablishmentComplete msg)
{
m_owner->DoSendRrcConnectionReestablishmentComplete (msg);
}
template <class C>
void
void
MemberLteUeRrcSapUser<C>::SendMeasurementReport (MeasurementReport msg)
{
m_owner->DoSendMeasurementReport (msg);
@@ -712,7 +767,7 @@ MemberLteUeRrcSapUser<C>::SendMeasurementReport (MeasurementReport msg)
/**
* Template for the implementation of the LteUeRrcSapProvider as a member
* of an owner class of type C to which all methods are forwarded
*
*
*/
template <class C>
class MemberLteUeRrcSapProvider : public LteUeRrcSapProvider
@@ -720,7 +775,7 @@ class MemberLteUeRrcSapProvider : public LteUeRrcSapProvider
public:
MemberLteUeRrcSapProvider (C* owner);
// methods inherited from LteUeRrcSapProvider go here
// methods inherited from LteUeRrcSapProvider go here
virtual void CompleteSetup (CompleteSetupParameters params);
virtual void RecvMasterInformationBlock (MasterInformationBlock msg);
virtual void RecvSystemInformationBlockType1 (SystemInformationBlockType1 msg);
@@ -749,70 +804,70 @@ MemberLteUeRrcSapProvider<C>::MemberLteUeRrcSapProvider ()
}
template <class C>
void
void
MemberLteUeRrcSapProvider<C>::CompleteSetup (CompleteSetupParameters params)
{
m_owner->DoCompleteSetup (params);
}
template <class C>
void
void
MemberLteUeRrcSapProvider<C>::RecvMasterInformationBlock (MasterInformationBlock msg)
{
Simulator::ScheduleNow (&C::DoRecvMasterInformationBlock, m_owner, msg);
}
template <class C>
void
void
MemberLteUeRrcSapProvider<C>::RecvSystemInformationBlockType1 (SystemInformationBlockType1 msg)
{
Simulator::ScheduleNow (&C::DoRecvSystemInformationBlockType1, m_owner, msg);
}
template <class C>
void
void
MemberLteUeRrcSapProvider<C>::RecvSystemInformation (SystemInformation msg)
{
Simulator::ScheduleNow (&C::DoRecvSystemInformation, m_owner, msg);
}
template <class C>
void
void
MemberLteUeRrcSapProvider<C>::RecvRrcConnectionSetup (RrcConnectionSetup msg)
{
Simulator::ScheduleNow (&C::DoRecvRrcConnectionSetup, m_owner, msg);
}
template <class C>
void
void
MemberLteUeRrcSapProvider<C>::RecvRrcConnectionReconfiguration (RrcConnectionReconfiguration msg)
{
Simulator::ScheduleNow (&C::DoRecvRrcConnectionReconfiguration, m_owner, msg);
}
template <class C>
void
void
MemberLteUeRrcSapProvider<C>::RecvRrcConnectionReestablishment (RrcConnectionReestablishment msg)
{
Simulator::ScheduleNow (&C::DoRecvRrcConnectionReestablishment, m_owner, msg);
}
template <class C>
void
void
MemberLteUeRrcSapProvider<C>::RecvRrcConnectionReestablishmentReject (RrcConnectionReestablishmentReject msg)
{
Simulator::ScheduleNow (&C::DoRecvRrcConnectionReestablishmentReject, m_owner, msg);
}
template <class C>
void
void
MemberLteUeRrcSapProvider<C>::RecvRrcConnectionRelease (RrcConnectionRelease msg)
{
Simulator::ScheduleNow (&C::DoRecvRrcConnectionRelease, m_owner, msg);
}
template <class C>
void
void
MemberLteUeRrcSapProvider<C>::RecvRrcConnectionReject (RrcConnectionReject msg)
{
Simulator::ScheduleNow (&C::DoRecvRrcConnectionReject, m_owner, msg);
@@ -822,7 +877,7 @@ MemberLteUeRrcSapProvider<C>::RecvRrcConnectionReject (RrcConnectionReject msg)
/**
* Template for the implementation of the LteEnbRrcSapUser as a member
* of an owner class of type C to which all methods are forwarded
*
*
*/
template <class C>
class MemberLteEnbRrcSapUser : public LteEnbRrcSapUser
@@ -865,91 +920,91 @@ MemberLteEnbRrcSapUser<C>::MemberLteEnbRrcSapUser ()
}
template <class C>
void
void
MemberLteEnbRrcSapUser<C>::SetupUe (uint16_t rnti, SetupUeParameters params)
{
m_owner->DoSetupUe (rnti, params);
}
template <class C>
void
void
MemberLteEnbRrcSapUser<C>::RemoveUe (uint16_t rnti)
{
m_owner->DoRemoveUe (rnti);
}
template <class C>
void
void
MemberLteEnbRrcSapUser<C>::SendMasterInformationBlock (MasterInformationBlock msg)
{
m_owner->DoSendMasterInformationBlock (msg);
}
template <class C>
void
void
MemberLteEnbRrcSapUser<C>::SendSystemInformationBlockType1 (SystemInformationBlockType1 msg)
{
m_owner->DoSendSystemInformationBlockType1 (msg);
}
template <class C>
void
void
MemberLteEnbRrcSapUser<C>::SendSystemInformation (SystemInformation msg)
{
m_owner->DoSendSystemInformation (msg);
}
template <class C>
void
MemberLteEnbRrcSapUser<C>::SendRrcConnectionSetup (uint16_t rnti, RrcConnectionSetup msg)
void
MemberLteEnbRrcSapUser<C>::SendRrcConnectionSetup (uint16_t rnti, RrcConnectionSetup msg)
{
m_owner->DoSendRrcConnectionSetup (rnti, msg) ;
m_owner->DoSendRrcConnectionSetup (rnti, msg);
}
template <class C>
void
void
MemberLteEnbRrcSapUser<C>::SendRrcConnectionReconfiguration (uint16_t rnti, RrcConnectionReconfiguration msg)
{
m_owner->DoSendRrcConnectionReconfiguration (rnti, msg);
}
template <class C>
void
void
MemberLteEnbRrcSapUser<C>::SendRrcConnectionReestablishment (uint16_t rnti, RrcConnectionReestablishment msg)
{
m_owner->DoSendRrcConnectionReestablishment (rnti, msg);
}
template <class C>
void
void
MemberLteEnbRrcSapUser<C>::SendRrcConnectionReestablishmentReject (uint16_t rnti, RrcConnectionReestablishmentReject msg)
{
m_owner->DoSendRrcConnectionReestablishmentReject (rnti, msg);
}
template <class C>
void
void
MemberLteEnbRrcSapUser<C>::SendRrcConnectionRelease (uint16_t rnti, RrcConnectionRelease msg)
{
m_owner->DoSendRrcConnectionRelease (rnti, msg);
}
template <class C>
void
void
MemberLteEnbRrcSapUser<C>::SendRrcConnectionReject (uint16_t rnti, RrcConnectionReject msg)
{
m_owner->DoSendRrcConnectionReject (rnti, msg);
}
template <class C>
Ptr<Packet>
Ptr<Packet>
MemberLteEnbRrcSapUser<C>::EncodeHandoverPreparationInformation (HandoverPreparationInfo msg)
{
return m_owner->DoEncodeHandoverPreparationInformation (msg);
}
template <class C>
LteRrcSap::HandoverPreparationInfo
LteRrcSap::HandoverPreparationInfo
MemberLteEnbRrcSapUser<C>::DecodeHandoverPreparationInformation (Ptr<Packet> p)
{
return m_owner->DoDecodeHandoverPreparationInformation (p);
@@ -957,14 +1012,14 @@ MemberLteEnbRrcSapUser<C>::DecodeHandoverPreparationInformation (Ptr<Packet> p)
template <class C>
Ptr<Packet>
Ptr<Packet>
MemberLteEnbRrcSapUser<C>::EncodeHandoverCommand (RrcConnectionReconfiguration msg)
{
return m_owner->DoEncodeHandoverCommand (msg);
}
template <class C>
LteRrcSap::RrcConnectionReconfiguration
LteRrcSap::RrcConnectionReconfiguration
MemberLteEnbRrcSapUser<C>::DecodeHandoverCommand (Ptr<Packet> p)
{
return m_owner->DoDecodeHandoverCommand (p);
@@ -973,7 +1028,7 @@ MemberLteEnbRrcSapUser<C>::DecodeHandoverCommand (Ptr<Packet> p)
/**
* Template for the implementation of the LteEnbRrcSapProvider as a member
* of an owner class of type C to which all methods are forwarded
*
*
*/
template <class C>
class MemberLteEnbRrcSapProvider : public LteEnbRrcSapProvider
@@ -981,8 +1036,8 @@ class MemberLteEnbRrcSapProvider : public LteEnbRrcSapProvider
public:
MemberLteEnbRrcSapProvider (C* owner);
// methods inherited from LteEnbRrcSapProvider go here
// methods inherited from LteEnbRrcSapProvider go here
virtual void CompleteSetupUe (uint16_t rnti, CompleteSetupUeParameters params);
virtual void RecvRrcConnectionRequest (uint16_t rnti, RrcConnectionRequest msg);
virtual void RecvRrcConnectionSetupCompleted (uint16_t rnti, RrcConnectionSetupCompleted msg);
@@ -1008,49 +1063,49 @@ MemberLteEnbRrcSapProvider<C>::MemberLteEnbRrcSapProvider ()
}
template <class C>
void
void
MemberLteEnbRrcSapProvider<C>::CompleteSetupUe (uint16_t rnti, CompleteSetupUeParameters params)
{
m_owner->DoCompleteSetupUe (rnti, params);
}
template <class C>
void
void
MemberLteEnbRrcSapProvider<C>::RecvRrcConnectionRequest (uint16_t rnti, RrcConnectionRequest msg)
{
Simulator::ScheduleNow (&C::DoRecvRrcConnectionRequest, m_owner, rnti, msg);
}
template <class C>
void
void
MemberLteEnbRrcSapProvider<C>::RecvRrcConnectionSetupCompleted (uint16_t rnti, RrcConnectionSetupCompleted msg)
{
Simulator::ScheduleNow (&C::DoRecvRrcConnectionSetupCompleted, m_owner, rnti, msg);
}
template <class C>
void
void
MemberLteEnbRrcSapProvider<C>::RecvRrcConnectionReconfigurationCompleted (uint16_t rnti, RrcConnectionReconfigurationCompleted msg)
{
Simulator::ScheduleNow (&C::DoRecvRrcConnectionReconfigurationCompleted, m_owner, rnti, msg);
}
template <class C>
void
void
MemberLteEnbRrcSapProvider<C>::RecvRrcConnectionReestablishmentRequest (uint16_t rnti, RrcConnectionReestablishmentRequest msg)
{
Simulator::ScheduleNow (&C::DoRecvRrcConnectionReestablishmentRequest, m_owner, rnti, msg);
}
template <class C>
void
void
MemberLteEnbRrcSapProvider<C>::RecvRrcConnectionReestablishmentComplete (uint16_t rnti, RrcConnectionReestablishmentComplete msg)
{
Simulator::ScheduleNow (&C::DoRecvRrcConnectionReestablishmentComplete, m_owner, rnti, msg);
}
template <class C>
void
void
MemberLteEnbRrcSapProvider<C>::RecvMeasurementReport (uint16_t rnti, MeasurementReport msg)
{
Simulator::ScheduleNow (&C::DoRecvMeasurementReport, m_owner, rnti, msg);

View File

@@ -606,7 +606,7 @@ LteUeRrc::DoReportUeMeasurements (LteUeCphySapUser::UeMeasurementsParameters par
// we don't check the purpose field, as it is only included for
// triggerType == periodical, which is not supported
NS_ASSERT_MSG (reportConfigEutra.triggerType
== LteRrcSap::ReportConfigEutra::event,
== LteRrcSap::ReportConfigEutra::EVENT,
"only triggerType == event is supported");
// only EUTRA is supported, no need to check for it
@@ -618,25 +618,25 @@ LteUeRrc::DoReportUeMeasurements (LteUeCphySapUser::UeMeasurementsParameters par
switch (reportConfigEutra.eventId)
{
case LteRrcSap::ReportConfigEutra::eventA2:
case LteRrcSap::ReportConfigEutra::EVENT_A2:
{
double ms; // Ms, the measurement for serving cell
double thresh; // Tresh, the threshold parameter for this event
double hys = (double) reportConfigEutra.hysteresis * 0.5; // Hys, the hysteresis parameter for this event. See 36.331 section 6.3.5 for the conversion.
switch (reportConfigEutra.triggerQuantity)
{
case LteRrcSap::ReportConfigEutra::rsrp:
case LteRrcSap::ReportConfigEutra::RSRP:
ms = m_storedMeasValues[m_cellId].rsrp;
//ms = EutranMeasurementMapping::QuantizeRsrp (m_storedMeasValues[m_cellId].rsrp);
NS_ASSERT (reportConfigEutra.threshold1.choice
== LteRrcSap::ThresholdEutra::thresholdRsrp);
== LteRrcSap::ThresholdEutra::THRESHOLD_RSRP);
thresh = EutranMeasurementMapping::RsrpRange2Dbm (reportConfigEutra.threshold1.range);
break;
case LteRrcSap::ReportConfigEutra::rsrq:
case LteRrcSap::ReportConfigEutra::RSRQ:
ms = m_storedMeasValues[m_cellId].rsrq;
//ms = EutranMeasurementMapping::QuantizeRsrq (m_storedMeasValues[m_cellId].rsrq);
NS_ASSERT (reportConfigEutra.threshold1.choice
== LteRrcSap::ThresholdEutra::thresholdRsrq);
== LteRrcSap::ThresholdEutra::THRESHOLD_RSRQ);
thresh = EutranMeasurementMapping::RsrqRange2Db (reportConfigEutra.threshold1.range);
break;
default:
@@ -668,7 +668,7 @@ LteUeRrc::DoReportUeMeasurements (LteUeCphySapUser::UeMeasurementsParameters par
}
break;
case LteRrcSap::ReportConfigEutra::eventA4:
case LteRrcSap::ReportConfigEutra::EVENT_A4:
{
for (std::map<uint16_t, MeasValues>::iterator storedMeasIt = m_storedMeasValues.begin ();
storedMeasIt != m_storedMeasValues.end ();
@@ -682,18 +682,18 @@ LteUeRrc::DoReportUeMeasurements (LteUeCphySapUser::UeMeasurementsParameters par
double hys = (double) reportConfigEutra.hysteresis * 0.5; // Hys, the hysteresis parameter for this event. See 36.331 section 6.3.5 for the conversion.
switch (reportConfigEutra.triggerQuantity)
{
case LteRrcSap::ReportConfigEutra::rsrp:
case LteRrcSap::ReportConfigEutra::RSRP:
mn = storedMeasIt->second.rsrp;
//mn = EutranMeasurementMapping::QuantizeRsrp (storedMeasIt->second.rsrp);
NS_ASSERT (reportConfigEutra.threshold1.choice
== LteRrcSap::ThresholdEutra::thresholdRsrp);
== LteRrcSap::ThresholdEutra::THRESHOLD_RSRP);
thresh = EutranMeasurementMapping::RsrpRange2Dbm (reportConfigEutra.threshold1.range);
break;
case LteRrcSap::ReportConfigEutra::rsrq:
case LteRrcSap::ReportConfigEutra::RSRQ:
mn = storedMeasIt->second.rsrq;
//mn = EutranMeasurementMapping::QuantizeRsrq (storedMeasIt->second.rsrq);
NS_ASSERT (reportConfigEutra.threshold1.choice
== LteRrcSap::ThresholdEutra::thresholdRsrq);
== LteRrcSap::ThresholdEutra::THRESHOLD_RSRQ);
thresh = EutranMeasurementMapping::RsrqRange2Db (reportConfigEutra.threshold1.range);
break;
default:
@@ -772,7 +772,7 @@ LteUeRrc::DoReportUeMeasurements (LteUeCphySapUser::UeMeasurementsParameters par
}
// reportOnLeave will only be set when eventId = eventA3
if(reportConfigEutra.eventId == LteRrcSap::ReportConfigEutra::eventA3)
//if(reportConfigEutra.eventId == LteRrcSap::ReportConfigEutra::eventA3)
{
if (reportConfigEutra.reportOnLeave)
{
@@ -1288,10 +1288,10 @@ LteUeRrc::ApplyMeasConfig (LteRrcSap::MeasConfig mc)
++it)
{
// simplifying assumptions
NS_ASSERT_MSG (it->reportConfigEutra.triggerType == LteRrcSap::ReportConfigEutra::event,
NS_ASSERT_MSG (it->reportConfigEutra.triggerType == LteRrcSap::ReportConfigEutra::EVENT,
"only trigger type EVENT is supported");
NS_ASSERT_MSG (it->reportConfigEutra.eventId == LteRrcSap::ReportConfigEutra::eventA2
|| it->reportConfigEutra.eventId == LteRrcSap::ReportConfigEutra::eventA4,
NS_ASSERT_MSG (it->reportConfigEutra.eventId == LteRrcSap::ReportConfigEutra::EVENT_A2
|| it->reportConfigEutra.eventId == LteRrcSap::ReportConfigEutra::EVENT_A4,
"only events A2 and A4 are supported");
NS_ASSERT_MSG (it->reportConfigEutra.timeToTrigger == 0, "timeToTrigger > 0 is not supported");
@@ -1394,7 +1394,7 @@ LteUeRrc::ApplyMeasConfig (LteRrcSap::MeasConfig mc)
m_varMeasReportList.erase (measReportIt);
}
NS_ASSERT (m_varMeasConfig.reportConfigList.find (it->reportConfigId)
->second.reportConfigEutra.triggerType != LteRrcSap::ReportConfigEutra::periodical);
->second.reportConfigEutra.triggerType != LteRrcSap::ReportConfigEutra::PERIODICAL);
}
@@ -1464,10 +1464,10 @@ LteUeRrc::SendMeasurementReport (uint8_t measId)
double triggerValue;
switch (reportConfigEutra.triggerQuantity)
{
case LteRrcSap::ReportConfigEutra::rsrp:
case LteRrcSap::ReportConfigEutra::RSRP:
triggerValue = neighborMeasIt->second.rsrp;
break;
case LteRrcSap::ReportConfigEutra::rsrq:
case LteRrcSap::ReportConfigEutra::RSRQ:
triggerValue = neighborMeasIt->second.rsrq;
break;
default:
@@ -1515,7 +1515,7 @@ LteUeRrc::SendMeasurementReport (uint8_t measId)
uint32_t intervalMs;
switch (reportConfigEutra.reportInterval)
{
case LteRrcSap::ReportConfigEutra::ms480:
case LteRrcSap::ReportConfigEutra::MS480:
intervalMs = 480;
break;

View File

@@ -458,7 +458,7 @@ RrcConnectionReconfigurationTestCase::DoRun (void)
msg.measConfig.haveMeasGapConfig = true;
msg.measConfig.measGapConfig.type = LteRrcSap::MeasGapConfig::SETUP;
msg.measConfig.measGapConfig.gapOffsetChoice = LteRrcSap::MeasGapConfig::gp0;
msg.measConfig.measGapConfig.gapOffsetChoice = LteRrcSap::MeasGapConfig::GP0;
msg.measConfig.measGapConfig.gapOffsetValue = 21;
msg.measConfig.haveSmeasure = true;
@@ -511,21 +511,21 @@ RrcConnectionReconfigurationTestCase::DoRun (void)
// Set reportConfigToAddModList
LteRrcSap::ReportConfigToAddMod reportConfigToAddMod;
reportConfigToAddMod.reportConfigId = 22;
reportConfigToAddMod.reportConfigEutra.triggerType = LteRrcSap::ReportConfigEutra::event;
reportConfigToAddMod.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::eventA2;
reportConfigToAddMod.reportConfigEutra.threshold1.choice = LteRrcSap::ThresholdEutra::thresholdRsrp;
reportConfigToAddMod.reportConfigEutra.triggerType = LteRrcSap::ReportConfigEutra::EVENT;
reportConfigToAddMod.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A2;
reportConfigToAddMod.reportConfigEutra.threshold1.choice = LteRrcSap::ThresholdEutra::THRESHOLD_RSRP;
reportConfigToAddMod.reportConfigEutra.threshold1.range = 15;
reportConfigToAddMod.reportConfigEutra.threshold2.choice = LteRrcSap::ThresholdEutra::thresholdRsrq;
reportConfigToAddMod.reportConfigEutra.threshold2.choice = LteRrcSap::ThresholdEutra::THRESHOLD_RSRQ;
reportConfigToAddMod.reportConfigEutra.threshold2.range = 10;
reportConfigToAddMod.reportConfigEutra.reportOnLeave = true;
reportConfigToAddMod.reportConfigEutra.a3Offset = -25;
reportConfigToAddMod.reportConfigEutra.hysteresis = 18;
reportConfigToAddMod.reportConfigEutra.timeToTrigger = 100;
reportConfigToAddMod.reportConfigEutra.purpose = LteRrcSap::ReportConfigEutra::reportStrongestCells;
reportConfigToAddMod.reportConfigEutra.triggerQuantity = LteRrcSap::ReportConfigEutra::rsrq;
reportConfigToAddMod.reportConfigEutra.reportQuantity = LteRrcSap::ReportConfigEutra::sameAsTriggerQuantity;
reportConfigToAddMod.reportConfigEutra.purpose = LteRrcSap::ReportConfigEutra::REPORT_STRONGEST_CELLS;
reportConfigToAddMod.reportConfigEutra.triggerQuantity = LteRrcSap::ReportConfigEutra::RSRQ;
reportConfigToAddMod.reportConfigEutra.reportQuantity = LteRrcSap::ReportConfigEutra::SAME_AS_TRIGGER_QUANTITY;
reportConfigToAddMod.reportConfigEutra.maxReportCells = 5;
reportConfigToAddMod.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::min60;
reportConfigToAddMod.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN60;
reportConfigToAddMod.reportConfigEutra.reportAmount = 16;
msg.measConfig.reportConfigToAddModList.push_back (reportConfigToAddMod);