Selected NR RA procedure PRACH send timeout according to system frame number period from PRACH PHY tables

master
Xavier Arteaga 4 years ago committed by Andre Puschmann
parent 51e73aa1fc
commit 715f8900a8

@ -51,6 +51,10 @@ public:
void reset(); void reset();
private: private:
static const uint32_t PRACH_SEND_CALLBACK_TIMEOUT =
16 * 10; ///< Limited from frame system number opportunity period in TS 38.211 tables 6.3.3.2-2, 6.3.3.2-3
///< and 6.3.3.2-4
mac_interface_proc_ra_nr& mac; mac_interface_proc_ra_nr& mac;
srslog::basic_logger& logger; srslog::basic_logger& logger;
phy_interface_mac_nr* phy = nullptr; phy_interface_mac_nr* phy = nullptr;

@ -172,7 +172,7 @@ void proc_ra_nr::ra_preamble_transmission()
// instruct the physical layer to transmit the Random Access Preamble using the selected PRACH occasion, corresponding // instruct the physical layer to transmit the Random Access Preamble using the selected PRACH occasion, corresponding
// RA-RNTI (if available), PREAMBLE_INDEX, and PREAMBLE_RECEIVED_TARGET_POWER. // RA-RNTI (if available), PREAMBLE_INDEX, and PREAMBLE_RECEIVED_TARGET_POWER.
phy->send_prach(prach_occasion, preamble_index, preamble_received_target_power); phy->send_prach(prach_occasion, preamble_index, preamble_received_target_power);
prach_send_timer.set(100, [this](uint32_t tid) { timer_expired(tid); }); // TODO find a suitable 100? prach_send_timer.set(PRACH_SEND_CALLBACK_TIMEOUT, [this](uint32_t tid) { timer_expired(tid); });
prach_send_timer.run(); prach_send_timer.run();
state = WAITING_FOR_PRACH_SENT; state = WAITING_FOR_PRACH_SENT;
} }

Loading…
Cancel
Save