mirror of https://github.com/pvnis/srsRAN_4G.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
2.0 KiB
C
58 lines
2.0 KiB
C
3 years ago
|
/**
|
||
|
*
|
||
|
* \section COPYRIGHT
|
||
|
*
|
||
|
* Copyright 2013-2021 Software Radio Systems Limited
|
||
|
*
|
||
|
* By using this file, you agree to the terms and conditions set
|
||
|
* forth in the LICENSE file which can be found at the top level of
|
||
|
* the distribution.
|
||
|
*
|
||
|
*/
|
||
|
|
||
3 years ago
|
#ifndef SRSRAN_SCHED_NR_PHY_H
|
||
|
#define SRSRAN_SCHED_NR_PHY_H
|
||
3 years ago
|
|
||
3 years ago
|
#include "sched_nr_cfg.h"
|
||
3 years ago
|
|
||
|
namespace srsenb {
|
||
|
namespace sched_nr_impl {
|
||
|
|
||
|
uint32_t get_P(uint32_t bwp_nof_prb, bool config_1_or_2);
|
||
|
uint32_t get_nof_rbgs(uint32_t bwp_nof_prb, uint32_t bwp_start, bool config1_or_2);
|
||
|
|
||
3 years ago
|
using pdsch_bitmap = srsran::bounded_bitset<SCHED_NR_MAX_NOF_RBGS, true>;
|
||
|
using pusch_bitmap = srsran::bounded_bitset<SCHED_NR_MAX_NOF_RBGS, true>;
|
||
|
using rbg_interval = srsran::interval<uint32_t>;
|
||
|
|
||
|
rbg_interval find_empty_rbg_interval(const pdsch_bitmap& bitmap, uint32_t max_nof_rbgs);
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
bool fill_dci_rar(rbg_interval rbginterv, const sched_cell_params& cell, srsran_dci_dl_nr_t& dci);
|
||
|
|
||
3 years ago
|
class slot_ue;
|
||
3 years ago
|
void fill_dci_ue_cfg(const slot_ue& ue,
|
||
|
const rbgmask_t& rbgmask,
|
||
|
const sched_cell_params& cc_cfg,
|
||
|
srsran_dci_dl_nr_t& dci);
|
||
|
void fill_dci_ue_cfg(const slot_ue& ue,
|
||
|
const rbgmask_t& rbgmask,
|
||
|
const sched_cell_params& cc_cfg,
|
||
|
srsran_dci_ul_nr_t& dci);
|
||
|
void fill_pdsch_ue(const slot_ue& ue,
|
||
|
const rbgmask_t& rbgmask,
|
||
|
const sched_cell_params& cc_cfg,
|
||
|
srsran_sch_cfg_nr_t& sch);
|
||
|
void fill_pusch_ue(const slot_ue& ue,
|
||
|
const rbgmask_t& rbgmask,
|
||
|
const sched_cell_params& cc_cfg,
|
||
|
srsran_sch_cfg_nr_t& sch);
|
||
3 years ago
|
|
||
3 years ago
|
pucch_resource_grant find_pucch_resource(const slot_ue& ue, const rbgmask_t& rbgs, uint32_t tbs);
|
||
|
|
||
3 years ago
|
} // namespace sched_nr_impl
|
||
|
} // namespace srsenb
|
||
|
|
||
3 years ago
|
#endif // SRSRAN_SCHED_NR_PHY_H
|