|
|
|
@ -33,26 +33,29 @@ public:
|
|
|
|
|
|
|
|
|
|
int init(const srsue::phy_args_t& args, srsue::stack_interface_phy_nr* stack_);
|
|
|
|
|
|
|
|
|
|
int init(const srsue::phy_args_t& args_);
|
|
|
|
|
int init(const srsue::phy_args_t& args_) override;
|
|
|
|
|
|
|
|
|
|
void set_earfcn(std::vector<uint32_t> earfcns);
|
|
|
|
|
|
|
|
|
|
void stop();
|
|
|
|
|
void stop() override;
|
|
|
|
|
|
|
|
|
|
void wait_initialize();
|
|
|
|
|
void get_metrics(phy_metrics_t* m);
|
|
|
|
|
void wait_initialize() override;
|
|
|
|
|
void get_metrics(phy_metrics_t* m) override;
|
|
|
|
|
|
|
|
|
|
std::string get_type() { return "vnf_nr"; };
|
|
|
|
|
std::string get_type() override { return "vnf_nr"; };
|
|
|
|
|
|
|
|
|
|
void start_plot();
|
|
|
|
|
void start_plot() override;
|
|
|
|
|
|
|
|
|
|
// RRC interface
|
|
|
|
|
bool set_config(const srslte::phy_cfg_nr_t& cfg) override;
|
|
|
|
|
|
|
|
|
|
// MAC interface
|
|
|
|
|
int tx_request(const tx_request_t& request);
|
|
|
|
|
int set_ul_grant(std::array<uint8_t, SRSLTE_RAR_UL_GRANT_NBITS>) { return SRSLTE_SUCCESS; };
|
|
|
|
|
void send_prach(const uint32_t preamble_idx, const int prach_occasion, const float target_power_dbm, const float ta_base_sec = 0.0f){};
|
|
|
|
|
int tx_request(const tx_request_t& request) override;
|
|
|
|
|
int set_ul_grant(std::array<uint8_t, SRSLTE_RAR_UL_GRANT_NBITS>) override { return SRSLTE_SUCCESS; };
|
|
|
|
|
void send_prach(const uint32_t preamble_idx,
|
|
|
|
|
const int prach_occasion,
|
|
|
|
|
const float target_power_dbm,
|
|
|
|
|
const float ta_base_sec = 0.0f) override{};
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
std::unique_ptr<srslte::srslte_basic_vnf> vnf;
|
|
|
|
|