ttcn3_dut: fix bug in DUT

reducing the sync queue len to 1 caused an issue when the
PHY was locking the mutex while trying to push a TTI event
on the stack.

instead of signaling the new TTI within the PHY, we now do it outside
in the DUT (after releasing the PHY mutex)
master
Andre Puschmann 4 years ago
parent 84f34bc736
commit 218fa5cf55

@ -159,7 +159,7 @@ void lte_ttcn3_phy::reset()
log.debug("%s not implemented.\n", __FUNCTION__); log.debug("%s not implemented.\n", __FUNCTION__);
}; };
// The interface for MAC // The interface for MAC (called from Stack thread context)
void lte_ttcn3_phy::configure_prach_params() void lte_ttcn3_phy::configure_prach_params()
{ {
log.debug("%s not implemented.\n", __FUNCTION__); log.debug("%s not implemented.\n", __FUNCTION__);
@ -167,6 +167,7 @@ void lte_ttcn3_phy::configure_prach_params()
void lte_ttcn3_phy::prach_send(uint32_t preamble_idx, int allowed_subframe, float target_power_dbm, float ta_base_sec) void lte_ttcn3_phy::prach_send(uint32_t preamble_idx, int allowed_subframe, float target_power_dbm, float ta_base_sec)
{ {
std::lock_guard<std::mutex> lock(mutex);
log.info("Sending PRACH with preamble %d on PCID=%d\n", preamble_idx, pcell.info.id); log.info("Sending PRACH with preamble %d on PCID=%d\n", preamble_idx, pcell.info.id);
prach_tti_tx = current_tti; prach_tti_tx = current_tti;
ra_trans_cnt++; ra_trans_cnt++;
@ -372,8 +373,6 @@ void lte_ttcn3_phy::run_tti()
sr_pending = false; sr_pending = false;
sr_tx_tti = current_tti; sr_tx_tti = current_tti;
} }
stack->run_tti(current_tti, 1);
} }
void lte_ttcn3_phy::set_cells_to_meas(uint32_t earfcn, const std::set<uint32_t>& pci) {} void lte_ttcn3_phy::set_cells_to_meas(uint32_t earfcn, const std::set<uint32_t>& pci) {}

@ -146,6 +146,7 @@ void ttcn3_ue::new_tb(const srsue::mac_interface_phy_lte::mac_grant_dl_t mac_gra
void ttcn3_ue::set_current_tti(uint32_t tti) void ttcn3_ue::set_current_tti(uint32_t tti)
{ {
phy->set_current_tti(tti); phy->set_current_tti(tti);
stack->run_tti(tti, 1);
} }
uint16_t ttcn3_ue::get_dl_sched_rnti(uint32_t tti) uint16_t ttcn3_ue::get_dl_sched_rnti(uint32_t tti)

Loading…
Cancel
Save