コード例 #1
0
ファイル: PhysicalConfig.cs プロジェクト: xuhaoa/LtePlatform
            public PhysicalConfigDedicated Decode(BitArrayInputStream input)
            {
                BitMaskStream           stream2;
                PhysicalConfigDedicated dedicated = new PhysicalConfigDedicated();

                dedicated.InitDefaults();
                bool          flag   = input.ReadBit() != 0;
                BitMaskStream stream = new BitMaskStream(input, 10);

                if (stream.Read())
                {
                    dedicated.pdsch_ConfigDedicated = PDSCH_ConfigDedicated.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    dedicated.pucch_ConfigDedicated = PUCCH_ConfigDedicated.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    dedicated.pusch_ConfigDedicated = PUSCH_ConfigDedicated.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    dedicated.uplinkPowerControlDedicated = UplinkPowerControlDedicated.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    dedicated.tpc_PDCCH_ConfigPUCCH = TPC_PDCCH_Config.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    dedicated.tpc_PDCCH_ConfigPUSCH = TPC_PDCCH_Config.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    dedicated.cqi_ReportConfig = CQI_ReportConfig.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    dedicated.soundingRS_UL_ConfigDedicated = SoundingRS_UL_ConfigDedicated.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    dedicated.antennaInfo = antennaInfo_Type.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    dedicated.schedulingRequestConfig = SchedulingRequestConfig.PerDecoder.Instance.Decode(input);
                }
                if (flag)
                {
                    stream2 = new BitMaskStream(input, 2);
                    if (stream2.Read())
                    {
                        dedicated.cqi_ReportConfig_v920 = CQI_ReportConfig_v920.PerDecoder.Instance.Decode(input);
                    }
                    if (stream2.Read())
                    {
                        dedicated.antennaInfo_v920 = AntennaInfoDedicated_v920.PerDecoder.Instance.Decode(input);
                    }
                }
                if (flag)
                {
                    stream2 = new BitMaskStream(input, 11);
                    if (stream2.Read())
                    {
                        dedicated.antennaInfo_r10 = antennaInfo_r10_Type.PerDecoder.Instance.Decode(input);
                    }
                    if (stream2.Read())
                    {
                        dedicated.antennaInfoUL_r10 = AntennaInfoUL_r10.PerDecoder.Instance.Decode(input);
                    }
                    if (stream2.Read())
                    {
                        dedicated.cif_Presence_r10 = input.ReadBit() == 1;
                    }
                    if (stream2.Read())
                    {
                        dedicated.cqi_ReportConfig_r10 = CQI_ReportConfig_r10.PerDecoder.Instance.Decode(input);
                    }
                    if (stream2.Read())
                    {
                        dedicated.csi_RS_Config_r10 = CSI_RS_Config_r10.PerDecoder.Instance.Decode(input);
                    }
                    if (stream2.Read())
                    {
                        dedicated.pucch_ConfigDedicated_v1020 = PUCCH_ConfigDedicated_v1020.PerDecoder.Instance.Decode(input);
                    }
                    if (stream2.Read())
                    {
                        dedicated.pusch_ConfigDedicated_v1020 = PUSCH_ConfigDedicated_v1020.PerDecoder.Instance.Decode(input);
                    }
                    if (stream2.Read())
                    {
                        dedicated.schedulingRequestConfig_v1020 = SchedulingRequestConfig_v1020.PerDecoder.Instance.Decode(input);
                    }
                    if (stream2.Read())
                    {
                        dedicated.soundingRS_UL_ConfigDedicated_v1020 = SoundingRS_UL_ConfigDedicated_v1020.PerDecoder.Instance.Decode(input);
                    }
                    if (stream2.Read())
                    {
                        dedicated.soundingRS_UL_ConfigDedicatedAperiodic_r10 = SoundingRS_UL_ConfigDedicatedAperiodic_r10.PerDecoder.Instance.Decode(input);
                    }
                    if (stream2.Read())
                    {
                        dedicated.uplinkPowerControlDedicated_v1020 = UplinkPowerControlDedicated_v1020.PerDecoder.Instance.Decode(input);
                    }
                }
                if (flag)
                {
                    stream2 = new BitMaskStream(input, 1);
                    if (stream2.Read())
                    {
                        dedicated.additionalSpectrumEmissionCA_r10 = additionalSpectrumEmissionCA_r10_Type.PerDecoder.Instance.Decode(input);
                    }
                }
                if (flag)
                {
                    int num2;
                    stream2 = new BitMaskStream(input, 10);
                    if (stream2.Read())
                    {
                        dedicated.csi_RS_ConfigNZPToReleaseList_r11 = new List <long>();
                        num2 = 2;
                        int num3 = input.ReadBits(num2) + 1;
                        for (int i = 0; i < num3; i++)
                        {
                            long item = input.ReadBits(2) + 1;
                            dedicated.csi_RS_ConfigNZPToReleaseList_r11.Add(item);
                        }
                    }
                    if (stream2.Read())
                    {
                        dedicated.csi_RS_ConfigNZPToAddModList_r11 = new List <CSI_RS_ConfigNZP_r11>();
                        num2 = 2;
                        int num6 = input.ReadBits(num2) + 1;
                        for (int j = 0; j < num6; j++)
                        {
                            CSI_RS_ConfigNZP_r11 _r = CSI_RS_ConfigNZP_r11.PerDecoder.Instance.Decode(input);
                            dedicated.csi_RS_ConfigNZPToAddModList_r11.Add(_r);
                        }
                    }
                    if (stream2.Read())
                    {
                        dedicated.csi_RS_ConfigZPToReleaseList_r11 = new List <long>();
                        num2 = 2;
                        int num8 = input.ReadBits(num2) + 1;
                        for (int k = 0; k < num8; k++)
                        {
                            long num10 = input.ReadBits(2) + 1;
                            dedicated.csi_RS_ConfigZPToReleaseList_r11.Add(num10);
                        }
                    }
                    if (stream2.Read())
                    {
                        dedicated.csi_RS_ConfigZPToAddModList_r11 = new List <CSI_RS_ConfigZP_r11>();
                        num2 = 2;
                        int num11 = input.ReadBits(num2) + 1;
                        for (int m = 0; m < num11; m++)
                        {
                            CSI_RS_ConfigZP_r11 _r2 = CSI_RS_ConfigZP_r11.PerDecoder.Instance.Decode(input);
                            dedicated.csi_RS_ConfigZPToAddModList_r11.Add(_r2);
                        }
                    }
                    if (stream2.Read())
                    {
                        dedicated.epdcch_Config_r11 = EPDCCH_Config_r11.PerDecoder.Instance.Decode(input);
                    }
                    if (stream2.Read())
                    {
                        dedicated.pdsch_ConfigDedicated_v1130 = PDSCH_ConfigDedicated_v1130.PerDecoder.Instance.Decode(input);
                    }
                    if (stream2.Read())
                    {
                        dedicated.cqi_ReportConfig_v1130 = CQI_ReportConfig_v1130.PerDecoder.Instance.Decode(input);
                    }
                    if (stream2.Read())
                    {
                        dedicated.pucch_ConfigDedicated_v1130 = PUCCH_ConfigDedicated_v1130.PerDecoder.Instance.Decode(input);
                    }
                    if (stream2.Read())
                    {
                        dedicated.pusch_ConfigDedicated_v1130 = PUSCH_ConfigDedicated_v1130.PerDecoder.Instance.Decode(input);
                    }
                    if (stream2.Read())
                    {
                        dedicated.uplinkPowerControlDedicated_v1130 = UplinkPowerControlDedicated_v1130.PerDecoder.Instance.Decode(input);
                    }
                }
                if (flag)
                {
                    stream2 = new BitMaskStream(input, 1);
                    if (stream2.Read())
                    {
                        dedicated.antennaInfo_v12xx = AntennaInfoDedicated_v12xx.PerDecoder.Instance.Decode(input);
                    }
                }
                return(dedicated);
            }
