add macro for invalid RNTI 0x0

This commit is contained in:
Andre Puschmann 2020-02-12 17:40:47 +01:00
parent 265037c202
commit 327aa97cfd
3 changed files with 9 additions and 6 deletions

View File

@ -71,6 +71,7 @@
typedef enum { SRSLTE_CP_NORM = 0, SRSLTE_CP_EXT } srslte_cp_t;
typedef enum { SRSLTE_SF_NORM = 0, SRSLTE_SF_MBSFN } srslte_sf_t;
#define SRSLTE_INVALID_RNTI 0x0 // TS 36.321 - Table 7.1-1 RNTI 0x0 isn't a valid DL RNTI
#define SRSLTE_CRNTI_START 0x000B
#define SRSLTE_CRNTI_END 0xFFF3
#define SRSLTE_RARNTI_START 0x0001

View File

@ -370,10 +370,9 @@ int cc_worker::decode_pdcch_dl()
{
int nof_grants = 0;
srslte_dci_dl_t dci[SRSLTE_MAX_CARRIERS] = {};
uint16_t dl_rnti = phy->stack->get_dl_sched_rnti(CURRENT_TTI);
if (dl_rnti) {
if (dl_rnti != SRSLTE_INVALID_RNTI) {
srslte_dci_dl_t dci[SRSLTE_MAX_CARRIERS] = {};
/* Blind search first without cross scheduling then with it if enabled */
for (int i = 0; i < (ue_dl_cfg.cfg.dci.cif_present ? 2 : 1) && !nof_grants; i++) {

View File

@ -291,7 +291,8 @@ uint16_t mac::get_ul_sched_rnti(uint32_t tti)
if (uernti.crnti) {
return uernti.crnti;
}
return 0;
Error("Couldn't configure RNTI for UL transmission.\n");
return SRSLTE_INVALID_RNTI;
}
bool mac::is_in_window(uint32_t tti, int* start, int* len)
@ -329,7 +330,7 @@ uint16_t mac::get_dl_sched_rnti(uint32_t tti)
// TODO: This scheduling decision belongs to RRC
if (si_window_length > 1) { // This is not a SIB1
if ((tti / 10) % 2 == 0 && (tti % 10) == 5) { // Skip subframe #5 for which SFN mod 2 = 0
return 0;
return SRSLTE_INVALID_RNTI;
}
}
Debug("SCHED: Searching SI-RNTI, tti=%d, window start=%d, length=%d\n", tti, si_window_start, si_window_length);
@ -352,7 +353,9 @@ uint16_t mac::get_dl_sched_rnti(uint32_t tti)
Debug("SCHED: Searching P-RNTI\n");
return SRSLTE_PRNTI;
}
return 0;
// turn off DCI search for this TTI
return SRSLTE_INVALID_RNTI;
}
void mac::bch_decoded_ok(uint8_t* payload, uint32_t len)