UserControlInfo

Namespace: simu5g

class UserControlInfo

@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

Inheritance diagram

Extends

Name

Type

Description

LteControlInfo

class

@class LteControlInfo @brief Base class for FlowControlInfo and UserControlInfo

Fields

Name

Type

Description

sourceId

MacNodeId

Source MacNodeId

destId

MacNodeId

Destination MacNodeId

direction

Direction

Traffic Direction (UL, DL, D2D)

d2dTxPeerId

MacNodeId

d2dRxPeerId

MacNodeId

packetLcid

LogicalCid

only used to indicate BSR type in MAC

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

inet::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 blocks granted on all Remotes, all Bands

totalGrantedBlocks

unsigned int

note: currently unread

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

inet::Coord

The playground position of the sending host

feedbackReq

FeedbackRequest

Properties

Name

Value

Description

existingClass

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 = 0 enum(TxMode);             // Traffic Type
    unsigned int frameType = 0 enum(LtePhyFrameType);   // 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