diff --git a/nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h b/nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h index 74af02a900085a554937421317e39c612ddff0d7..4cf7791c003e24efa98bc696b49131d8e854722a 100644 --- a/nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h +++ b/nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h @@ -62,8 +62,8 @@ typedef struct typedef struct { nfapi_uint16_tlv_t numerology_index_mu; nfapi_uint16_tlv_t duplex_mode; - nfapi_uint16_tlv_t dl_prefix_type; - nfapi_uint16_tlv_t ul_prefix_type; + nfapi_uint16_tlv_t dl_cyclic_prefix_type; + nfapi_uint16_tlv_t ul_cyclic_prefix_type; } nfapi_nr_subframe_config_t; #define NFAPI_NR_SUBFRAME_CONFIG_DUPLEX_MODE_TAG 0x5001 @@ -153,60 +153,6 @@ typedef struct { nfapi_uint16_tlv_t p0_nominal; ///// L1 parameter 'p0-nominal-pucch' } nfapi_nr_pucch_config_t; -typedef struct { - nfapi_uint16_tlv_t TimeDomainResourceAllocation_k0; ///// L1 parameter 'K0' - nfapi_uint16_tlv_t TimeDomainResourceAllocation_mappingType; ///// L1 parameter 'Mapping-type' -} nfapi_nr_pdsch_config_t; - -typedef struct{ - nfapi_uint16_tlv_t controlResourceSetId; ///// L1 parameter 'CORESET-ID' - nfapi_uint16_tlv_t frequencyDomainResources ///// L1 parameter 'CORESET-freq-dom' - nfapi_uint16_tlv_t duration; ///// L1 parameter 'CORESET-time-duration' - nfapi_uint16_tlv_t cce_REG_MappingType; ///// L1 parameter 'CORESET-CCE-REG-mapping-type' - nfapi_uint16_tlv_t reg_BundleSize; ///// L1 parameter 'CORESET-REG-bundle-size' - nfapi_uint16_tlv_t interleaverSize; ///// L1 parameter 'CORESET-interleaver-size' - nfapi_uint16_tlv_t shiftIndex; ///// L1 parameter 'CORESET-shift-index' - nfapi_uint16_tlv_t precoderGranularity; ///// L1 parameter 'CORESET-precoder-granuality' - nfapi_uint16_tlv_t TCI_StateId; ///// L1 parameter 'TCI-StatesPDCCH' - nfapi_uint16_tlv_t tci_PresentInDCI; ///// L1 parameter 'TCI-PresentInDCI' - nfapi_uint16_tlv_t pdcch_DMRS_ScramblingID; ///// L1 parameter 'PDCCH-DMRS-Scrambling-ID' -} nfapi_nr_pdcch_commonControlResourcesSets_t; - -typedef struct{ - nfapi_uint16_tlv_t SearchSpaceId; - nfapi_uint16_tlv_t commonSearchSpaces_controlResourceSetId; - nfapi_uint16_tlv_t SearchSpace_monitoringSlotPeriodicityAndOffset; ///// L1 parameters 'Montoring-periodicity-PDCCH-slot' - nfapi_uint16_tlv_t monitoringSymbolsWithinSlot ///// L1 parameter 'Montoring-symbols-PDCCH-within-slot' - nfapi_uint16_tlv_t SearchSpace_nrofCandidates_aggregationLevel1; ///// L1 parameter 'Aggregation-level-1' - nfapi_uint16_tlv_t SearchSpace_nrofCandidates_aggregationLevel2; ///// L1 parameter 'Aggregation-level-2' - nfapi_uint16_tlv_t SearchSpace_nrofCandidates_aggregationLevel4; ///// L1 parameter 'Aggregation-level-4' - nfapi_uint16_tlv_t SearchSpace_nrofCandidates_aggregationLevel8; ///// L1 parameter 'Aggregation-level-8' - nfapi_uint16_tlv_t SearchSpace_nrofCandidates_aggregationLevel16; ///// L1 parameter 'Aggregation-level-16' - nfapi_uint16_tlv_t Common_dci_Format2_0_nrofCandidates_SFI_And_aggregationLevel; ///// L1 parameters 'SFI-Num-PDCCH-cand' and 'SFI-Aggregation-Level' - nfapi_uint16_tlv_t Common_dci_Format2_3_monitoringPeriodicity; ///// L1 parameter 'SRS-monitoring-periodicity' - nfapi_uint16_tlv_t Common_dci_Format2_3_nrofPDCCH_Candidates; ///// L1 parameter 'SRS-Num-PDCCH-cand' - nfapi_uint16_tlv_t ue_Specific__dci_Formats; -} nfapi_nr_pdcch_commonSearchSpaces_t; - -typedef struct { - nfapi_nr_pdcch_commonControlResourcesSets_t commonControlResourcesSets; - nfapi_nr_pfcch_commonSearchSpaces_t commonSearchSpaces; - nfapi_uint16_tlv_t searchSpaceSIB1; ///// L1 parameter 'rmsi-SearchSpace' - nfapi_uint16_tlv_t searchSpaceOtherSystemInformation; ///// L1 parameter 'osi-SearchSpace' - nfapi_uint16_tlv_t pagingSearchSpace; ///// L1 parameter 'paging-SearchSpace' - nfapi_uint16_tlv_t ra_SearchSpace; ///// L1 parameter 'ra-SearchSpace' - nfapi_uint16_tlv_t rach_ra_ControlResourceSet; ///// L1 parameter 'rach-coreset-configuration' - -} nfapi_nr_pdcch_common_config_t; - -typedef struct { - nfapi_uint16_tlv_t ssb_PositionsInBurst_PR; ///// L1 parameter 'SSB-Transmitted - nfapi_uint16_tlv_t ssb_periodicityServingCell; - nfapi_uint16_tlv_t dmrs_TypeA_Position; ///// Position of (first) DL DM-RS - nfapi_uint16_tlv_t NIA_SubcarrierSpacing; ///// Used only for non-initial access (e.g. SCells, PCell of SCG) - nfapi_uint16_tlv_t ss_PBCH_BlockPower; -} nfapi_nr_servingcellconfigcommon_t; - typedef struct { //NR TDD-UL-DL-ConfigCommon ///// L1 parameter 'UL-DL-configuration-common' nfapi_uint16_tlv_t referenceSubcarrierSpacing; ///// L1 parameter 'reference-SCS' @@ -259,8 +205,8 @@ typedef struct { } nfapi_nr_config_request_t; typedef enum { - NFAPI_NR_DL_DCI_FORMAT_1_0 = 0, - NFAPI_NR_DL_DCI_FORMAT_1_1, + NFAPI_NR_DL_DCI_FORMAT_1_0 = 0, + NFAPI_NR_DL_DCI_FORMAT_1_1, NFAPI_NR_DL_DCI_FORMAT_2_0, NFAPI_NR_DL_DCI_FORMAT_2_1, NFAPI_NR_DL_DCI_FORMAT_2_2, @@ -268,25 +214,25 @@ typedef enum { } nfapi_nr_dl_dci_format_e; typedef enum { - NFAPI_NR_UL_DCI_FORMAT_0_0 = 0, - NFAPI_NR_UL_DCI_FORMAT_1_0, + NFAPI_NR_UL_DCI_FORMAT_0_0 = 0, + NFAPI_NR_UL_DCI_FORMAT_1_0, } nfapi_nr_ul_dci_format_e; // P7 Sub Structures typedef struct { - nfapi_tl_t tl; + nfapi_tl_t tl; // conf - uint8_t dci_format; - uint8_t cce_idx; - uint8_t aggregation_level; - uint16_t rnti; + uint8_t dci_format; + uint8_t cce_idx; + uint8_t aggregation_level; + uint16_t rnti; // DCI fields } nfapi_nr_dl_config_dci_dl_pdu_rel15_t; #define NFAPI_NR_DL_CONFIG_REQUEST_DCI_DL_PDU_REL15_TAG typedef struct { - nfapi_nr_dl_config_dci_dl_pdu_rel15_t dci_dl_pdu_rel15; + nfapi_nr_dl_config_dci_dl_pdu_rel15_t dci_dl_pdu_rel15; } nfapi_nr_dl_config_dci_dl_pdu; @@ -384,4 +330,3 @@ typedef struct { } nfapi_nr_dl_config_request_t; #endif - diff --git a/openair1/PHY/INIT/nr_parms.c b/openair1/PHY/INIT/nr_parms.c index 65504162b37a5ee0c0533581f8b61fe2fd17698e..24a0282305479322113347490396c35edac9c05c 100644 --- a/openair1/PHY/INIT/nr_parms.c +++ b/openair1/PHY/INIT/nr_parms.c @@ -31,7 +31,7 @@ int nr_init_frame_parms(nfapi_nr_config_request_t* config, { int N_RB = config->rf_config.dl_channel_bandwidth.value; - int Ncp = config->subframe_config.dl_prefix_type.value; + int Ncp = config->subframe_config.dl_cyclic_prefix_type.value; int mu = config->subframe_config.numerology_index_mu.value; #if DISABLE_LOG_X diff --git a/openair1/SCHED_NR/nr_ru_procedures.c b/openair1/SCHED_NR/nr_ru_procedures.c index a2c117af7126093088106aade3746cdcd96c683f..fe0fac0558bd1f99fc1fe5f7575f979ca4beda91 100644 --- a/openair1/SCHED_NR/nr_ru_procedures.c +++ b/openair1/SCHED_NR/nr_ru_procedures.c @@ -86,7 +86,7 @@ void nr_feptx0(RU_t *ru,int slot) { void nr_feptx_ofdm_2thread(RU_t *ru) { NR_DL_FRAME_PARMS *fp=ru->nr_frame_parms; - nfapi_config_request_t *cfg = &ru->gNB_list[0]->gNB_config; + nfapi_nr_config_request_t *cfg = &ru->gNB_list[0]->gNB_config; RU_proc_t *proc = &ru->proc; struct timespec wait; int subframe = ru->proc.subframe_tx; @@ -185,7 +185,7 @@ void nr_init_feptx_thread(RU_t *ru,pthread_attr_t *attr_feptx) { void nr_feptx_ofdm(RU_t *ru) { NR_DL_FRAME_PARMS *fp=ru->nr_frame_parms; - nfapi_config_request_t *cfg = &ru->gNB_list[0]->gNB_config; + nfapi_nr_config_request_t *cfg = &ru->gNB_list[0]->gNB_config; unsigned int aa,slot_offset, slot_offset_F; int dummy_tx_b[7680*4] __attribute__((aligned(32))); diff --git a/openair1/SCHED_NR/sched_nr.h b/openair1/SCHED_NR/sched_nr.h index dde2c77d6dea8681a70dffb616aaf8d871f7a6c2..37558f2fac84f1843f7e132ceba0fd71178f2a8c 100644 --- a/openair1/SCHED_NR/sched_nr.h +++ b/openair1/SCHED_NR/sched_nr.h @@ -32,8 +32,8 @@ #include "PHY_INTERFACE/phy_interface.h" #include "SCHED/sched_eNB.h" -lte_subframe_t nr_subframe_select (nfapi_config_request_t *cfg, unsigned char subframe); -void nr_set_ssb_first_subcarrier(nfapi_config_request_t *cfg, NR_DL_FRAME_PARMS *fp); +nr_subframe_t nr_subframe_select(nfapi_nr_config_request_t *cfg,unsigned char subframe); +void nr_set_ssb_first_subcarrier(nfapi_nr_config_request_t *cfg, NR_DL_FRAME_PARMS *fp); void phy_procedures_gNB_TX(PHY_VARS_gNB *gNB, gNB_rxtx_proc_t *proc, int do_meas); void nr_init_feptx_thread(RU_t *ru,pthread_attr_t *attr_feptx); void nr_feptx_ofdm(RU_t *ru); diff --git a/openair2/RRC/NR/rrc_gNB.c b/openair2/RRC/NR/rrc_gNB.c index e9e4ca30eb863a0cd22e9c73691ab305cba39df5..5cef862208826d2816df99f6404fd73313fc4ecc 100644 --- a/openair2/RRC/NR/rrc_gNB.c +++ b/openair2/RRC/NR/rrc_gNB.c @@ -284,9 +284,9 @@ void* rrc_gnb_task(void* args_p){ const char *msg_name_p; instance_t instance; int result; - SRB_INFO *srb_info_p; - int CC_id; - protocol_ctxt_t ctxt; + //SRB_INFO *srb_info_p; + //int CC_id; + //protocol_ctxt_t ctxt; itti_mark_task_ready(TASK_RRC_GNB); LOG_I(NR_RRC,"Entering main loop of NR_RRC message task\n"); diff --git a/targets/RT/USER/nr-softmodem.c b/targets/RT/USER/nr-softmodem.c index ba6cf3e6153d164845881799405330b4e2ed6941..8bace5d0a2ee543eabef6af46e77ed32ae36cb40 100644 --- a/targets/RT/USER/nr-softmodem.c +++ b/targets/RT/USER/nr-softmodem.c @@ -573,7 +573,7 @@ void set_default_frame_parms(nfapi_nr_config_request_t *config[MAX_NUM_CCs], NR_ config[CC_id] = (nfapi_nr_config_request_t*) malloc(sizeof(nfapi_nr_config_request_t)); config[CC_id]->subframe_config.numerology_index_mu.value =1; config[CC_id]->subframe_config.duplex_mode.value = 1; //FDD - config[CC_id]->subframe_config.dl_prefix_type.value = 0; //NORMAL + config[CC_id]->subframe_config.dl_cyclic_prefix_type.value = 0; //NORMAL config[CC_id]->rf_config.dl_channel_bandwidth.value = 106; config[CC_id]->rf_config.ul_channel_bandwidth.value = 106; config[CC_id]->rf_config.tx_antenna_ports.value = 1;