UserControlInfo

Namespace simu5g

UserControlInfo

class

@class UserControlInfo @brief contains information flowing from Mac to Phy

It contains the following information:

  • H-ARQ Control Information
  • PHY Control Informations: Broadcast, Corruption, Type, txMode, Resource blocks used, RemoteSet

Usage diagram

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Extends

Name Type Description
LteControlInfo (unknown -- not in documented files)

Fields

Name Type Description
packetLcid LogicalCid

TODO packetLcid and packetMulticastGroupId make no sense in UserControlInfo, eliminate

packetMulticastGroupId MacNodeId

Identifier for a multicast group (it is in range [0:[2^28)-1] ) -- TODO seems to be used instead of proper MBMS RNTIs stored in destId

isNr bool
carrierFrequency GHz

carrier frequency

acid unsigned char

H-ARQ process identifier

cw unsigned char

H-ARQ codeword identifier

txNumber unsigned char

number of (re)transmissions for the same pdu (1, 2, 3, 4)

ndi bool

new data indicator (new data overwrites a process content if present)

txMode unsigned short

Traffic Type

frameType unsigned int

Frame Type

txPower double

Transmission Power

d2dTxPower double

D2D Transmission Power (used for feedback reporting of D2D links

totalGrantedBlocks unsigned int

blocks granted on all Remotes, all Bands

grantId unsigned int

grantId related to the grand that allowed the sending of a MEC PDU (used only for MAC PDU sent by UEs)

userTxParams UserTxParams
grantedBlocks RbMap
coord Coord

The playground position of the sending host

feedbackReq FeedbackRequest

Source code

//
// @class UserControlInfo
// @brief contains information flowing from Mac to Phy
//
// It contains the following information:
// - H-ARQ Control Information
// - PHY Control Informations: Broadcast, Corruption, Type,
//   txMode, Resource blocks used, RemoteSet
//
class UserControlInfo extends LteControlInfo
{
    //TODO packetLcid and packetMulticastGroupId make no sense in UserControlInfo, eliminate
    LogicalCid packetLcid;                 //  only used to indicate BSR type in MAC
    MacNodeId packetMulticastGroupId = NODEID_NONE;     // Identifier for a multicast group (it is in range [0:[2^28)-1] ) -- TODO seems to be used instead of proper MBMS RNTIs stored in destId

    bool isNr = false;
    inet::GHz carrierFrequency;       // carrier frequency

    //# H-ARQ Control Information

    unsigned char acid = 0;              // H-ARQ process identifier
    unsigned char cw = 0;                // H-ARQ codeword identifier
    unsigned char txNumber = 0;          // number of (re)transmissions for the same pdu (1, 2, 3, 4)
    bool ndi = true;                     // new data indicator (new data overwrites a process content if present)

    //# PHY Control Informations

    unsigned short txMode @enum(TxMode) = 0;             // Traffic Type
    unsigned int frameType @enum(LtePhyFrameType) = 0;   // Frame Type
    double txPower = NaN;                               //Transmission Power
    double d2dTxPower = NaN;                            // D2D Transmission Power (used for feedback reporting of D2D links
    // blocks granted on all Remotes, all Bands
    unsigned int totalGrantedBlocks = 0;                // note: currently unread
    unsigned int grantId = 0;                           // grantId related to the grand that allowed the sending of a MEC PDU (used only for MAC PDU sent by UEs)

    UserTxParams *userTxParams @owned;
    RbMap grantedBlocks;
    inet::Coord coord;                                  // The playground position of the sending host
    FeedbackRequest feedbackReq;
}

File: src/simu5g/common/LteControlInfo.msg