|
|
|
@ -35,7 +35,10 @@
|
|
|
|
|
|
|
|
|
|
namespace srsenb {
|
|
|
|
|
|
|
|
|
|
class enb_stack_lte final : public enb_stack_base, public stack_interface_phy_lte, public srsran::thread
|
|
|
|
|
class enb_stack_lte final : public enb_stack_base,
|
|
|
|
|
public stack_interface_phy_lte,
|
|
|
|
|
public stack_interface_phy_nr,
|
|
|
|
|
public srsran::thread
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
enb_stack_lte(srslog::sink& log_sink);
|
|
|
|
@ -105,6 +108,26 @@ public:
|
|
|
|
|
void toggle_padding() override { mac.toggle_padding(); }
|
|
|
|
|
void tti_clock() override;
|
|
|
|
|
|
|
|
|
|
// mac_interface_phy_nr
|
|
|
|
|
int slot_indication(const srsran_slot_cfg_t& slot_cfg) override { return mac_nr.slot_indication(slot_cfg); }
|
|
|
|
|
int get_dl_sched(const srsran_slot_cfg_t& slot_cfg, srsenb::mac_interface_phy_nr::dl_sched_t& dl_sched) override
|
|
|
|
|
{
|
|
|
|
|
return mac_nr.get_dl_sched(slot_cfg, dl_sched);
|
|
|
|
|
}
|
|
|
|
|
int get_ul_sched(const srsran_slot_cfg_t& slot_cfg, srsenb::mac_interface_phy_nr::ul_sched_t& ul_sched) override
|
|
|
|
|
{
|
|
|
|
|
return mac_nr.get_ul_sched(slot_cfg, ul_sched);
|
|
|
|
|
}
|
|
|
|
|
int pucch_info(const srsran_slot_cfg_t& slot_cfg, const pucch_info_t& pucch_info) override
|
|
|
|
|
{
|
|
|
|
|
return mac_nr.pucch_info(slot_cfg, pucch_info);
|
|
|
|
|
}
|
|
|
|
|
int pusch_info(const srsran_slot_cfg_t& slot_cfg, const pusch_info_t& pusch_info) override
|
|
|
|
|
{
|
|
|
|
|
return mac_nr.pusch_info(slot_cfg, pusch_info);
|
|
|
|
|
}
|
|
|
|
|
void rach_detected(const rach_info_t& rach_info) override { mac_nr.rach_detected(rach_info); }
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
static const int STACK_MAIN_THREAD_PRIO = 4;
|
|
|
|
|
// thread loop
|
|
|
|
|