SRSLTE: fix PUCCH 1b Channel selection resource

master
Xavier Arteaga 5 years ago committed by Xavier Arteaga
parent 3f5c270fce
commit cd12307c91

@ -1310,7 +1310,12 @@ int srslte_pucch_cs_resources(srslte_pucch_cfg_t* cfg, srslte_uci_cfg_t* uci_cfg
// If grant has been scheduled in PCell
if (uci_cfg->ack[i].grant_cc_idx == 0) {
for (uint32_t j = 0; j < uci_cfg->ack[i].nof_acks && k < SRSLTE_PUCCH_CS_MAX_ACK; j++) {
n_pucch_i[k++] = uci_cfg->ack[i].ncce[0] + cfg->N_pucch_1 + j;
if (k % 2 == 0) {
n_pucch_i[k] = cfg->n1_pucch_an_cs[uci_cfg->ack[i].tpc_for_pucch][k / 2];
} else {
n_pucch_i[k] = uci_cfg->ack[i].ncce[0] + cfg->N_pucch_1 + 1;
}
k++;
}
} else {
for (uint32_t j = 0; j < uci_cfg->ack[i].nof_acks; j++) {

@ -1008,14 +1008,14 @@ static void gen_ack_fdd(srslte_pdsch_ack_t* ack_info, srslte_uci_data_t* uci_dat
uci_data->cfg.cqi.data_enable = false;
//
for (int i = 0; i < 2; i++) {
for (int i = 0; i < ack_info->nof_cc; i++) {
uci_data->cfg.ack[i].nof_acks = (tb_count != 0) ? nof_tb : 0;
}
}
} else {
// For 2 or more configured cells, report nof_tb per carrier except if there are no HARQ-ACK bits to report, in
// which case we set to 0
for (int i = 0; i < 2; i++) {
for (int i = 0; i < ack_info->nof_cc; i++) {
uci_data->cfg.ack[i].nof_acks = (tb_count != 0) ? nof_tb : 0;
}
}

@ -959,7 +959,7 @@ int srslte_ue_ul_encode(srslte_ue_ul_t* q, srslte_ul_sf_cfg_t* sf, srslte_ue_ul_
/* If all bits are DTX, do not transmit HARQ */
if (dtx_count == srslte_uci_cfg_total_ack(&cfg->ul_cfg.pusch.uci_cfg)) {
for (int i = 0; i < 2; i++) { // Format 1b-CS only supports 2 CC
for (int i = 0; i < SRSLTE_MAX_CARRIERS; i++) {
cfg->ul_cfg.pusch.uci_cfg.ack[i].nof_acks = 0;
}
}

Loading…
Cancel
Save