SchedulerCommand.msg 2.9 KB
Newer Older
C
x  
calincerchez 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Lesser General Public License for more details.
// 
// You should have received a copy of the GNU Lesser General Public License
// along with this program.  If not, see http://www.gnu.org/licenses/.
//

enum SchedulerCommandType
{
    RLC_TX_OPPORTUNITY = 200;
    CSCHED_CELL_CONFIG_REQ = 201;
    SCHED_DL_TRIGGER_REQ = 202;
    SCHED_DL_CONFIG_IND = 203;
C
calin cerchez 已提交
22 23 24
   	SCHED_UL_TRIGGER_REQ = 204;
   	SCHED_UL_CONFIG_IND = 205;
   	SCHED_DL_RACH_INFO_REQ = 206;
C
x  
calincerchez 已提交
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
}

class SchedulerCommand
{
}

class SiMessageListElement
{
    unsigned short period;
}

class SiConfiguration
{
	unsigned char siWdwLen;
	SiMessageListElement siMsgList[];	    
}

C
calin cerchez 已提交
42 43 44 45 46 47 48 49 50
class RaConfiguration
{
    unsigned char raPreambleIndex = 61;	// maximal value if used should be 60
    unsigned char raPrachMaskIndex = 0;
    unsigned char raRespWdwSize;
    unsigned char nrOfRaPreambles;
    unsigned char sizeOfRaPreamblesGroupA;    
}

C
x  
calincerchez 已提交
51 52 53
class CSchedCellConfigReq extends SchedulerCommand
{
    SiConfiguration siConfig;
C
calin cerchez 已提交
54 55
    unsigned char prachCfgIndex;
	RaConfiguration raConfig;
C
x  
calincerchez 已提交
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
}

enum HarqStatus
{
    ACK = 0;
    NACK = 1;
    DTX = 2;
}

class DlInfoListElement
{
    unsigned short rnti;
    unsigned char harqProcId;
    unsigned char harqStats[];
}
    
class SchedDlTriggerReq extends SchedulerCommand
{
    unsigned short tti;
    DlInfoListElement dlInfoList[];
}

C
calin cerchez 已提交
78 79 80 81 82 83
class SchedUlTriggerReq extends SchedulerCommand
{
	unsigned short tti;  
	bool rapComplete;   
}

C
x  
calincerchez 已提交
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
class RlcPduListElement
{
    unsigned char logChannelId;
}

class DlDciListElement
{
	unsigned short rnti;    
	unsigned char rv;
}

class BuildDataListElement
{
    unsigned short rnti;
    DlDciListElement dci;
    RlcPduListElement rlcPduList[];
}

C
calin cerchez 已提交
102 103 104 105 106 107 108
class BuildRarListElement
{
	unsigned short rnti;
	unsigned int grant;
	DlDciListElement dci;  
}

C
x  
calincerchez 已提交
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
enum BcastMessageIndex
{
	SIB1 = 0;
	SIB2 = 1;
	MIB = 64;    
}

class BuildBcastListElement
{
    unsigned char index;
    DlDciListElement dci;
}

class SchedDlConfigInd extends SchedulerCommand
{
    unsigned short tti;
    BuildBcastListElement bldBcastList[];
C
calin cerchez 已提交
126 127 128 129 130 131 132
    BuildRarListElement bldRarList[];
}

class SchedUlConfigInd extends SchedulerCommand
{
	unsigned short tti;   
	RaConfiguration raConfigList[];	// made list because it is simpler than pointer
C
x  
calincerchez 已提交
133 134 135 136
}

class RlcTxOpportunity 
{
C
calin cerchez 已提交
137 138 139 140 141 142 143 144 145 146 147 148 149
    unsigned short rnti = 0;
	unsigned char lcid = 32;    
}

class RachListElement
{
	unsigned short rnti;	// TempCRnti
}

class SchedDlRachInfoReq extends SchedulerCommand
{
	unsigned short tti;   
	RachListElement rachList[]; 
C
x  
calincerchez 已提交
150
}