From c2e80ffe9f7eddf82f9cc06c402b5ed6c098c6b1 Mon Sep 17 00:00:00 2001 From: francescomani <email@francescomani.it> Date: Thu, 20 Oct 2022 15:30:39 +0200 Subject: [PATCH] ndi init fix --- openair1/PHY/NR_TRANSPORT/nr_ulsch_decoding.c | 8 ++++---- openair1/SIMULATION/NR_PHY/ulsim.c | 1 - 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/openair1/PHY/NR_TRANSPORT/nr_ulsch_decoding.c b/openair1/PHY/NR_TRANSPORT/nr_ulsch_decoding.c index 601b0bf6fff..3a4196ef140 100644 --- a/openair1/PHY/NR_TRANSPORT/nr_ulsch_decoding.c +++ b/openair1/PHY/NR_TRANSPORT/nr_ulsch_decoding.c @@ -104,8 +104,8 @@ NR_gNB_ULSCH_t *new_gNB_ulsch(uint8_t max_ldpc_iterations, uint16_t N_RB_UL) ulsch->max_ldpc_iterations = max_ldpc_iterations; for (i=0; i<NR_MAX_ULSCH_HARQ_PROCESSES; i++) { - ulsch->harq_processes[i] = (NR_UL_gNB_HARQ_t *)malloc16_clear(sizeof(NR_UL_gNB_HARQ_t)); + ulsch->harq_processes[i]->ndi = 2; ulsch->harq_processes[i]->b = (uint8_t*)malloc16_clear(ulsch_bytes); ulsch->harq_processes[i]->c = (uint8_t**)malloc16_clear(a_segments*sizeof(uint8_t *)); ulsch->harq_processes[i]->d = (int16_t**)malloc16_clear(a_segments*sizeof(int16_t *)); @@ -450,8 +450,8 @@ uint32_t nr_ulsch_decoding(PHY_VARS_gNB *phy_vars_gNB, // target_code_rate is in 0.1 units float Coderate = (float) pusch_pdu->target_code_rate / 10240.0f; - LOG_D(PHY,"ULSCH Decoding, harq_pid %d TBS %d G %d mcs %d Nl %d nb_rb %d, Qm %d, Coderate %f RV %d round %d\n", - harq_pid, A, G, mcs, n_layers, nb_rb, Qm, Coderate, pusch_pdu->pusch_data.rv_index, harq_process->round); + LOG_D(PHY,"ULSCH Decoding, harq_pid %d TBS %d G %d mcs %d Nl %d nb_rb %d, Qm %d, Coderate %f RV %d round %d new RX %d\n", + harq_pid, A, G, mcs, n_layers, nb_rb, Qm, Coderate, pusch_pdu->pusch_data.rv_index, harq_process->round, harq_process->new_rx); p_decParams->BG = pusch_pdu->maintenance_parms_v3.ldpcBaseGraph; int kc; @@ -687,7 +687,7 @@ uint32_t nr_ulsch_decoding(PHY_VARS_gNB *phy_vars_gNB, LOG_D(PHY,"[gNB %d] ULSCH: Setting ACK for slot %d TBS %d\n", phy_vars_gNB->Mod_id,harq_process->slot,harq_process->TBS); harq_process->status = SCH_IDLE; - harq_process->round = 0; + harq_process->round = 0; ulsch->harq_mask &= ~(1 << harq_pid); LOG_D(PHY, "ULSCH received ok \n"); diff --git a/openair1/SIMULATION/NR_PHY/ulsim.c b/openair1/SIMULATION/NR_PHY/ulsim.c index cc758c5f377..9ca81c8e4b0 100644 --- a/openair1/SIMULATION/NR_PHY/ulsim.c +++ b/openair1/SIMULATION/NR_PHY/ulsim.c @@ -1093,7 +1093,6 @@ int main(int argc, char **argv) while (round < max_rounds && crc_status) { round_trials[round]++; ulsch_ue->harq_processes[harq_pid]->round = round; - gNB->ulsch[0]->harq_processes[harq_pid]->round = round; rv_index = nr_rv_round_map[round % 4]; UE_proc.nr_slot_tx = slot; -- GitLab