From 385102fa2df989840d9b973e53cc5b2cdeaf8d57 Mon Sep 17 00:00:00 2001 From: Xavier Arteaga Date: Thu, 13 Feb 2020 10:28:32 +0100 Subject: [PATCH] SRSENB: minor format, renaming and interface changes --- .../srslte/interfaces/enb_interfaces.h | 80 ++++++++++++++++--- lib/src/phy/phch/pucch_proc.c | 2 +- srsenb/hdr/phy/phy.h | 1 + srsenb/hdr/phy/phy_common.h | 6 +- srsenb/hdr/stack/enb_stack_lte.h | 19 +++-- srsenb/hdr/stack/mac/mac.h | 20 ++--- srsenb/src/phy/cc_worker.cc | 18 ++--- srsenb/src/phy/phy.cc | 11 ++- srsenb/src/stack/mac/mac.cc | 17 +--- srsenb/src/stack/rrc/rrc.cc | 12 +-- srsenb/test/phy/enb_phy_test.cc | 10 +-- 11 files changed, 130 insertions(+), 66 deletions(-) diff --git a/lib/include/srslte/interfaces/enb_interfaces.h b/lib/include/srslte/interfaces/enb_interfaces.h index ce0351772..49e2775d1 100644 --- a/lib/include/srslte/interfaces/enb_interfaces.h +++ b/lib/include/srslte/interfaces/enb_interfaces.h @@ -101,19 +101,48 @@ public: virtual int sr_detected(uint32_t tti, uint16_t rnti) = 0; virtual int rach_detected(uint32_t tti, uint32_t primary_cc_idx, uint32_t preamble_idx, uint32_t time_adv) = 0; - virtual int ri_info(uint32_t tti, uint16_t rnti, uint32_t ri_value) = 0; - virtual int pmi_info(uint32_t tti, uint16_t rnti, uint32_t pmi_value) = 0; + /** + * PHY callback for giving MAC the Rank Indicator information of a given RNTI for an eNb cell/carrier. + * + * @param tti the given TTI + * @param rnti the UE identifier in the eNb + * @param cc_idx The eNb Cell/Carrier where the measurement corresponds + * @param ri_value the actual Rank Indicator value, 0 for 1 layer, 1 for two layers and so on. + * @return SRSLTE_SUCCESS if no error occurs, SRSLTE_ERROR* if an error occurs + */ + virtual int ri_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t ri_value) = 0; + + /** + * PHY callback for giving MAC the Pre-coding Matrix Indicator information of a given RNTI for an eNb cell/carrier. + * + * @param tti the given TTI + * @param rnti the UE identifier in the eNb + * @param cc_idx The eNb Cell/Carrier where the measurement corresponds + * @param pmi_value the actual PMI value + * @return SRSLTE_SUCCESS if no error occurs, SRSLTE_ERROR* if an error occurs + */ + virtual int pmi_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t pmi_value) = 0; /** * PHY callback for for giving MAC the Channel Quality information of a given RNTI, TTI and eNb cell/carrier * @param tti the given TTI * @param rnti the UE identifier in the eNb + * @param cc_idx The eNb Cell/Carrier where the measurement corresponds * @param cqi_value the corresponding Channel Quality Information * @return SRSLTE_SUCCESS if no error occurs, SRSLTE_ERROR* if an error occurs */ virtual int cqi_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t cqi_value) = 0; - virtual int snr_info(uint32_t tti, uint16_t rnti, float snr_db) = 0; + /** + * PHY callback for giving MAC the SNR in dB of an UL transmission for a given RNTI at a given carrier + * + * @param tti The measurement was made + * @param rnti The UE identifier in the eNb + * @param cc_idx The eNb Cell/Carrier where the UL transmission was received + * @param snr_db The actual SNR of the received signal + * @return SRSLTE_SUCCESS if no error occurs, SRSLTE_ERROR* if an error occurs + */ + virtual int snr_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, float snr_db) = 0; /** * PHY callback for giving MAC the HARQ DL ACK/NACK feedback information for a given RNTI, TTI, eNb cell/carrier and @@ -127,7 +156,18 @@ public: * @return SRSLTE_SUCCESS if no error occurs, SRSLTE_ERROR* if an error occurs */ virtual int ack_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t tb_idx, bool ack) = 0; - virtual int crc_info(uint32_t tti, uint16_t rnti, uint32_t nof_bytes, bool crc_res) = 0; + + /** + * Informs MAC about a received PUSCH transmission for given RNTI, TTI and eNb Cell/carrier. + * + * @param tti the given TTI + * @param rnti the UE identifier in the eNb + * @param cc_idx the eNb Cell/Carrier identifier + * @param nof_bytes the number of grants carrierd by the PUSCH message + * @param crc_res the CRC check, set to true if the message was decoded succesfully + * @return SRSLTE_SUCCESS if no error occurs, SRSLTE_ERROR* if an error occurs + */ + virtual int crc_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t nof_bytes, bool crc_res) = 0; virtual int get_dl_sched(uint32_t tti, dl_sched_list_t& dl_sched_res) = 0; virtual int get_mch_sched(uint32_t tti, bool is_mcch, dl_sched_list_t& dl_sched_res) = 0; @@ -152,9 +192,29 @@ public: * @param pcell_index Primary cell (PCell) index * @param is_temporal Indicates whether the UE is temporal */ - virtual int add_rnti(uint16_t rnti, uint32_t pcell_index, bool is_temporal) = 0; - virtual void rem_rnti(uint16_t rnti) = 0; - virtual void set_mch_period_stop(uint32_t stop) = 0; + virtual int add_rnti(uint16_t rnti, uint32_t pcell_index, bool is_temporal) = 0; + + /** + * Removes an RNTI context from all the physical layer components, including secondary cells + * @param rnti identifier of the user + */ + virtual void rem_rnti(uint16_t rnti) = 0; + + /** + * + * @param stop + */ + virtual void set_mch_period_stop(uint32_t stop) = 0; + + /** + * Activates and/or deactivates Secondary Cells in the PHY for a given RNTI. Requires the RNTI of the given UE and a + * vector with the activation/deactivation values. Use true for activation and false for deactivation. The index 0 is + * reserved for PCell and will not be used. + * + * @param rnti identifier of the user + * @param activation vector with the activate/deactivate. + */ + virtual void set_activation_deactivation_scell(uint16_t rnti, bool activation[SRSLTE_MAX_CARRIERS]) = 0; }; /* Interface RRC -> PHY */ @@ -176,9 +236,9 @@ public: configure_mbsfn(asn1::rrc::sib_type2_s* sib2, asn1::rrc::sib_type13_r9_s* sib13, asn1::rrc::mcch_msg_s mcch) = 0; typedef struct { - bool active = false; ///< Indicates whether PHY shall consider using this or not - uint32_t cc_idx = 0; ///< eNb Cell index - srslte::phy_cfg_t phy_cfg = {}; ///< Dedicated physical layer configuration + bool configured = false; ///< Indicates whether PHY shall consider configuring this cell/carrier + uint32_t cc_idx = 0; ///< eNb Cell index + srslte::phy_cfg_t phy_cfg = {}; ///< Dedicated physical layer configuration } phy_rrc_dedicated_t; typedef std::vector phy_rrc_dedicated_list_t; diff --git a/lib/src/phy/phch/pucch_proc.c b/lib/src/phy/phch/pucch_proc.c index e293c5458..d9059512e 100644 --- a/lib/src/phy/phch/pucch_proc.c +++ b/lib/src/phy/phch/pucch_proc.c @@ -75,7 +75,7 @@ srslte_pucch_format_t srslte_pucch_proc_select_format(const srslte_cell_t* else if (total_ack == 2) { format = SRSLTE_PUCCH_FORMAT_2B; } - // CQI + 2-bit ACK + cyclic prefix + // CQI + 1-bit ACK + extended cyclic prefix else if (total_ack == 1 && SRSLTE_CP_ISEXT(cell->cp)) { format = SRSLTE_PUCCH_FORMAT_2B; } diff --git a/srsenb/hdr/phy/phy.h b/srsenb/hdr/phy/phy.h index f691fc013..f9c02bce2 100644 --- a/srsenb/hdr/phy/phy.h +++ b/srsenb/hdr/phy/phy.h @@ -54,6 +54,7 @@ public: int add_rnti(uint16_t rnti, uint32_t pcell_index, bool is_temporal) final; void rem_rnti(uint16_t rnti) final; void set_mch_period_stop(uint32_t stop) final; + void set_activation_deactivation_scell(uint16_t rnti, bool activation[SRSLTE_MAX_CARRIERS]); /*RRC-PHY interface*/ void configure_mbsfn(asn1::rrc::sib_type2_s* sib2, asn1::rrc::sib_type13_r9_s* sib13, asn1::rrc::mcch_msg_s mcch); diff --git a/srsenb/hdr/phy/phy_common.h b/srsenb/hdr/phy/phy_common.h index 01fbf0056..8d42034bb 100644 --- a/srsenb/hdr/phy/phy_common.h +++ b/srsenb/hdr/phy/phy_common.h @@ -141,9 +141,9 @@ public: { public: pending_ack_t pending_ack[TTIMOD_SZ] = {}; - uint8_t ri = 0; + uint8_t ri = 0; uint32_t pcell_idx = 0; - srslte_ra_tb_t last_tb[SRSLTE_MAX_HARQ_PROC] = {}; + srslte_ra_tb_t last_tb[SRSLTE_MAX_HARQ_PROC] = {}; std::map scell_map; }; @@ -163,7 +163,7 @@ public: * * @param rnti identifier of the UE */ - void ue_db_rem_rnti(uint16_t rnti); + void ue_db_rem_rnti(uint16_t rnti); /** * Removes all the pending ACKs of all the RNTIs for a given TTI diff --git a/srsenb/hdr/stack/enb_stack_lte.h b/srsenb/hdr/stack/enb_stack_lte.h index 65e6d72e4..91a666c07 100644 --- a/srsenb/hdr/stack/enb_stack_lte.h +++ b/srsenb/hdr/stack/enb_stack_lte.h @@ -67,20 +67,29 @@ public: { return mac.rach_detected(tti, primary_cc_idx, preamble_idx, time_adv); } - int ri_info(uint32_t tti, uint16_t rnti, uint32_t ri_value) final { return mac.ri_info(tti, rnti, ri_value); } - int pmi_info(uint32_t tti, uint16_t rnti, uint32_t pmi_value) final { return mac.pmi_info(tti, rnti, pmi_value); } + int ri_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t ri_value) final + { + return mac.ri_info(tti, rnti, cc_idx, ri_value); + } + int pmi_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t pmi_value) final + { + return mac.pmi_info(tti, rnti, cc_idx, pmi_value); + } int cqi_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t cqi_value) final { return mac.cqi_info(tti, rnti, cc_idx, cqi_value); } - int snr_info(uint32_t tti, uint16_t rnti, float snr_db) final { return mac.snr_info(tti, rnti, snr_db); } + int snr_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, float snr_db) final + { + return mac.snr_info(tti, rnti, cc_idx, snr_db); + } int ack_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t tb_idx, bool ack) final { return mac.ack_info(tti, rnti, cc_idx, tb_idx, ack); } - int crc_info(uint32_t tti, uint16_t rnti, uint32_t nof_bytes, bool crc_res) final + int crc_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t nof_bytes, bool crc_res) final { - return mac.crc_info(tti, rnti, nof_bytes, crc_res); + return mac.crc_info(tti, rnti, cc_idx, nof_bytes, crc_res); } int get_dl_sched(uint32_t tti, dl_sched_list_t& dl_sched_res) final { return mac.get_dl_sched(tti, dl_sched_res); } int get_mch_sched(uint32_t tti, bool is_mcch, dl_sched_list_t& dl_sched_res) final diff --git a/srsenb/hdr/stack/mac/mac.h b/srsenb/hdr/stack/mac/mac.h index 26c3ef9d4..678194142 100644 --- a/srsenb/hdr/stack/mac/mac.h +++ b/srsenb/hdr/stack/mac/mac.h @@ -56,23 +56,23 @@ public: int sr_detected(uint32_t tti, uint16_t rnti) final; int rach_detected(uint32_t tti, uint32_t primary_cc_idx, uint32_t preamble_idx, uint32_t time_adv) final; - int ri_info(uint32_t tti, uint16_t rnti, uint32_t ri_value); - int pmi_info(uint32_t tti, uint16_t rnti, uint32_t pmi_value); + int ri_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t ri_value) override; + int pmi_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t pmi_value) override; int cqi_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t cqi_value) override; - int snr_info(uint32_t tti, uint16_t rnti, float snr); + int snr_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, float snr) override; int ack_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t tb_idx, bool ack) override; - int crc_info(uint32_t tti, uint16_t rnti, uint32_t nof_bytes, bool crc_res); + int crc_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t nof_bytes, bool crc_res) override; - int get_dl_sched(uint32_t tti, dl_sched_list_t& dl_sched_res); - int get_ul_sched(uint32_t tti, ul_sched_list_t& ul_sched_res); - int get_mch_sched(uint32_t tti, bool is_mcch, dl_sched_list_t& dl_sched_res); - void set_sched_dl_tti_mask(uint8_t* tti_mask, uint32_t nof_sfs) final + int get_dl_sched(uint32_t tti, dl_sched_list_t& dl_sched_res) override; + int get_ul_sched(uint32_t tti, ul_sched_list_t& ul_sched_res) override; + int get_mch_sched(uint32_t tti, bool is_mcch, dl_sched_list_t& dl_sched_res) override; + void set_sched_dl_tti_mask(uint8_t* tti_mask, uint32_t nof_sfs) override { scheduler.set_dl_tti_mask(tti_mask, nof_sfs); } void build_mch_sched(uint32_t tbs); - void rl_failure(uint16_t rnti); - void rl_ok(uint16_t rnti); + void rl_failure(uint16_t rnti) override; + void rl_ok(uint16_t rnti) override; /******** Interface from RRC (RRC -> MAC) ****************/ /* Provides cell configuration including SIB periodicity, etc. */ diff --git a/srsenb/src/phy/cc_worker.cc b/srsenb/src/phy/cc_worker.cc index 5f57b1ccc..2ce6cbd79 100644 --- a/srsenb/src/phy/cc_worker.cc +++ b/srsenb/src/phy/cc_worker.cc @@ -251,12 +251,12 @@ void cc_worker::set_config_dedicated(uint16_t rnti, const srslte::phy_cfg_t& ded std::lock_guard lock(mutex); if (ue_db.count(rnti)) { - ue_db[rnti]->ul_cfg = dedicated.ul_cfg; + ue_db[rnti]->ul_cfg = dedicated.ul_cfg; ue_db[rnti]->ul_cfg.pucch.threshold_format1 = SRSLTE_PUCCH_DEFAULT_THRESHOLD_FORMAT1; - ue_db[rnti]->ul_cfg.pucch.rnti = rnti; - ue_db[rnti]->ul_cfg.pusch.rnti = rnti; - ue_db[rnti]->dl_cfg = dedicated.dl_cfg; - ue_db[rnti]->dl_cfg.pdsch.rnti = rnti; + ue_db[rnti]->ul_cfg.pucch.rnti = rnti; + ue_db[rnti]->ul_cfg.pusch.rnti = rnti; + ue_db[rnti]->dl_cfg = dedicated.dl_cfg; + ue_db[rnti]->dl_cfg.pdsch.rnti = rnti; } else { Error("Setting config dedicated: rnti=0x%x does not exist\n", rnti); } @@ -397,7 +397,7 @@ void cc_worker::send_uci_data(uint16_t rnti, srslte_uci_cfg_t* uci_cfg, srslte_u phy->stack->cqi_info(tti_rx, rnti, 0, cqi_value); } if (uci_cfg->cqi.ri_len) { - phy->stack->ri_info(tti_rx, rnti, uci_value->ri); + phy->stack->ri_info(tti_rx, 0, rnti, uci_value->ri); phy->ue_db_set_ri(rnti, uci_value->ri); } if (uci_cfg->cqi.pmi_present) { @@ -413,7 +413,7 @@ void cc_worker::send_uci_data(uint16_t rnti, srslte_uci_cfg_t* uci_cfg, srslte_u Error("CQI type=%d not implemented for PMI\n", uci_cfg->cqi.type); break; } - phy->stack->pmi_info(tti_rx, rnti, pmi_value); + phy->stack->pmi_info(tti_rx, rnti, 0, pmi_value); } } } @@ -466,7 +466,7 @@ int cc_worker::decode_pusch(stack_interface_phy_lte::ul_sched_grant_t* grants, u // Notify MAC of RL status if (snr_db >= PUSCH_RL_SNR_DB_TH) { - phy->stack->snr_info(ul_sf.tti, rnti, snr_db); + phy->stack->snr_info(ul_sf.tti, rnti, cc_idx, snr_db); if (grants[i].dci.tb.rv == 0) { if (!pusch_res.crc) { @@ -483,7 +483,7 @@ int cc_worker::decode_pusch(stack_interface_phy_lte::ul_sched_grant_t* grants, u // Notify MAC new received data and HARQ Indication value if (pusch_res.data) { - phy->stack->crc_info(tti_rx, rnti, grant->tb.tbs / 8, pusch_res.crc); + phy->stack->crc_info(tti_rx, rnti, cc_idx, grant->tb.tbs / 8, pusch_res.crc); // Save metrics stats ue_db[rnti]->metrics_ul(grants[i].dci.tb.mcs_idx, 0, snr_db, pusch_res.avg_iterations_block); diff --git a/srsenb/src/phy/phy.cc b/srsenb/src/phy/phy.cc index 13d42e60e..0ed3e905c 100644 --- a/srsenb/src/phy/phy.cc +++ b/srsenb/src/phy/phy.cc @@ -222,6 +222,11 @@ void phy::set_mch_period_stop(uint32_t stop) workers_common.set_mch_period_stop(stop); } +void phy::set_activation_deactivation_scell(uint16_t rnti, bool activation[SRSLTE_MAX_CARRIERS]) +{ + Info("Set activation/deactivation not implemented\n"); +} + void phy::get_metrics(phy_metrics_t metrics[ENB_METRICS_MAX_USERS]) { phy_metrics_t metrics_tmp[ENB_METRICS_MAX_USERS] = {}; @@ -259,11 +264,9 @@ void phy::set_config_dedicated(uint16_t rnti, const phy_rrc_dedicated_list_t& de // Create list, empty by default std::vector scell_idx_list; - for (uint32_t i = 0; i < dedicated_list.size(); i++) { - auto& config = dedicated_list[i]; - + for (const auto& config : dedicated_list) { // Configure only if active, ignore otherwise - if (config.active) { + if (config.configured) { // Set PCell/SCell index in list scell_idx_list.push_back(config.cc_idx); diff --git a/srsenb/src/stack/mac/mac.cc b/srsenb/src/stack/mac/mac.cc index 950feb170..0f6d65527 100644 --- a/srsenb/src/stack/mac/mac.cc +++ b/srsenb/src/stack/mac/mac.cc @@ -306,7 +306,6 @@ void mac::rl_ok(uint16_t rnti) int mac::ack_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t tb_idx, bool ack) { - // TODO: add cc_idx to interface pthread_rwlock_rdlock(&rwlock); log_h->step(tti); uint32_t nof_bytes = scheduler.dl_ack_info(tti, rnti, cc_idx, tb_idx, ack); @@ -322,10 +321,8 @@ int mac::ack_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t tb_idx, return 0; } -int mac::crc_info(uint32_t tti, uint16_t rnti, uint32_t nof_bytes, bool crc) +int mac::crc_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t nof_bytes, bool crc) { - // TODO: add cc_idx to interface - uint32_t cc_idx = 0; log_h->step(tti); int ret = -1; pthread_rwlock_rdlock(&rwlock); @@ -351,10 +348,8 @@ int mac::crc_info(uint32_t tti, uint16_t rnti, uint32_t nof_bytes, bool crc) return ret; } -int mac::ri_info(uint32_t tti, uint16_t rnti, uint32_t ri_value) +int mac::ri_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t ri_value) { - // TODO: add cc_idx to interface - uint32_t cc_idx = 0; log_h->step(tti); int ret = -1; pthread_rwlock_rdlock(&rwlock); @@ -369,10 +364,8 @@ int mac::ri_info(uint32_t tti, uint16_t rnti, uint32_t ri_value) return ret; } -int mac::pmi_info(uint32_t tti, uint16_t rnti, uint32_t pmi_value) +int mac::pmi_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t pmi_value) { - // TODO: add cc_idx to interface - uint32_t cc_idx = 0; log_h->step(tti); pthread_rwlock_rdlock(&rwlock); int ret = -1; @@ -404,10 +397,8 @@ int mac::cqi_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t cqi_val return ret; } -int mac::snr_info(uint32_t tti, uint16_t rnti, float snr) +int mac::snr_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, float snr) { - // TODO: add cc_idx to interface - uint32_t cc_idx = 0; log_h->step(tti); int ret = -1; pthread_rwlock_rdlock(&rwlock); diff --git a/srsenb/src/stack/rrc/rrc.cc b/srsenb/src/stack/rrc/rrc.cc index 2533d868a..4b7695743 100644 --- a/srsenb/src/stack/rrc/rrc.cc +++ b/srsenb/src/stack/rrc/rrc.cc @@ -2154,15 +2154,15 @@ void rrc::ue::apply_setup_phy_config(const asn1::rrc::phys_cfg_ded_s& phys_cfg_d } // Set PCell index - phy_rrc_dedicated_list[0].active = true; - phy_rrc_dedicated_list[0].cc_idx = current_sched_ue_cfg.supported_cc_list[0].enb_cc_idx; + phy_rrc_dedicated_list[0].configured = true; + phy_rrc_dedicated_list[0].cc_idx = current_sched_ue_cfg.supported_cc_list[0].enb_cc_idx; // Load PCell dedicated configuration srslte::set_phy_cfg_t_dedicated_cfg(&phy_rrc_dedicated_list[0].phy_cfg, phys_cfg_ded); // Deactivates eNb/Cells for this UE for (uint32_t cc = 1; cc < phy_rrc_dedicated_list.size(); cc++) { - phy_rrc_dedicated_list[cc].active = false; + phy_rrc_dedicated_list[cc].configured = false; } // Send configuration to physical layer @@ -2211,8 +2211,8 @@ void rrc::ue::apply_reconf_phy_config(const asn1::rrc::rrc_conn_recfg_r8_ies_s& auto& phy_rrc_dedicated = phy_rrc_dedicated_list[scell_idx]; // Set eNb Cell/Carrier index - phy_rrc_dedicated.active = true; - phy_rrc_dedicated.cc_idx = current_sched_ue_cfg.supported_cc_list[scell_idx].enb_cc_idx; + phy_rrc_dedicated.configured = true; + phy_rrc_dedicated.cc_idx = current_sched_ue_cfg.supported_cc_list[scell_idx].enb_cc_idx; // Set SCell configuration srslte::set_phy_cfg_t_scell_config(&phy_rrc_dedicated.phy_cfg, scell_config); @@ -2233,7 +2233,7 @@ void rrc::ue::apply_reconf_phy_config(const asn1::rrc::rrc_conn_recfg_r8_ies_s& parent->rrc_log->error("SCell index (%d) is reserved for PCell\n", scell_to_release); } else if (scell_to_release < current_sched_ue_cfg.supported_cc_list.size()) { // Deactivate cell configuration - phy_rrc_dedicated_list[scell_to_release].active = false; + phy_rrc_dedicated_list[scell_to_release].configured = false; } else { // Out of bounds, log error parent->rrc_log->error("SCell index (%d) points out of the supported list (%ld)\n", diff --git a/srsenb/test/phy/enb_phy_test.cc b/srsenb/test/phy/enb_phy_test.cc index c20411e80..2bb7115d7 100644 --- a/srsenb/test/phy/enb_phy_test.cc +++ b/srsenb/test/phy/enb_phy_test.cc @@ -330,12 +330,12 @@ public: notify_rach_detected(); return 0; } - int ri_info(uint32_t tti, uint16_t rnti, uint32_t ri_value) override + int ri_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t ri_value) override { notify_ri_info(); return 0; } - int pmi_info(uint32_t tti, uint16_t rnti, uint32_t pmi_value) override + int pmi_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t pmi_value) override { notify_pmi_info(); return 0; @@ -345,7 +345,7 @@ public: notify_cqi_info(); return 0; } - int snr_info(uint32_t tti, uint16_t rnti, float snr_db) override + int snr_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, float snr_db) override { notify_snr_info(); return 0; @@ -363,7 +363,7 @@ public: notify_ack_info(); return 0; } - int crc_info(uint32_t tti, uint16_t rnti, uint32_t nof_bytes, bool crc_res) override + int crc_info(uint32_t tti, uint16_t rnti, uint32_t cc_idx, uint32_t nof_bytes, bool crc_res) override { notify_crc_info(); return 0; @@ -769,7 +769,7 @@ public: for (uint32_t i = 0; i < 4; i++) { common_dedicated.dl_cfg.cqi_report.pmi_idx = 16 + i; dedicated_list[i].cc_idx = (i + pcell_idx) % phy_cfg.phy_cell_cfg.size(); - dedicated_list[i].active = true; + dedicated_list[i].configured = true; dedicated_list[i].phy_cfg = common_dedicated; // Disable SCell stuff