Added header comments to srslte_sfidx_tdd_nof_X family of functions.

Fixed a comment referring to an older TS release.
Remove elses after returns.
master
faluco 5 years ago committed by Andre Puschmann
parent 8c59606d6f
commit 9484db8a90

@ -194,8 +194,8 @@ typedef struct SRSLTE_API {
/// Uplink-downlink configuration, valid range is [0,6]. /// Uplink-downlink configuration, valid range is [0,6].
/// TS 36.211 v8.9.0 Table 4.2-2. /// TS 36.211 v8.9.0 Table 4.2-2.
uint32_t sf_config; uint32_t sf_config;
/// Special subframe symbol length configuration, valid range is [0,8]. /// Special subframe symbol length configuration, valid range is [0,9].
/// TS 36.211 v8.9.0 Table 4.2-1. /// TS 36.211 v13.13.0 Table 4.2-1.
uint32_t ss_config; uint32_t ss_config;
/// Set to true when the fields have been configured, otherwise false. /// Set to true when the fields have been configured, otherwise false.
bool configured; bool configured;
@ -379,14 +379,35 @@ SRSLTE_API bool srslte_nofprb_isvalid(uint32_t nof_prb);
*/ */
SRSLTE_API srslte_tdd_sf_t srslte_sfidx_tdd_type(srslte_tdd_config_t tdd_config, uint32_t sf_idx); SRSLTE_API srslte_tdd_sf_t srslte_sfidx_tdd_type(srslte_tdd_config_t tdd_config, uint32_t sf_idx);
SRSLTE_API uint32_t srslte_tdd_nof_harq(srslte_tdd_config_t tdd_config); /**
* Returns the number of UpPTS symbols in a subframe.
* Check TS 36.211 v13.13.0 Table 4.2-1.
*
* @param tdd_config TDD configuration.
* @return Returns the number of UpPTS symbols.
*/
SRSLTE_API uint32_t srslte_sfidx_tdd_nof_up(srslte_tdd_config_t tdd_config); SRSLTE_API uint32_t srslte_sfidx_tdd_nof_up(srslte_tdd_config_t tdd_config);
/**
* Returns the number of GP symbols in a subframe.
* Check TS 36.211 v13.13.0 Table 4.2-1.
*
* @param tdd_config TDD configuration.
* @return Returns the number of GP symbols.
*/
SRSLTE_API uint32_t srslte_sfidx_tdd_nof_gp(srslte_tdd_config_t tdd_config); SRSLTE_API uint32_t srslte_sfidx_tdd_nof_gp(srslte_tdd_config_t tdd_config);
/**
* Returns the number of DwPTS symbols in a subframe.
* Check TS 36.211 v13.13.0 Table 4.2-1.
*
* @param tdd_config TDD configuration.
* @return Returns the number of DwPTS symbols.
*/
SRSLTE_API uint32_t srslte_sfidx_tdd_nof_dw(srslte_tdd_config_t tdd_config); SRSLTE_API uint32_t srslte_sfidx_tdd_nof_dw(srslte_tdd_config_t tdd_config);
SRSLTE_API uint32_t srslte_tdd_nof_harq(srslte_tdd_config_t tdd_config);
SRSLTE_API uint32_t srslte_sfidx_tdd_nof_dw_slot(srslte_tdd_config_t tdd_config, uint32_t slot, srslte_cp_t cp); SRSLTE_API uint32_t srslte_sfidx_tdd_nof_dw_slot(srslte_tdd_config_t tdd_config, uint32_t slot, srslte_cp_t cp);
SRSLTE_API bool srslte_sfidx_isvalid(uint32_t sf_idx); SRSLTE_API bool srslte_sfidx_isvalid(uint32_t sf_idx);

@ -134,49 +134,51 @@ uint32_t srslte_sfidx_tdd_nof_dw_slot(srslte_tdd_config_t tdd_config, uint32_t s
} }
} }
static uint32_t tdd_nof_sf_symbols[10][3] = {{3, 10, 1}, // Length of DwPTS / GP / UpPTS symbols.
{9, 4, 1}, // TS 36.211 v13.13.0 Table 4.2-2.
{10, 3, 1}, static const uint32_t tdd_nof_sf_symbols[10][3] = {{3, 10, 1},
{11, 2, 1}, {9, 4, 1},
{12, 1, 1}, {10, 3, 1},
{3, 9, 2}, {11, 2, 1},
{9, 3, 2}, {12, 1, 1},
{10, 2, 2}, {3, 9, 2},
{11, 1, 1}, {9, 3, 2},
{6, 6, 2}}; {10, 2, 2},
{11, 1, 1},
{6, 6, 2}};
uint32_t srslte_sfidx_tdd_nof_dw(srslte_tdd_config_t tdd_config) uint32_t srslte_sfidx_tdd_nof_dw(srslte_tdd_config_t tdd_config)
{ {
if (tdd_config.ss_config < 10) { if (tdd_config.ss_config < 10) {
return tdd_nof_sf_symbols[tdd_config.ss_config][0]; return tdd_nof_sf_symbols[tdd_config.ss_config][0];
} else {
return 0;
} }
return 0;
} }
uint32_t srslte_sfidx_tdd_nof_gp(srslte_tdd_config_t tdd_config) uint32_t srslte_sfidx_tdd_nof_gp(srslte_tdd_config_t tdd_config)
{ {
if (tdd_config.ss_config < 10) { if (tdd_config.ss_config < 10) {
return tdd_nof_sf_symbols[tdd_config.ss_config][1]; return tdd_nof_sf_symbols[tdd_config.ss_config][1];
} else {
return 0;
} }
}
const static uint32_t tdd_nof_harq[7] = {7, 4, 2, 3, 2, 1, 6};
uint32_t srslte_tdd_nof_harq(srslte_tdd_config_t tdd_config) return 0;
{
return tdd_nof_harq[tdd_config.sf_config];
} }
uint32_t srslte_sfidx_tdd_nof_up(srslte_tdd_config_t tdd_config) uint32_t srslte_sfidx_tdd_nof_up(srslte_tdd_config_t tdd_config)
{ {
if (tdd_config.ss_config < 10) { if (tdd_config.ss_config < 10) {
return tdd_nof_sf_symbols[tdd_config.ss_config][2]; return tdd_nof_sf_symbols[tdd_config.ss_config][2];
} else {
return 0;
} }
return 0;
}
static const uint32_t tdd_nof_harq[7] = {7, 4, 2, 3, 2, 1, 6};
uint32_t srslte_tdd_nof_harq(srslte_tdd_config_t tdd_config)
{
return tdd_nof_harq[tdd_config.sf_config];
} }
bool srslte_sfidx_isvalid(uint32_t sf_idx) bool srslte_sfidx_isvalid(uint32_t sf_idx)

Loading…
Cancel
Save