Commit d1923da0 authored by Laurent THOMAS's avatar Laurent THOMAS

trace dl ack/nack

parent 013656ab
......@@ -229,7 +229,7 @@ typedef struct {
uint8_t pre_dft_occ_len;
int16_t pucch_tx_power;
uint32_t n_bit;
uint64_t payload;
uint64_t payloadd;
} fapi_nr_ul_config_pucch_pdu;
typedef struct
......
......@@ -163,7 +163,7 @@ void nr_generate_pucch1(const PHY_VARS_NR_UE *ue,
const fapi_nr_ul_config_pucch_pdu *pucch_pdu)
{
uint16_t m0 = pucch_pdu->initial_cyclic_shift;
uint64_t payload = pucch_pdu->payload;
uint64_t payload = pucch_pdu->payloadd;
uint8_t startingSymbolIndex = pucch_pdu->start_symbol_index;
uint8_t nrofSymbols = pucch_pdu->nr_of_symbols;
uint16_t startingPRB = pucch_pdu->prb_start + pucch_pdu->bwp_start;
......@@ -648,7 +648,7 @@ void nr_generate_pucch2(const PHY_VARS_NR_UE *ue,
uint64_t b[16] = {0}; // limit to 1024-bit encoded length
// M_bit is the number of bits of block b (payload after encoding)
uint16_t M_bit = 0;
nr_uci_encoding(pucch_pdu->payload,
nr_uci_encoding(pucch_pdu->payloadd,
pucch_pdu->n_bit,
2,0,
pucch_pdu->nr_of_symbols,
......@@ -871,7 +871,7 @@ void nr_generate_pucch3_4(const PHY_VARS_NR_UE *ue,
uint16_t startingPRB = pucch_pdu->prb_start + pucch_pdu->bwp_start;
uint8_t add_dmrs = pucch_pdu->add_dmrs_flag;
nr_uci_encoding(pucch_pdu->payload,
nr_uci_encoding(pucch_pdu->payloadd,
pucch_pdu->n_bit,
pucch_pdu->format_type,
is_pi_over_2_bpsk_enabled,
......
......@@ -71,7 +71,7 @@ static void fill_uci_2_3_4(nfapi_nr_uci_pucch_pdu_format_2_3_4_t *pdu_2_3_4,
sizeof(pdu_2_3_4->csi_part1.csi_part1_payload));
for (int k = 0; k < csi_part1_byte_len; k++)
{
pdu_2_3_4->csi_part1.csi_part1_payload[k] = (pucch_pdu->payload >> (k * 8)) & 0xff;
pdu_2_3_4->csi_part1.csi_part1_payload[k] = (pucch_pdu->payloadd >> (k * 8)) & 0xff;
}
pdu_2_3_4->csi_part1.csi_part1_crc = 0;
}
......@@ -252,7 +252,7 @@ int8_t nr_ue_scheduled_response_stub(nr_scheduled_response_t *scheduled_response
mac->nr_ue_emul_l1.harq[k].active = false;
harq_pid = k;
AssertFatal(harq_index < pdu_0_1->harq.num_harq, "Invalid harq_index %d\n", harq_index);
pdu_0_1->harq.harq_list[harq_index].harq_value = !mac->dl_harq_info[k].ack;
pdu_0_1->harq.harq_list[harq_index].harq_value = !mac->dl_harq_info[k].acK;
harq_index++;
}
}
......
......@@ -360,7 +360,7 @@ typedef struct {
uint8_t pucch_resource_indicator;
frame_t ul_frame;
int ul_slot;
uint8_t ack;
uint8_t acK;
int n_CCE;
int N_CCE;
int dai_cumul;
......
......@@ -1437,7 +1437,7 @@ int nr_ue_configure_pucch(NR_UE_MAC_INST_t *mac,
pucch_pdu->time_domain_occ_idx = 0;
// Only HARQ transmitted in default PUCCH
pucch_pdu->mcs = get_pucch0_mcs(pucch->n_harq, 0, pucch->ack_payload, 0);
pucch_pdu->payload = pucch->ack_payload;
pucch_pdu->payloadd = pucch->ack_payload;
pucch_pdu->n_bit = 1;
}
else if (pucch->pucch_resource != NULL) {
......@@ -1500,13 +1500,13 @@ int nr_ue_configure_pucch(NR_UE_MAC_INST_t *mac,
// only HARQ bits are transmitted, resource selection depends on SR
// resource selection handled in function multiplex_pucch_resource
pucch_pdu->n_bit = pucch->n_harq;
pucch_pdu->payload = pucch->ack_payload;
pucch_pdu->payloadd = pucch->ack_payload;
}
else {
// For a positive SR transmission using PUCCH format 1,
// the UE transmits the PUCCH as described in 38.211 by setting b(0) = 0
pucch_pdu->n_bit = pucch->n_sr;
pucch_pdu->payload = 0;
pucch_pdu->payloadd = 0;
}
break;
case NR_PUCCH_Resource__format_PR_format2 :
......@@ -1523,7 +1523,7 @@ int nr_ue_configure_pucch(NR_UE_MAC_INST_t *mac,
2,
pucchres->format.choice.format2->nrofSymbols,
8);
pucch_pdu->payload = (pucch->csi_part1_payload << (pucch->n_harq + pucch->n_sr)) | (pucch->sr_payload << pucch->n_harq) | pucch->ack_payload;
pucch_pdu->payloadd = (pucch->csi_part1_payload << (pucch->n_harq + pucch->n_sr)) | (pucch->sr_payload << pucch->n_harq) | pucch->ack_payload;
break;
case NR_PUCCH_Resource__format_PR_format3 :
pucch_pdu->format_type = 3;
......@@ -1556,7 +1556,7 @@ int nr_ue_configure_pucch(NR_UE_MAC_INST_t *mac,
2 - pucch_pdu->pi_2bpsk,
pucchres->format.choice.format3->nrofSymbols - f3_dmrs_symbols,
12);
pucch_pdu->payload = (pucch->csi_part1_payload << (pucch->n_harq + pucch->n_sr)) | (pucch->sr_payload << pucch->n_harq) | pucch->ack_payload;
pucch_pdu->payloadd = (pucch->csi_part1_payload << (pucch->n_harq + pucch->n_sr)) | (pucch->sr_payload << pucch->n_harq) | pucch->ack_payload;
break;
case NR_PUCCH_Resource__format_PR_format4 :
pucch_pdu->format_type = 4;
......@@ -1574,7 +1574,7 @@ int nr_ue_configure_pucch(NR_UE_MAC_INST_t *mac,
pucch_pdu->pi_2bpsk = pucchfmt->pi2BPSK!= NULL ? 1 : 0;
pucch_pdu->add_dmrs_flag = pucchfmt->additionalDMRS!= NULL ? 1 : 0;
}
pucch_pdu->payload = (pucch->csi_part1_payload << (pucch->n_harq + pucch->n_sr)) | (pucch->sr_payload << pucch->n_harq) | pucch->ack_payload;
pucch_pdu->payloadd = (pucch->csi_part1_payload << (pucch->n_harq + pucch->n_sr)) | (pucch->sr_payload << pucch->n_harq) | pucch->ack_payload;
break;
default :
LOG_E(NR_MAC, "Undefined PUCCH format \n");
......@@ -2222,7 +2222,7 @@ bool get_downlink_ack(NR_UE_MAC_INST_t *mac, frame_t frame, int slot, PUCCH_sche
number_harq_feedback++;
int dai_index = current_harq->dai_cumul - 1;
if (current_harq->ack_received) {
ack_data[code_word][dai_index] = current_harq->ack;
ack_data[code_word][dai_index] = current_harq->acK;
current_harq->active = false;
current_harq->ack_received = false;
} else {
......@@ -2238,7 +2238,7 @@ bool get_downlink_ack(NR_UE_MAC_INST_t *mac, frame_t frame, int slot, PUCCH_sche
res_ind = temp_ind;
pucch->n_CCE = current_harq->n_CCE;
pucch->N_CCE = current_harq->N_CCE;
LOG_D(NR_MAC,"%4d.%2d Sent %d ack on harq pid %d\n", frame, slot, current_harq->ack, dl_harq_pid);
LOG_I(NR_MAC,"%4d.%2d Sent %d ack on harq pid %d\n", frame, slot, current_harq->acK, dl_harq_pid);
}
}
}
......
......@@ -1123,12 +1123,12 @@ void update_harq_status(NR_UE_MAC_INST_t *mac, uint8_t harq_pid, uint8_t ack_nac
NR_UE_HARQ_STATUS_t *current_harq = &mac->dl_harq_info[harq_pid];
if (current_harq->active) {
LOG_D(PHY,"Updating harq_status for harq_id %d, ack/nak %d\n", harq_pid, current_harq->ack);
LOG_I(PHY,"Updating harq_status for harq_id %d, ack/nak %d\n", harq_pid, current_harq->acK);
// we can prepare feedback for MSG4 in advance
if (mac->ra.ra_state == nrRA_WAIT_CONTENTION_RESOLUTION)
prepare_msg4_feedback(mac, harq_pid, ack_nack);
else {
current_harq->ack = ack_nack;
current_harq->acK = ack_nack;
current_harq->ack_received = true;
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment