|
|
|
@ -249,6 +249,9 @@ void phy::configure_prach_params()
|
|
|
|
|
|
|
|
|
|
void phy::set_cells_to_meas(uint32_t earfcn, const std::set<uint32_t>& pci)
|
|
|
|
|
{
|
|
|
|
|
// As the SCell configuration is performed asynchronously through the cmd_worker, append the command adding the
|
|
|
|
|
// measurements to avoid a concurrency issue
|
|
|
|
|
cmd_worker.add_cmd([this, earfcn, pci]() {
|
|
|
|
|
// Check if the EARFCN matches with serving cell
|
|
|
|
|
uint32_t pcell_earfcn = 0;
|
|
|
|
|
sfsync.get_current_cell(nullptr, &pcell_earfcn);
|
|
|
|
@ -280,11 +283,13 @@ void phy::set_cells_to_meas(uint32_t earfcn, const std::set<uint32_t>& pci)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Configure a the empty carrier as it was CA
|
|
|
|
|
logger_phy.info("Setting new SCell measurement cc_idx=%d, earfcn=%d, pci=%d...", cc_empty, earfcn, cell.id);
|
|
|
|
|
set_scell(cell, cc_empty, earfcn);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Finally, set the serving cell measure
|
|
|
|
|
sfsync.set_cells_to_meas(earfcn, pci);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void phy::meas_stop()
|
|
|
|
|