Skip to content

Commit 5e6218d

Browse files
xavierarteagacodebot
authored andcommitted
phy: add PRACH buffer factory assertions
1 parent b2d05e2 commit 5e6218d

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

lib/phy/support/support_factories.cpp

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,17 @@ srsran::create_prach_buffer_pool(std::vector<std::unique_ptr<prach_buffer>>&& el
6464

6565
std::unique_ptr<prach_buffer> srsran::create_prach_buffer_long(unsigned max_nof_antennas, unsigned max_nof_fd_occasions)
6666
{
67+
static constexpr interval<unsigned, true> nof_rx_ports_range(1, MAX_PORTS);
68+
static constexpr interval<unsigned, true> max_nof_fd_prach_occasions_range(
69+
1, prach_constants::MAX_NOF_PRACH_FD_OCCASIONS);
70+
srsran_assert(nof_rx_ports_range.contains(max_nof_antennas),
71+
"The maximum number of antennas (i.e., {}) is out of range {}·",
72+
max_nof_antennas,
73+
nof_rx_ports_range);
74+
srsran_assert(max_nof_fd_prach_occasions_range.contains(max_nof_fd_occasions),
75+
"The maximum number of frequency domain occasions (i.e., {}) is out of range {}·",
76+
max_nof_fd_occasions,
77+
max_nof_fd_prach_occasions_range);
6778
return std::make_unique<prach_buffer_impl>(max_nof_antennas,
6879
1,
6980
max_nof_fd_occasions,
@@ -75,6 +86,23 @@ std::unique_ptr<prach_buffer> srsran::create_prach_buffer_short(unsigned max_nof
7586
unsigned max_nof_td_occasions,
7687
unsigned max_nof_fd_occasions)
7788
{
89+
static constexpr interval<unsigned, true> nof_rx_ports_range(1, MAX_PORTS);
90+
static constexpr interval<unsigned, true> max_nof_td_prach_occasions_range(
91+
1, prach_constants::MAX_NOF_PRACH_TD_OCCASIONS);
92+
static constexpr interval<unsigned, true> max_nof_fd_prach_occasions_range(
93+
1, prach_constants::MAX_NOF_PRACH_FD_OCCASIONS);
94+
srsran_assert(nof_rx_ports_range.contains(max_nof_antennas),
95+
"The maximum number of antennas (i.e., {}) is out of range {}·",
96+
max_nof_antennas,
97+
nof_rx_ports_range);
98+
srsran_assert(max_nof_td_prach_occasions_range.contains(max_nof_td_occasions),
99+
"The maximum number of time domain occasions (i.e., {}) is out of range {}·",
100+
max_nof_td_occasions,
101+
max_nof_td_prach_occasions_range);
102+
srsran_assert(max_nof_fd_prach_occasions_range.contains(max_nof_fd_occasions),
103+
"The maximum number of frequency domain occasions (i.e., {}) is out of range {}·",
104+
max_nof_fd_occasions,
105+
max_nof_fd_prach_occasions_range);
78106
return std::make_unique<prach_buffer_impl>(max_nof_antennas,
79107
max_nof_td_occasions,
80108
max_nof_fd_occasions,

0 commit comments

Comments
 (0)