|
|
|
@ -667,10 +667,80 @@ int rrc_nr::ue::pack_secondary_cell_group_config(asn1::dyn_octstring& packed_sec
|
|
|
|
|
|
|
|
|
|
cell_group_cfg_pack.sp_cell_cfg.sp_cell_cfg_ded.pdsch_serving_cell_cfg_present = true;
|
|
|
|
|
cell_group_cfg_pack.sp_cell_cfg.sp_cell_cfg_ded.pdsch_serving_cell_cfg.set_setup();
|
|
|
|
|
cell_group_cfg_pack.sp_cell_cfg.sp_cell_cfg_ded.pdsch_serving_cell_cfg.setup().nrof_harq_processes_for_pdsch_present =
|
|
|
|
|
true;
|
|
|
|
|
cell_group_cfg_pack.sp_cell_cfg.sp_cell_cfg_ded.pdsch_serving_cell_cfg.setup().nrof_harq_processes_for_pdsch =
|
|
|
|
|
pdsch_serving_cell_cfg_s::nrof_harq_processes_for_pdsch_opts::n16;
|
|
|
|
|
|
|
|
|
|
cell_group_cfg_pack.sp_cell_cfg.sp_cell_cfg_ded.csi_meas_cfg_present = true;
|
|
|
|
|
cell_group_cfg_pack.sp_cell_cfg.sp_cell_cfg_ded.csi_meas_cfg.set_setup();
|
|
|
|
|
|
|
|
|
|
// nzp-CSI-RS Resource
|
|
|
|
|
cell_group_cfg_pack.sp_cell_cfg.sp_cell_cfg_ded.csi_meas_cfg.setup().nzp_csi_rs_res_to_add_mod_list_present = true;
|
|
|
|
|
cell_group_cfg_pack.sp_cell_cfg.sp_cell_cfg_ded.csi_meas_cfg.setup().nzp_csi_rs_res_to_add_mod_list.resize(1);
|
|
|
|
|
auto& nzp_csi_res =
|
|
|
|
|
cell_group_cfg_pack.sp_cell_cfg.sp_cell_cfg_ded.csi_meas_cfg.setup().nzp_csi_rs_res_to_add_mod_list[0];
|
|
|
|
|
nzp_csi_res.nzp_csi_rs_res_id = 0;
|
|
|
|
|
nzp_csi_res.res_map.freq_domain_alloc.set_row2();
|
|
|
|
|
nzp_csi_res.res_map.freq_domain_alloc.row2().from_number(0b100000000000);
|
|
|
|
|
nzp_csi_res.res_map.nrof_ports = asn1::rrc_nr::csi_rs_res_map_s::nrof_ports_opts::p1;
|
|
|
|
|
nzp_csi_res.res_map.first_ofdm_symbol_in_time_domain = 4;
|
|
|
|
|
nzp_csi_res.res_map.cdm_type = asn1::rrc_nr::csi_rs_res_map_s::cdm_type_opts::no_cdm;
|
|
|
|
|
nzp_csi_res.res_map.density.set_one();
|
|
|
|
|
nzp_csi_res.res_map.freq_band.start_rb = 0;
|
|
|
|
|
nzp_csi_res.res_map.freq_band.nrof_rbs = 52;
|
|
|
|
|
nzp_csi_res.pwr_ctrl_offset = 0;
|
|
|
|
|
// Skip pwr_ctrl_offset_ss_present
|
|
|
|
|
nzp_csi_res.scrambling_id = 0;
|
|
|
|
|
nzp_csi_res.periodicity_and_offset_present = true;
|
|
|
|
|
nzp_csi_res.periodicity_and_offset.set_slots80();
|
|
|
|
|
nzp_csi_res.periodicity_and_offset.slots80() = 0;
|
|
|
|
|
// optional
|
|
|
|
|
nzp_csi_res.qcl_info_periodic_csi_rs_present = true;
|
|
|
|
|
nzp_csi_res.qcl_info_periodic_csi_rs = 0;
|
|
|
|
|
|
|
|
|
|
// nzp-CSI-RS ResourceSet
|
|
|
|
|
cell_group_cfg_pack.sp_cell_cfg.sp_cell_cfg_ded.csi_meas_cfg.setup().nzp_csi_rs_res_set_to_add_mod_list_present =
|
|
|
|
|
true;
|
|
|
|
|
cell_group_cfg_pack.sp_cell_cfg.sp_cell_cfg_ded.csi_meas_cfg.setup().nzp_csi_rs_res_set_to_add_mod_list.resize(1);
|
|
|
|
|
auto& nzp_csi_res_set =
|
|
|
|
|
cell_group_cfg_pack.sp_cell_cfg.sp_cell_cfg_ded.csi_meas_cfg.setup().nzp_csi_rs_res_set_to_add_mod_list[0];
|
|
|
|
|
nzp_csi_res_set.nzp_csi_res_set_id = 0;
|
|
|
|
|
nzp_csi_res_set.nzp_csi_rs_res.resize(1);
|
|
|
|
|
nzp_csi_res_set.nzp_csi_rs_res[0] = 0;
|
|
|
|
|
// Skip TRS info
|
|
|
|
|
|
|
|
|
|
// CSI report config
|
|
|
|
|
cell_group_cfg_pack.sp_cell_cfg.sp_cell_cfg_ded.csi_meas_cfg.setup().csi_report_cfg_to_add_mod_list_present = true;
|
|
|
|
|
cell_group_cfg_pack.sp_cell_cfg.sp_cell_cfg_ded.csi_meas_cfg.setup().csi_report_cfg_to_add_mod_list.resize(1);
|
|
|
|
|
auto& csi_report =
|
|
|
|
|
cell_group_cfg_pack.sp_cell_cfg.sp_cell_cfg_ded.csi_meas_cfg.setup().csi_report_cfg_to_add_mod_list[0];
|
|
|
|
|
csi_report.report_cfg_id = 0;
|
|
|
|
|
csi_report.res_for_ch_meas = 0;
|
|
|
|
|
csi_report.csi_im_res_for_interference_present = true;
|
|
|
|
|
csi_report.csi_im_res_for_interference = 1;
|
|
|
|
|
csi_report.report_cfg_type.set_periodic();
|
|
|
|
|
csi_report.report_cfg_type.periodic().report_slot_cfg.set_slots80();
|
|
|
|
|
csi_report.report_cfg_type.periodic().report_slot_cfg.slots80() = 8;
|
|
|
|
|
csi_report.report_cfg_type.periodic().pucch_csi_res_list.resize(1);
|
|
|
|
|
csi_report.report_cfg_type.periodic().pucch_csi_res_list[0].ul_bw_part_id = 0;
|
|
|
|
|
csi_report.report_cfg_type.periodic().pucch_csi_res_list[0].pucch_res = 0; // was 17 in orig PCAP
|
|
|
|
|
csi_report.report_quant.set_cri_ri_pmi_cqi();
|
|
|
|
|
// Report freq config (optional)
|
|
|
|
|
csi_report.report_freq_cfg_present = true;
|
|
|
|
|
csi_report.report_freq_cfg.cqi_format_ind_present = true;
|
|
|
|
|
csi_report.report_freq_cfg.cqi_format_ind =
|
|
|
|
|
asn1::rrc_nr::csi_report_cfg_s::report_freq_cfg_s_::cqi_format_ind_opts::wideband_cqi;
|
|
|
|
|
csi_report.time_restrict_for_ch_meass = asn1::rrc_nr::csi_report_cfg_s::time_restrict_for_ch_meass_opts::not_cfgured;
|
|
|
|
|
csi_report.time_restrict_for_interference_meass =
|
|
|
|
|
asn1::rrc_nr::csi_report_cfg_s::time_restrict_for_interference_meass_opts::not_cfgured;
|
|
|
|
|
csi_report.group_based_beam_report.set_disabled();
|
|
|
|
|
// Skip CQI table (optional)
|
|
|
|
|
csi_report.cqi_table_present = true;
|
|
|
|
|
csi_report.cqi_table = asn1::rrc_nr::csi_report_cfg_s::cqi_table_opts::table2;
|
|
|
|
|
csi_report.subband_size = asn1::rrc_nr::csi_report_cfg_s::subband_size_opts::value1;
|
|
|
|
|
|
|
|
|
|
// Reconfig with Sync
|
|
|
|
|
cell_group_cfg_pack.sp_cell_cfg.recfg_with_sync_present = true;
|
|
|
|
|
cell_group_cfg_pack.sp_cell_cfg.recfg_with_sync.new_ue_id = 17943;
|
|
|
|
|
cell_group_cfg_pack.sp_cell_cfg.recfg_with_sync.smtc.release();
|
|
|
|
|