コード例 #2
0
ファイル: PhysicalConfig.cs プロジェクト: ouyh18/LtePlatform
 public PhysicalConfigDedicated Decode(BitArrayInputStream input)
 {
     BitMaskStream stream2;
     PhysicalConfigDedicated dedicated = new PhysicalConfigDedicated();
     dedicated.InitDefaults();
     bool flag = input.ReadBit() != 0;
     BitMaskStream stream = new BitMaskStream(input, 10);
     if (stream.Read())
     {
         dedicated.pdsch_ConfigDedicated = PDSCH_ConfigDedicated.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         dedicated.pucch_ConfigDedicated = PUCCH_ConfigDedicated.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         dedicated.pusch_ConfigDedicated = PUSCH_ConfigDedicated.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         dedicated.uplinkPowerControlDedicated = UplinkPowerControlDedicated.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         dedicated.tpc_PDCCH_ConfigPUCCH = TPC_PDCCH_Config.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         dedicated.tpc_PDCCH_ConfigPUSCH = TPC_PDCCH_Config.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         dedicated.cqi_ReportConfig = CQI_ReportConfig.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         dedicated.soundingRS_UL_ConfigDedicated = SoundingRS_UL_ConfigDedicated.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         dedicated.antennaInfo = antennaInfo_Type.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         dedicated.schedulingRequestConfig = SchedulingRequestConfig.PerDecoder.Instance.Decode(input);
     }
     if (flag)
     {
         stream2 = new BitMaskStream(input, 2);
         if (stream2.Read())
         {
             dedicated.cqi_ReportConfig_v920 = CQI_ReportConfig_v920.PerDecoder.Instance.Decode(input);
         }
         if (stream2.Read())
         {
             dedicated.antennaInfo_v920 = AntennaInfoDedicated_v920.PerDecoder.Instance.Decode(input);
         }
     }
     if (flag)
     {
         stream2 = new BitMaskStream(input, 11);
         if (stream2.Read())
         {
             dedicated.antennaInfo_r10 = antennaInfo_r10_Type.PerDecoder.Instance.Decode(input);
         }
         if (stream2.Read())
         {
             dedicated.antennaInfoUL_r10 = AntennaInfoUL_r10.PerDecoder.Instance.Decode(input);
         }
         if (stream2.Read())
         {
             dedicated.cif_Presence_r10 = input.ReadBit() == 1;
         }
         if (stream2.Read())
         {
             dedicated.cqi_ReportConfig_r10 = CQI_ReportConfig_r10.PerDecoder.Instance.Decode(input);
         }
         if (stream2.Read())
         {
             dedicated.csi_RS_Config_r10 = CSI_RS_Config_r10.PerDecoder.Instance.Decode(input);
         }
         if (stream2.Read())
         {
             dedicated.pucch_ConfigDedicated_v1020 = PUCCH_ConfigDedicated_v1020.PerDecoder.Instance.Decode(input);
         }
         if (stream2.Read())
         {
             dedicated.pusch_ConfigDedicated_v1020 = PUSCH_ConfigDedicated_v1020.PerDecoder.Instance.Decode(input);
         }
         if (stream2.Read())
         {
             dedicated.schedulingRequestConfig_v1020 = SchedulingRequestConfig_v1020.PerDecoder.Instance.Decode(input);
         }
         if (stream2.Read())
         {
             dedicated.soundingRS_UL_ConfigDedicated_v1020 = SoundingRS_UL_ConfigDedicated_v1020.PerDecoder.Instance.Decode(input);
         }
         if (stream2.Read())
         {
             dedicated.soundingRS_UL_ConfigDedicatedAperiodic_r10 = SoundingRS_UL_ConfigDedicatedAperiodic_r10.PerDecoder.Instance.Decode(input);
         }
         if (stream2.Read())
         {
             dedicated.uplinkPowerControlDedicated_v1020 = UplinkPowerControlDedicated_v1020.PerDecoder.Instance.Decode(input);
         }
     }
     if (flag)
     {
         stream2 = new BitMaskStream(input, 1);
         if (stream2.Read())
         {
             dedicated.additionalSpectrumEmissionCA_r10 = additionalSpectrumEmissionCA_r10_Type.PerDecoder.Instance.Decode(input);
         }
     }
     if (flag)
     {
         int num2;
         stream2 = new BitMaskStream(input, 10);
         if (stream2.Read())
         {
             dedicated.csi_RS_ConfigNZPToReleaseList_r11 = new List<long>();
             num2 = 2;
             int num3 = input.ReadBits(num2) + 1;
             for (int i = 0; i < num3; i++)
             {
                 long item = input.ReadBits(2) + 1;
                 dedicated.csi_RS_ConfigNZPToReleaseList_r11.Add(item);
             }
         }
         if (stream2.Read())
         {
             dedicated.csi_RS_ConfigNZPToAddModList_r11 = new List<CSI_RS_ConfigNZP_r11>();
             num2 = 2;
             int num6 = input.ReadBits(num2) + 1;
             for (int j = 0; j < num6; j++)
             {
                 CSI_RS_ConfigNZP_r11 _r = CSI_RS_ConfigNZP_r11.PerDecoder.Instance.Decode(input);
                 dedicated.csi_RS_ConfigNZPToAddModList_r11.Add(_r);
             }
         }
         if (stream2.Read())
         {
             dedicated.csi_RS_ConfigZPToReleaseList_r11 = new List<long>();
             num2 = 2;
             int num8 = input.ReadBits(num2) + 1;
             for (int k = 0; k < num8; k++)
             {
                 long num10 = input.ReadBits(2) + 1;
                 dedicated.csi_RS_ConfigZPToReleaseList_r11.Add(num10);
             }
         }
         if (stream2.Read())
         {
             dedicated.csi_RS_ConfigZPToAddModList_r11 = new List<CSI_RS_ConfigZP_r11>();
             num2 = 2;
             int num11 = input.ReadBits(num2) + 1;
             for (int m = 0; m < num11; m++)
             {
                 CSI_RS_ConfigZP_r11 _r2 = CSI_RS_ConfigZP_r11.PerDecoder.Instance.Decode(input);
                 dedicated.csi_RS_ConfigZPToAddModList_r11.Add(_r2);
             }
         }
         if (stream2.Read())
         {
             dedicated.epdcch_Config_r11 = EPDCCH_Config_r11.PerDecoder.Instance.Decode(input);
         }
         if (stream2.Read())
         {
             dedicated.pdsch_ConfigDedicated_v1130 = PDSCH_ConfigDedicated_v1130.PerDecoder.Instance.Decode(input);
         }
         if (stream2.Read())
         {
             dedicated.cqi_ReportConfig_v1130 = CQI_ReportConfig_v1130.PerDecoder.Instance.Decode(input);
         }
         if (stream2.Read())
         {
             dedicated.pucch_ConfigDedicated_v1130 = PUCCH_ConfigDedicated_v1130.PerDecoder.Instance.Decode(input);
         }
         if (stream2.Read())
         {
             dedicated.pusch_ConfigDedicated_v1130 = PUSCH_ConfigDedicated_v1130.PerDecoder.Instance.Decode(input);
         }
         if (stream2.Read())
         {
             dedicated.uplinkPowerControlDedicated_v1130 = UplinkPowerControlDedicated_v1130.PerDecoder.Instance.Decode(input);
         }
     }
     if (flag)
     {
         stream2 = new BitMaskStream(input, 1);
         if (stream2.Read())
         {
             dedicated.antennaInfo_v12xx = AntennaInfoDedicated_v12xx.PerDecoder.Instance.Decode(input);
         }
     }
     return dedicated;
 }