Index: src/lte/model/ff-mac-common.h |
=================================================================== |
--- a/src/lte/model/ff-mac-common.h |
+++ b/src/lte/model/ff-mac-common.h |
@@ -56,18 +56,21 @@ |
namespace ns3 { |
+/// Result_e enumeration |
enum Result_e |
{ |
SUCCESS, |
FAILURE |
}; |
+/// SetupRelease_e enumeration |
enum SetupRelease_e |
{ |
setup, |
release |
}; |
+/// CeBitmap_e |
enum CeBitmap_e |
{ |
TA, |
@@ -75,6 +78,7 @@ |
CR |
}; |
+/// NormalExtended_e enumeration |
enum NormalExtended_e |
{ |
normal, |
@@ -84,68 +88,73 @@ |
/** |
* \brief See section 4.3.1 dlDciListElement |
+ * \struct DlDciListElement_s |
*/ |
struct DlDciListElement_s |
{ |
- uint16_t m_rnti; |
- uint32_t m_rbBitmap; |
- uint8_t m_rbShift; |
- uint8_t m_resAlloc; |
- std::vector <uint16_t> m_tbsSize; |
- std::vector <uint8_t> m_mcs; |
- std::vector <uint8_t> m_ndi; |
- std::vector <uint8_t> m_rv; |
- uint8_t m_cceIndex; |
- uint8_t m_aggrLevel; |
- uint8_t m_precodingInfo; |
+ uint16_t m_rnti; ///< RNTI |
+ uint32_t m_rbBitmap; ///< rb bitmap |
+ uint8_t m_rbShift; ///< rb shift |
+ uint8_t m_resAlloc; ///< res allocate |
+ std::vector <uint16_t> m_tbsSize; ///< tbs size |
+ std::vector <uint8_t> m_mcs; ///< mcs |
+ std::vector <uint8_t> m_ndi; ///< ndi |
+ std::vector <uint8_t> m_rv; ///< rv |
+ uint8_t m_cceIndex; ///< CCE index |
+ uint8_t m_aggrLevel; ///< aggr level |
+ uint8_t m_precodingInfo; ///< precoding info |
+ /// Format enumeration |
enum Format_e |
{ |
ONE, ONE_A, ONE_B, ONE_C, ONE_D, TWO, TWO_A, TWO_B |
- } m_format; |
- uint8_t m_tpc; |
- uint8_t m_harqProcess; |
- uint8_t m_dai; |
+ } m_format; ///< the format |
+ uint8_t m_tpc; ///< TPC |
+ uint8_t m_harqProcess; ///< HARQ process |
+ uint8_t m_dai; ///< DAI |
+ /// Vrb Format enum |
enum VrbFormat_e |
{ |
VRB_DISTRIBUTED, |
VRB_LOCALIZED |
- } m_vrbFormat; |
- bool m_tbSwap; |
- bool m_spsRelease; |
- bool m_pdcchOrder; |
- uint8_t m_preambleIndex; |
- uint8_t m_prachMaskIndex; |
+ } m_vrbFormat; ///< the format |
+ bool m_tbSwap; ///< swap? |
+ bool m_spsRelease; ///< release? |
+ bool m_pdcchOrder; ///< cch order? |
+ uint8_t m_preambleIndex; ///< preamble index |
+ uint8_t m_prachMaskIndex; ///< RACH mask index |
+ /// Ngap enum |
enum Ngap_e |
{ |
GAP1, GAP2 |
- } m_nGap; |
- uint8_t m_tbsIdx; |
- uint8_t m_dlPowerOffset; |
- uint8_t m_pdcchPowerOffset; |
+ } m_nGap; ///< the gap |
+ uint8_t m_tbsIdx; ///< tbs index |
+ uint8_t m_dlPowerOffset; ///< DL power offset |
+ uint8_t m_pdcchPowerOffset; ///< CCH power offset |
}; |
/** |
* \brief See section 4.3.2 ulDciListElement |
+ * \struct UlDciListElement_s |
*/ |
struct UlDciListElement_s |
{ |
- uint16_t m_rnti; |
- uint8_t m_rbStart; |
- uint8_t m_rbLen; |
- uint16_t m_tbSize; |
- uint8_t m_mcs; |
- uint8_t m_ndi; |
- uint8_t m_cceIndex; |
- uint8_t m_aggrLevel; |
- uint8_t m_ueTxAntennaSelection; |
- bool m_hopping; |
- uint8_t m_n2Dmrs; |
- int8_t m_tpc; |
- bool m_cqiRequest; |
- uint8_t m_ulIndex; |
- uint8_t m_dai; |
- uint8_t m_freqHopping; |
- int8_t m_pdcchPowerOffset; |
+ uint16_t m_rnti; ///< RNTI |
+ uint8_t m_rbStart; ///< start |
+ uint8_t m_rbLen; ///< length |
+ uint16_t m_tbSize; ///< size |
+ uint8_t m_mcs; ///< MCS |
+ uint8_t m_ndi; ///< NDI |
+ uint8_t m_cceIndex; ///< CCE index |
+ uint8_t m_aggrLevel; ///< aggr level |
+ uint8_t m_ueTxAntennaSelection; ///< UE antenna selection |
+ bool m_hopping; ///< hopping? |
+ uint8_t m_n2Dmrs; ///< n2 DMRS |
+ int8_t m_tpc; ///< TPC |
+ bool m_cqiRequest; ///< CQI request |
+ uint8_t m_ulIndex; ///< UL index |
+ uint8_t m_dai; ///< DAI |
+ uint8_t m_freqHopping; ///< freq hopping |
+ int8_t m_pdcchPowerOffset; ///< CCH power offset |
}; |
/** |
@@ -159,61 +168,68 @@ |
/** |
* \brief See section 4.3.3 vendorSpecifiListElement |
+ * \struct VendorSpecificListElement_s |
*/ |
struct VendorSpecificListElement_s |
{ |
- uint32_t m_type; |
- uint32_t m_length; |
- Ptr<VendorSpecificValue> m_value; |
+ uint32_t m_type; ///< type |
+ uint32_t m_length; ///< length |
+ Ptr<VendorSpecificValue> m_value; ///< value |
}; |
/** |
* \brief See section 4.3.4 logicalChannelConfigListElement |
+ * \struct LogicalChannelConfigListElement_s |
*/ |
struct LogicalChannelConfigListElement_s |
{ |
- uint8_t m_logicalChannelIdentity; |
- uint8_t m_logicalChannelGroup; |
+ uint8_t m_logicalChannelIdentity; ///< logical channel indentity |
+ uint8_t m_logicalChannelGroup; ///< logical channel group |
+ /// Direction enum |
enum Direction_e |
{ |
DIR_UL, |
DIR_DL, |
DIR_BOTH |
- } m_direction; |
+ } m_direction; ///< the direction |
+ /// QosBearerType enum |
enum QosBearerType_e |
{ |
QBT_NON_GBR, |
QBT_GBR |
- } m_qosBearerType; |
+ } m_qosBearerType; ///< the QOS bearer type |
- uint8_t m_qci; |
- uint64_t m_eRabMaximulBitrateUl; |
- uint64_t m_eRabMaximulBitrateDl; |
- uint64_t m_eRabGuaranteedBitrateUl; |
- uint64_t m_eRabGuaranteedBitrateDl; |
+ uint8_t m_qci; ///< QCI |
+ uint64_t m_eRabMaximulBitrateUl; ///< ERAB maximum bit rate UL |
+ uint64_t m_eRabMaximulBitrateDl; ///< ERAB mqximum bit rate DL |
+ uint64_t m_eRabGuaranteedBitrateUl; ///< ERAB guaranteed bit rate UL |
+ uint64_t m_eRabGuaranteedBitrateDl; ///< ERAB guaranteed bit rate DL |
}; |
/** |
* \brief See section 4.3.6 rachListElement |
+ * \struct RachListElement_s |
*/ |
struct RachListElement_s |
{ |
- uint16_t m_rnti; |
- uint16_t m_estimatedSize; |
+ uint16_t m_rnti; ///< RNTI |
+ uint16_t m_estimatedSize; ///< estimated size |
}; |
/** |
* \brief See section 4.3.7 phichListElement |
+ * \struct PhichListElement_s |
*/ |
struct PhichListElement_s |
{ |
- uint16_t m_rnti; |
+ uint16_t m_rnti; ///< RNTI |
+ /// Phich enum |
enum Phich_e |
{ |
ACK, NACK |
- } m_phich; |
+ } m_phich; ///< the phich |
}; |
/** |
@@ -221,19 +237,20 @@ |
*/ |
struct RlcPduListElement_s |
{ |
- uint8_t m_logicalChannelIdentity; |
- uint16_t m_size; |
+ uint8_t m_logicalChannelIdentity; ///< logical channel indentity |
+ uint16_t m_size; ///< size |
}; |
/** |
* \brief See section 4.3.8 builDataListElement |
+ * \struct BuildDataListElement_s |
*/ |
struct BuildDataListElement_s |
{ |
- uint16_t m_rnti; |
- struct DlDciListElement_s m_dci; |
- std::vector <enum CeBitmap_e> m_ceBitmap; |
- std::vector < std::vector <struct RlcPduListElement_s> > m_rlcPduList; |
+ uint16_t m_rnti; ///< RNTI |
+ struct DlDciListElement_s m_dci; ///< DCI |
+ std::vector <enum CeBitmap_e> m_ceBitmap; ///< CE bitmap |
+ std::vector < std::vector <struct RlcPduListElement_s> > m_rlcPduList; ///< RLC PDU list |
}; |
/** |
@@ -241,15 +258,15 @@ |
*/ |
struct UlGrant_s |
{ |
- uint16_t m_rnti; |
- uint8_t m_rbStart; |
- uint8_t m_rbLen; |
- uint16_t m_tbSize; |
- uint8_t m_mcs; |
- bool m_hopping; |
- int8_t m_tpc; |
- bool m_cqiRequest; |
- bool m_ulDelay; |
+ uint16_t m_rnti; ///< RNTI |
+ uint8_t m_rbStart; ///< start |
+ uint8_t m_rbLen; ///< length |
+ uint16_t m_tbSize; ///< size |
+ uint8_t m_mcs; ///< MCS |
+ bool m_hopping; ///< hopping? |
+ int8_t m_tpc; ///< TPC |
+ bool m_cqiRequest; ///< CQI request? |
+ bool m_ulDelay; ///< UL delay? |
}; |
/** |
@@ -257,10 +274,10 @@ |
*/ |
struct BuildRarListElement_s |
{ |
- uint16_t m_rnti; |
+ uint16_t m_rnti; ///< RNTI |
//uint32_t m_grant; // Substituted with type UlGrant_s |
- UlGrant_s m_grant; |
- struct DlDciListElement_s m_dci; |
+ UlGrant_s m_grant; ///< grant |
+ struct DlDciListElement_s m_dci; ///< DCI |
}; |
/** |
@@ -268,12 +285,13 @@ |
*/ |
struct BuildBroadcastListElement_s |
{ |
+ /// Type enum |
enum Type_e |
{ |
BCCH, PCCH |
- } m_type; |
- uint8_t m_index; |
- struct DlDciListElement_s m_dci; |
+ } m_type; ///< the type |
+ uint8_t m_index; ///< index |
+ struct DlDciListElement_s m_dci; ///< DCI |
}; |
/** |
@@ -281,13 +299,14 @@ |
*/ |
struct UlInfoListElement_s |
{ |
- uint16_t m_rnti; |
- std::vector <uint16_t> m_ulReception; |
- enum ReceptionStatus_e |
+ uint16_t m_rnti; ///< RNTI |
+ std::vector <uint16_t> m_ulReception; ///< UL reception |
+ /// Reception status enum |
+ enum ReceptionStatus_e |
{ |
Ok, NotOk, NotValid |
- } m_receptionStatus; |
- uint8_t m_tpc; |
+ } m_receptionStatus; ///< the status |
+ uint8_t m_tpc; ///< TPC |
}; |
/** |
@@ -295,7 +314,7 @@ |
*/ |
struct SrListElement_s |
{ |
- uint16_t m_rnti; |
+ uint16_t m_rnti; ///< RNTI |
}; |
/** |
@@ -303,9 +322,9 @@ |
*/ |
struct MacCeValue_u |
{ |
- uint8_t m_phr; |
- uint8_t m_crnti; |
- std::vector <uint8_t> m_bufferStatus; |
+ uint8_t m_phr; ///< phr |
+ uint8_t m_crnti; ///< NRTI |
+ std::vector <uint8_t> m_bufferStatus; ///< buffer status |
}; |
/** |
@@ -313,12 +332,13 @@ |
*/ |
struct MacCeListElement_s |
{ |
- uint16_t m_rnti; |
+ uint16_t m_rnti; ///< RNTI |
+ /// MAC CE type enum |
enum MacCeType_e |
{ |
BSR, PHR, CRNTI |
- } m_macCeType; |
- struct MacCeValue_u m_macCeValue; |
+ } m_macCeType; ///< MAC CE type |
+ struct MacCeValue_u m_macCeValue; ///< MAC CE value |
}; |
/** |
@@ -326,13 +346,13 @@ |
*/ |
struct DrxConfig_s |
{ |
- uint8_t m_onDurationTimer; |
- uint16_t m_drxInactivityTimer; |
- uint16_t m_drxRetransmissionTimer; |
- uint16_t m_longDrxCycle; |
- uint16_t m_longDrxCycleStartOffset; |
- uint16_t m_shortDrxCycle; |
- uint8_t m_drxShortCycleTimer; |
+ uint8_t m_onDurationTimer; ///< on duration timer |
+ uint16_t m_drxInactivityTimer; ///< inactivity timer |
+ uint16_t m_drxRetransmissionTimer; ///< retransmission timer |
+ uint16_t m_longDrxCycle; ///< long DRX cycle |
+ uint16_t m_longDrxCycleStartOffset; ///< long DRX cycle start offset |
+ uint16_t m_shortDrxCycle; ///< short DRX cycle |
+ uint8_t m_drxShortCycleTimer; ///< short DRX cycle timer |
}; |
/** |
@@ -340,12 +360,12 @@ |
*/ |
struct SpsConfig_s |
{ |
- uint16_t m_semiPersistSchedIntervalUl; |
- uint16_t m_semiPersistSchedIntervalDl; |
- uint8_t m_numberOfConfSpsProcesses; |
- uint8_t m_n1PucchAnPersistentListSize; |
- std::vector <uint16_t> m_n1PucchAnPersistentList; |
- uint8_t m_implicitReleaseAfter; |
+ uint16_t m_semiPersistSchedIntervalUl; ///< UL semi persist schedule interval |
+ uint16_t m_semiPersistSchedIntervalDl; ///< DL semi persist schedule interval |
+ uint8_t m_numberOfConfSpsProcesses; ///< number of conf SPS process |
+ uint8_t m_n1PucchAnPersistentListSize; ///< N1pu CCH persistent list size |
+ std::vector <uint16_t> m_n1PucchAnPersistentList; ///< N1pu CCH persistent list |
+ uint8_t m_implicitReleaseAfter; ///< implicit release after |
}; |
/** |
@@ -353,9 +373,9 @@ |
*/ |
struct SrConfig_s |
{ |
- enum SetupRelease_e m_action; |
- uint8_t m_schedInterval; |
- uint8_t m_dsrTransMax; |
+ enum SetupRelease_e m_action; ///< action |
+ uint8_t m_schedInterval; ///< sched interval |
+ uint8_t m_dsrTransMax; ///< trans max |
}; |
/** |
@@ -363,9 +383,9 @@ |
*/ |
struct CqiConfig_s |
{ |
- enum SetupRelease_e m_action; |
- uint16_t m_cqiSchedInterval; |
- uint8_t m_riSchedInterval; |
+ enum SetupRelease_e m_action; ///< action |
+ uint16_t m_cqiSchedInterval; ///< CQI schedule interval |
+ uint8_t m_riSchedInterval; ///< RI schedule interval |
}; |
/** |
@@ -373,11 +393,11 @@ |
*/ |
struct UeCapabilities_s |
{ |
- bool m_halfDuplex; |
- bool m_intraSfHopping; |
- bool m_type2Sb1; |
- uint8_t m_ueCategory; |
- bool m_resAllocType1; |
+ bool m_halfDuplex; ///< half duplex |
+ bool m_intraSfHopping; ///< intra SF hopping |
+ bool m_type2Sb1; ///< type 2Sb1 |
+ uint8_t m_ueCategory; ///< UE category |
+ bool m_resAllocType1; ///< alloc type 1 |
}; |
/** |
@@ -385,8 +405,8 @@ |
*/ |
struct SiMessageListElement_s |
{ |
- uint16_t m_periodicity; |
- uint16_t m_length; |
+ uint16_t m_periodicity; ///< periodicity |
+ uint16_t m_length; ///< length |
}; |
/** |
@@ -394,10 +414,10 @@ |
*/ |
struct SiConfiguration_s |
{ |
- uint16_t m_sfn; |
- uint16_t m_sib1Length; |
- uint8_t m_siWindowLength; |
- std::vector <struct SiMessageListElement_s> m_siMessageList; |
+ uint16_t m_sfn; ///< sfn |
+ uint16_t m_sib1Length; ///< sib1 length |
+ uint8_t m_siWindowLength; ///< window length |
+ std::vector <struct SiMessageListElement_s> m_siMessageList; ///< message list |
}; |
/** |
@@ -405,13 +425,14 @@ |
*/ |
struct DlInfoListElement_s |
{ |
- uint16_t m_rnti; |
- uint8_t m_harqProcessId; |
+ uint16_t m_rnti; ///< RNTI |
+ uint8_t m_harqProcessId; ///< HARQ process ID |
+ /// HARQ status enum |
enum HarqStatus_e |
{ |
ACK, NACK, DTX |
}; |
- std::vector <enum HarqStatus_e> m_harqStatus; |
+ std::vector <enum HarqStatus_e> m_harqStatus; ///< HARQ status |
}; |
/** |
@@ -419,9 +440,9 @@ |
*/ |
struct BwPart_s |
{ |
- uint8_t m_bwPartIndex; |
- uint8_t m_sb; |
- uint8_t m_cqi; |
+ uint8_t m_bwPartIndex; ///< bw part index |
+ uint8_t m_sb; ///< sb |
+ uint8_t m_cqi; ///< CQI |
}; |
/** |
@@ -429,8 +450,8 @@ |
*/ |
struct HigherLayerSelected_s |
{ |
- uint8_t m_sbPmi; |
- std::vector <uint8_t> m_sbCqi; |
+ uint8_t m_sbPmi; ///< sb PMI |
+ std::vector <uint8_t> m_sbCqi; ///< sb CQI |
}; |
/** |
@@ -438,9 +459,9 @@ |
*/ |
struct UeSelected_s |
{ |
- std::vector <uint8_t> m_sbList; |
- uint8_t m_sbPmi; |
- std::vector <uint8_t> m_sbCqi; |
+ std::vector <uint8_t> m_sbList; ///< sb list |
+ uint8_t m_sbPmi; ///< sb PMI |
+ std::vector <uint8_t> m_sbCqi; ///< sb CQI |
}; |
/** |
@@ -448,9 +469,9 @@ |
*/ |
struct SbMeasResult_s |
{ |
- struct UeSelected_s m_ueSelected; |
- std::vector <struct HigherLayerSelected_s> m_higherLayerSelected; |
- struct BwPart_s m_bwPart; |
+ struct UeSelected_s m_ueSelected; ///< UE selected |
+ std::vector <struct HigherLayerSelected_s> m_higherLayerSelected; ///< higher layer selected |
+ struct BwPart_s m_bwPart; ///< bw part |
}; |
/** |
@@ -458,16 +479,17 @@ |
*/ |
struct CqiListElement_s |
{ |
- uint16_t m_rnti; |
- uint8_t m_ri; |
+ uint16_t m_rnti; ///< RNTI |
+ uint8_t m_ri; ///< RI |
+ /// CqiType_e enumeration |
enum CqiType_e |
{ |
P10, P11, P20, P21, A12, A22, A20, A30, A31 |
- } m_cqiType; |
- std::vector <uint8_t> m_wbCqi; |
- uint8_t m_wbPmi; |
+ } m_cqiType; ///< CQI type |
+ std::vector <uint8_t> m_wbCqi; ///< wb CQI |
+ uint8_t m_wbPmi; ///< wb PMI |
- struct SbMeasResult_s m_sbMeasResult; |
+ struct SbMeasResult_s m_sbMeasResult; ///< sb measure result |
}; |
/** |
@@ -475,7 +497,8 @@ |
*/ |
struct UlCqi_s |
{ |
- std::vector <uint16_t> m_sinr; |
+ std::vector <uint16_t> m_sinr; ///< SINR |
+ /// Type_e enumeration |
enum Type_e |
{ |
SRS, |
@@ -483,7 +506,7 @@ |
PUCCH_1, |
PUCCH_2, |
PRACH |
- } m_type; |
+ } m_type; ///< type |
}; |
/** |
@@ -491,9 +514,9 @@ |
*/ |
struct PagingInfoListElement_s |
{ |
- uint8_t m_pagingIndex; |
- uint16_t m_pagingMessageSize; |
- uint8_t m_pagingSubframe; |
+ uint8_t m_pagingIndex; ///< paging index |
+ uint16_t m_pagingMessageSize; ///< paging message size |
+ uint8_t m_pagingSubframe; ///< paging subframe |
}; |
} // namespace ns3 |