Commit ae090a30 authored by francescomani's avatar francescomani

fixes for FR2 RA

parent fad740b5
...@@ -142,7 +142,7 @@ void nr_fill_rx_indication(fapi_nr_rx_indication_t *rx_ind, ...@@ -142,7 +142,7 @@ void nr_fill_rx_indication(fapi_nr_rx_indication_t *rx_ind,
case FAPI_NR_RX_PDU_TYPE_SSB: case FAPI_NR_RX_PDU_TYPE_SSB:
rx_ind->rx_indication_body[n_pdus - 1].ssb_pdu.pdu = ue->pbch_vars[gNB_id]->decoded_output; rx_ind->rx_indication_body[n_pdus - 1].ssb_pdu.pdu = ue->pbch_vars[gNB_id]->decoded_output;
rx_ind->rx_indication_body[n_pdus - 1].ssb_pdu.additional_bits = ue->pbch_vars[gNB_id]->xtra_byte; rx_ind->rx_indication_body[n_pdus - 1].ssb_pdu.additional_bits = ue->pbch_vars[gNB_id]->xtra_byte;
rx_ind->rx_indication_body[n_pdus - 1].ssb_pdu.ssb_index = frame_parms->ssb_index; rx_ind->rx_indication_body[n_pdus - 1].ssb_pdu.ssb_index = (frame_parms->ssb_index)&0x7;
rx_ind->rx_indication_body[n_pdus - 1].ssb_pdu.ssb_length = frame_parms->Lmax; rx_ind->rx_indication_body[n_pdus - 1].ssb_pdu.ssb_length = frame_parms->Lmax;
rx_ind->rx_indication_body[n_pdus - 1].ssb_pdu.cell_id = frame_parms->Nid_cell; rx_ind->rx_indication_body[n_pdus - 1].ssb_pdu.cell_id = frame_parms->Nid_cell;
rx_ind->rx_indication_body[n_pdus - 1].ssb_pdu.ssb_start_subcarrier = frame_parms->ssb_start_subcarrier; rx_ind->rx_indication_body[n_pdus - 1].ssb_pdu.ssb_start_subcarrier = frame_parms->ssb_start_subcarrier;
......
...@@ -384,6 +384,7 @@ typedef struct { ...@@ -384,6 +384,7 @@ typedef struct {
NR_Type0_PDCCH_CSS_config_t type0_PDCCH_CSS_config; NR_Type0_PDCCH_CSS_config_t type0_PDCCH_CSS_config;
NR_SearchSpace_t *search_space_zero; NR_SearchSpace_t *search_space_zero;
NR_ControlResourceSet_t *coreset0; NR_ControlResourceSet_t *coreset0;
frequency_range_t frequency_range;
dci_pdu_rel15_t def_dci_pdu_rel15[8]; dci_pdu_rel15_t def_dci_pdu_rel15[8];
......
...@@ -109,7 +109,6 @@ int8_t nr_ue_decode_mib(module_id_t module_id, ...@@ -109,7 +109,6 @@ int8_t nr_ue_decode_mib(module_id_t module_id,
NR_UE_MAC_INST_t *mac = get_mac_inst(module_id); NR_UE_MAC_INST_t *mac = get_mac_inst(module_id);
mac->physCellId = cell_id; mac->physCellId = cell_id;
frequency_range_t frequency_range;
nr_mac_rrc_data_ind_ue( module_id, cc_id, gNB_index, 0, 0, 0, NR_BCCH_BCH, (uint8_t *) pduP, 3 ); // fixed 3 bytes MIB PDU nr_mac_rrc_data_ind_ue( module_id, cc_id, gNB_index, 0, 0, 0, NR_BCCH_BCH, (uint8_t *) pduP, 3 ); // fixed 3 bytes MIB PDU
AssertFatal(mac->mib != NULL, "nr_ue_decode_mib() mac->mib == NULL\n"); AssertFatal(mac->mib != NULL, "nr_ue_decode_mib() mac->mib == NULL\n");
...@@ -125,16 +124,17 @@ int8_t nr_ue_decode_mib(module_id_t module_id, ...@@ -125,16 +124,17 @@ int8_t nr_ue_decode_mib(module_id_t module_id,
frame = frame << 4; frame = frame << 4;
frame = frame | frame_number_4lsb; frame = frame | frame_number_4lsb;
if(ssb_length == 64){ if(ssb_length == 64){
frequency_range = FR2; mac->frequency_range = FR2;
for (int i=0; i<3; i++) for (int i=0; i<3; i++)
ssb_index += (((extra_bits>>(7-i))&0x01)<<(3+i)); ssb_index += (((extra_bits>>(7-i))&0x01)<<(3+i));
}else{ }else{
frequency_range = FR1; mac->frequency_range = FR1;
if(ssb_subcarrier_offset_msb){ if(ssb_subcarrier_offset_msb){
ssb_subcarrier_offset = ssb_subcarrier_offset | 0x10; ssb_subcarrier_offset = ssb_subcarrier_offset | 0x10;
} }
} }
LOG_D(MAC,"system frame number(6 MSB bits): %d\n", mac->mib->systemFrameNumber.buf[0]); LOG_D(MAC,"system frame number(6 MSB bits): %d\n", mac->mib->systemFrameNumber.buf[0]);
LOG_D(MAC,"system frame number(with LSB): %d\n", (int)frame); LOG_D(MAC,"system frame number(with LSB): %d\n", (int)frame);
LOG_D(MAC,"subcarrier spacing (0=15or60, 1=30or120): %d\n", (int)mac->mib->subCarrierSpacingCommon); LOG_D(MAC,"subcarrier spacing (0=15or60, 1=30or120): %d\n", (int)mac->mib->subCarrierSpacingCommon);
...@@ -163,7 +163,7 @@ int8_t nr_ue_decode_mib(module_id_t module_id, ...@@ -163,7 +163,7 @@ int8_t nr_ue_decode_mib(module_id_t module_id,
ssb_subcarrier_offset, ssb_subcarrier_offset,
ssb_start_symbol, ssb_start_symbol,
scs_ssb, scs_ssb,
frequency_range, mac->frequency_range,
ssb_index, ssb_index,
ssb_offset_point_a); ssb_offset_point_a);
......
...@@ -1215,7 +1215,7 @@ static void build_ro_list(NR_UE_MAC_INST_t *mac) { ...@@ -1215,7 +1215,7 @@ static void build_ro_list(NR_UE_MAC_INST_t *mac) {
prach_config_info_p = get_prach_config_info(fr2_flag, config_index, unpaired); prach_config_info_p = get_prach_config_info(fr2_flag, config_index, unpaired);
if (fr2_flag > 0) { //FR2 if (mac->frequency_range == FR2) { //FR2
x = prach_config_info_p[2]; x = prach_config_info_p[2];
y = prach_config_info_p[3]; y = prach_config_info_p[3];
......
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