Merge remote-tracking branch 'origin/nr-fix-harq-round' into integration_2022_wk05
This commit is contained in:
@@ -463,7 +463,7 @@ uint32_t nr_ulsch_decoding(PHY_VARS_gNB *phy_vars_gNB,
|
|||||||
|
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_gNB_ULSCH_DECODING,1);
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_gNB_ULSCH_DECODING,1);
|
||||||
harq_process->TBS = pusch_pdu->pusch_data.tb_size;
|
harq_process->TBS = pusch_pdu->pusch_data.tb_size;
|
||||||
harq_process->round = nr_rv_round_map[pusch_pdu->pusch_data.rv_index];
|
harq_process->round = nr_rv_to_round(pusch_pdu->pusch_data.rv_index);
|
||||||
|
|
||||||
harq_process->new_rx = false; // flag to indicate if this is a new reception for this harq (initialized to false)
|
harq_process->new_rx = false; // flag to indicate if this is a new reception for this harq (initialized to false)
|
||||||
if (harq_process->round == 0) {
|
if (harq_process->round == 0) {
|
||||||
|
|||||||
@@ -271,7 +271,6 @@ bool nr_ue_postDecode(PHY_VARS_NR_UE *phy_vars_ue, notifiedFIFO_elt_t *req, bool
|
|||||||
//LOG_D(PHY,"[UE %d] DLSCH: Setting NAK for SFN/SF %d/%d (pid %d, status %d, round %d, TBS %d, mcs %d) Kr %d r %d harq_process->round %d\n",
|
//LOG_D(PHY,"[UE %d] DLSCH: Setting NAK for SFN/SF %d/%d (pid %d, status %d, round %d, TBS %d, mcs %d) Kr %d r %d harq_process->round %d\n",
|
||||||
// phy_vars_ue->Mod_id, frame, nr_slot_rx, harq_pid,harq_process->status, harq_process->round,harq_process->TBS,harq_process->mcs,Kr,r,harq_process->round);
|
// phy_vars_ue->Mod_id, frame, nr_slot_rx, harq_pid,harq_process->status, harq_process->round,harq_process->TBS,harq_process->mcs,Kr,r,harq_process->round);
|
||||||
harq_process->ack = 0;
|
harq_process->ack = 0;
|
||||||
harq_process->round++;
|
|
||||||
if (harq_process->round >= dlsch->Mlimit) {
|
if (harq_process->round >= dlsch->Mlimit) {
|
||||||
harq_process->status = SCH_IDLE;
|
harq_process->status = SCH_IDLE;
|
||||||
harq_process->round = 0;
|
harq_process->round = 0;
|
||||||
|
|||||||
@@ -113,7 +113,16 @@
|
|||||||
#define NR_NB_TH_SLOT 2
|
#define NR_NB_TH_SLOT 2
|
||||||
|
|
||||||
extern const uint8_t nr_rv_round_map[4];
|
extern const uint8_t nr_rv_round_map[4];
|
||||||
extern const uint8_t nr_rv_round_map_ue[4];
|
|
||||||
|
static inline
|
||||||
|
uint8_t nr_rv_to_round(uint8_t rv)
|
||||||
|
{
|
||||||
|
for (uint8_t round = 0; round < 4; round++) {
|
||||||
|
if (nr_rv_round_map[round] == rv)
|
||||||
|
return round;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
NR_MU_0=0,
|
NR_MU_0=0,
|
||||||
|
|||||||
@@ -349,7 +349,7 @@ void downlink_harq_process(NR_DL_UE_HARQ_t *dl_harq, int harq_pid, int ndi, int
|
|||||||
dl_harq->DCINdi = ndi;
|
dl_harq->DCINdi = ndi;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
dl_harq->round = 2;
|
dl_harq->round = 3;
|
||||||
dl_harq->status = ACTIVE;
|
dl_harq->status = ACTIVE;
|
||||||
dl_harq->first_rx = 0;
|
dl_harq->first_rx = 0;
|
||||||
if (dl_harq->DCINdi != ndi) {
|
if (dl_harq->DCINdi != ndi) {
|
||||||
@@ -373,7 +373,7 @@ void downlink_harq_process(NR_DL_UE_HARQ_t *dl_harq, int harq_pid, int ndi, int
|
|||||||
dl_harq->status = SCH_IDLE;
|
dl_harq->status = SCH_IDLE;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
dl_harq->round = 3;
|
dl_harq->round = 2;
|
||||||
dl_harq->status = ACTIVE;
|
dl_harq->status = ACTIVE;
|
||||||
dl_harq->first_rx = 0;
|
dl_harq->first_rx = 0;
|
||||||
if (dl_harq->DCINdi != ndi) {
|
if (dl_harq->DCINdi != ndi) {
|
||||||
|
|||||||
@@ -78,8 +78,6 @@ fifo_dump_emos_UE emos_dump_UE;
|
|||||||
|
|
||||||
char nr_mode_string[NUM_UE_MODE][20] = {"NOT SYNCHED","PRACH","RAR","RA_WAIT_CR", "PUSCH", "RESYNCH"};
|
char nr_mode_string[NUM_UE_MODE][20] = {"NOT SYNCHED","PRACH","RAR","RA_WAIT_CR", "PUSCH", "RESYNCH"};
|
||||||
|
|
||||||
const uint8_t nr_rv_round_map_ue[4] = {0, 2, 1, 3};
|
|
||||||
|
|
||||||
#if defined(EXMIMO) || defined(OAI_USRP) || defined(OAI_BLADERF) || defined(OAI_LMSSDR) || defined(OAI_ADRV9371_ZC706)
|
#if defined(EXMIMO) || defined(OAI_USRP) || defined(OAI_BLADERF) || defined(OAI_LMSSDR) || defined(OAI_ADRV9371_ZC706)
|
||||||
extern uint64_t downlink_frequency[MAX_NUM_CCs][4];
|
extern uint64_t downlink_frequency[MAX_NUM_CCs][4];
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -59,8 +59,7 @@ double cpuf;
|
|||||||
//uint8_t nfapi_mode = 0;
|
//uint8_t nfapi_mode = 0;
|
||||||
uint16_t NB_UE_INST = 1;
|
uint16_t NB_UE_INST = 1;
|
||||||
|
|
||||||
uint8_t const nr_rv_round_map[4] = {0, 2, 1, 3};
|
uint8_t const nr_rv_round_map[4] = {0, 2, 3, 1};
|
||||||
uint8_t const nr_rv_round_map_ue[4] = {0, 2, 1, 3};
|
|
||||||
|
|
||||||
// needed for some functions
|
// needed for some functions
|
||||||
PHY_VARS_NR_UE *PHY_vars_UE_g[1][1] = { { NULL } };
|
PHY_VARS_NR_UE *PHY_vars_UE_g[1][1] = { { NULL } };
|
||||||
|
|||||||
@@ -63,8 +63,7 @@ uint16_t NB_UE_INST = 1;
|
|||||||
// needed for some functions
|
// needed for some functions
|
||||||
openair0_config_t openair0_cfg[MAX_CARDS];
|
openair0_config_t openair0_cfg[MAX_CARDS];
|
||||||
|
|
||||||
uint8_t const nr_rv_round_map[4] = {0, 2, 1, 3};
|
uint8_t const nr_rv_round_map[4] = {0, 2, 3, 1};
|
||||||
uint8_t const nr_rv_round_map_ue[4] = {0, 2, 1, 3};
|
|
||||||
|
|
||||||
uint64_t get_softmodem_optmask(void) {return 0;}
|
uint64_t get_softmodem_optmask(void) {return 0;}
|
||||||
softmodem_params_t *get_softmodem_params(void) {return 0;}
|
softmodem_params_t *get_softmodem_params(void) {return 0;}
|
||||||
|
|||||||
@@ -56,8 +56,7 @@ int32_t uplink_frequency_offset[MAX_NUM_CCs][4];
|
|||||||
double cpuf;
|
double cpuf;
|
||||||
//uint8_t nfapi_mode = 0;
|
//uint8_t nfapi_mode = 0;
|
||||||
uint16_t NB_UE_INST = 1;
|
uint16_t NB_UE_INST = 1;
|
||||||
uint8_t const nr_rv_round_map[4] = {0, 2, 1, 3};
|
uint8_t const nr_rv_round_map[4] = {0, 2, 3, 1};
|
||||||
uint8_t const nr_rv_round_map_ue[4] = {0, 2, 1, 3};
|
|
||||||
|
|
||||||
// needed for some functions
|
// needed for some functions
|
||||||
PHY_VARS_NR_UE * PHY_vars_UE_g[1][1]={{NULL}};
|
PHY_VARS_NR_UE * PHY_vars_UE_g[1][1]={{NULL}};
|
||||||
|
|||||||
@@ -56,8 +56,7 @@ int32_t uplink_frequency_offset[MAX_NUM_CCs][4];
|
|||||||
|
|
||||||
void init_downlink_harq_status(NR_DL_UE_HARQ_t *dl_harq) {}
|
void init_downlink_harq_status(NR_DL_UE_HARQ_t *dl_harq) {}
|
||||||
|
|
||||||
uint8_t const nr_rv_round_map[4] = {0, 2, 1, 3};
|
uint8_t const nr_rv_round_map[4] = {0, 2, 3, 1};
|
||||||
uint8_t const nr_rv_round_map_ue[4] = {0, 2, 1, 3};
|
|
||||||
|
|
||||||
double cpuf;
|
double cpuf;
|
||||||
//uint8_t nfapi_mode = 0;
|
//uint8_t nfapi_mode = 0;
|
||||||
|
|||||||
@@ -244,7 +244,6 @@ nrUE_params_t *get_nrUE_params(void) {
|
|||||||
// needed for some functions
|
// needed for some functions
|
||||||
uint16_t n_rnti = 0x1234;
|
uint16_t n_rnti = 0x1234;
|
||||||
openair0_config_t openair0_cfg[MAX_CARDS];
|
openair0_config_t openair0_cfg[MAX_CARDS];
|
||||||
//const uint8_t nr_rv_round_map[4] = {0, 2, 1, 3};
|
|
||||||
|
|
||||||
channel_desc_t *UE2gNB[NUMBER_OF_UE_MAX][NUMBER_OF_gNB_MAX];
|
channel_desc_t *UE2gNB[NUMBER_OF_UE_MAX][NUMBER_OF_gNB_MAX];
|
||||||
|
|
||||||
|
|||||||
@@ -55,6 +55,7 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
const uint8_t nr_rv_round_map[4] = { 0, 2, 3, 1 };
|
||||||
uint16_t nr_pdcch_order_table[6] = { 31, 31, 511, 2047, 2047, 8191 };
|
uint16_t nr_pdcch_order_table[6] = { 31, 31, 511, 2047, 2047, 8191 };
|
||||||
|
|
||||||
uint8_t vnf_first_sched_entry = 1;
|
uint8_t vnf_first_sched_entry = 1;
|
||||||
|
|||||||
@@ -53,7 +53,6 @@
|
|||||||
//#define UL_HARQ_PRINT
|
//#define UL_HARQ_PRINT
|
||||||
extern RAN_CONTEXT_t RC;
|
extern RAN_CONTEXT_t RC;
|
||||||
|
|
||||||
const uint8_t nr_rv_round_map[4] = {0, 2, 3, 1};
|
|
||||||
//#define ENABLE_MAC_PAYLOAD_DEBUG 1
|
//#define ENABLE_MAC_PAYLOAD_DEBUG 1
|
||||||
|
|
||||||
//uint8_t mac_pdu[MAX_NR_DLSCH_PAYLOAD_BYTES];
|
//uint8_t mac_pdu[MAX_NR_DLSCH_PAYLOAD_BYTES];
|
||||||
|
|||||||
Reference in New Issue
Block a user