From 6f3934acc0e8dba5fd42fc5f0f5ea6f1afc53555 Mon Sep 17 00:00:00 2001 From: Sakthivel Velumani Date: Tue, 7 Apr 2020 18:09:07 +0200 Subject: [PATCH] moved dci_pdu_rel15_t to mac_common --- openair2/LAYER2/NR_MAC_COMMON/nr_mac.h | 64 ++++++++++++ openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h | 127 ------------------------ 2 files changed, 64 insertions(+), 127 deletions(-) diff --git a/openair2/LAYER2/NR_MAC_COMMON/nr_mac.h b/openair2/LAYER2/NR_MAC_COMMON/nr_mac.h index 5801fabcfb..fd51602e23 100644 --- a/openair2/LAYER2/NR_MAC_COMMON/nr_mac.h +++ b/openair2/LAYER2/NR_MAC_COMMON/nr_mac.h @@ -92,6 +92,70 @@ typedef struct { uint8_t TAGID:2; // octet 1 [7:6] } __attribute__ ((__packed__)) NR_MAC_CE_TA; +// DCI pdu structures. Used in UE by nr_dci_size(but not filled in UE) +typedef struct { + uint16_t val; + uint8_t nbits; +} dci_field_t; + +typedef struct { + +uint8_t format_indicator; //1 bit +uint8_t ra_preamble_index; //6 bits +uint8_t ss_pbch_index; //6 bits +uint8_t prach_mask_index; //4 bits +uint8_t mcs; //5 bits +uint8_t ndi; //1 bit +uint8_t rv; //2 bits +uint8_t harq_pid; //4 bits +uint8_t tpc; //2 bits +uint8_t short_messages_indicator; //2 bits +uint8_t short_messages; //8 bits +uint8_t tb_scaling; //2 bits +uint8_t pucch_resource_indicator; //3 bits +uint8_t dmrs_sequence_initialization; //1 bit +uint8_t system_info_indicator; //1 bit + +uint8_t slot_format_indicator_count; +uint8_t *slot_format_indicators; + +uint8_t pre_emption_indication_count; +uint16_t *pre_emption_indications; //14 bit each + +uint8_t block_number_count; +uint8_t *block_numbers; +uint8_t padding; + +dci_field_t mcs2; //variable +dci_field_t ndi2; //variable +dci_field_t rv2; //variable +dci_field_t frequency_domain_assignment; //variable +dci_field_t time_domain_assignment; //variable +dci_field_t frequency_hopping_flag; //variable +dci_field_t vrb_to_prb_mapping; //variable +dci_field_t dai[2]; //variable +dci_field_t pdsch_to_harq_feedback_timing_indicator; //variable +dci_field_t carrier_indicator; //variable +dci_field_t bwp_indicator; //variable +dci_field_t prb_bundling_size_indicator; //variable +dci_field_t rate_matching_indicator; //variable +dci_field_t zp_csi_rs_trigger; //variable +dci_field_t transmission_configuration_indication; //variable +dci_field_t srs_request; //variable +dci_field_t cbgti; //variable +dci_field_t cbgfi; //variable +dci_field_t srs_resource_indicator; //variable +dci_field_t precoding_information; //variable +dci_field_t csi_request; //variable +dci_field_t ptrs_dmrs_association; //variable +dci_field_t beta_offset_indicator; //variable +dci_field_t cloded_loop_indicator; //variable +dci_field_t ul_sul_indicator; //variable +dci_field_t antenna_ports; //variable +dci_field_t reserved; //1_0/C-RNTI:10 bits, 1_0/P-RNTI: 6 bits, 1_0/SI-&RA-RNTI: 16 bits + +} dci_pdu_rel15_t; + // 38.321 ch6.2.1, 38.331 #define DL_SCH_LCID_CCCH 0x00 #define DL_SCH_LCID_DCCH 0x01 diff --git a/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h b/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h index 59a8df5114..b70253733a 100644 --- a/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h +++ b/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h @@ -203,131 +203,4 @@ typedef struct gNB_MAC_INST_s { int cce_list[MAX_NUM_BWP][MAX_NUM_CORESET][MAX_NUM_CCE]; } gNB_MAC_INST; -/*typedef struct { - - -uint8_t format_indicator; //1 bit -uint16_t frequency_domain_assignment; //up to 16 bits -uint8_t time_domain_assignment; // 4 bits -uint8_t frequency_hopping_flag; //1 bit - -uint8_t ra_preamble_index; //6 bits -uint8_t ss_pbch_index; //6 bits -uint8_t prach_mask_index; //4 bits - -uint8_t vrb_to_prb_mapping; //0 or 1 bit -uint8_t mcs; //5 bits -uint8_t ndi; //1 bit -uint8_t rv; //2 bits -uint8_t harq_pid; //4 bits -uint8_t dai; //0, 2 or 4 bits -uint8_t dai1; //1 or 2 bits -uint8_t dai2; //0 or 2 bits -uint8_t tpc; //2 bits -uint8_t pucch_resource_indicator; //3 bits -uint8_t pdsch_to_harq_feedback_timing_indicator; //0, 1, 2 or 3 bits - -uint8_t short_messages_indicator; //2 bits -uint8_t short_messages; //8 bits -uint8_t tb_scaling; //2 bits - -uint8_t carrier_indicator; //0 or 3 bits -uint8_t bwp_indicator; //0, 1 or 2 bits -uint8_t prb_bundling_size_indicator; //0 or 1 bits -uint8_t rate_matching_indicator; //0, 1 or 2 bits -uint8_t zp_csi_rs_trigger; //0, 1 or 2 bits -uint8_t transmission_configuration_indication; //0 or 3 bits -uint8_t srs_request; //2 bits -uint8_t cbgti; //CBG Transmission Information: 0, 2, 4, 6 or 8 bits -uint8_t cbgfi; //CBG Flushing Out Information: 0 or 1 bit -uint8_t dmrs_sequence_initialization; //0 or 1 bit - -uint8_t srs_resource_indicator; -uint8_t precoding_information; -uint8_t csi_request; -uint8_t ptrs_dmrs_association; -uint8_t beta_offset_indicator; //0 or 2 bits - -uint8_t slot_format_indicator_count; -uint8_t *slot_format_indicators; - -uint8_t pre_emption_indication_count; -uint16_t *pre_emption_indications; //14 bit - -uint8_t block_number_count; -uint8_t *block_numbers; - -uint8_t ul_sul_indicator; //0 or 1 bit -uint8_t antenna_ports; - -uint16_t reserved; //1_0/C-RNTI:10 bits, 1_0/P-RNTI: 6 bits, 1_0/SI-&RA-RNTI: 16 bits -uint16_t padding; - -} dci_pdu_rel15_t;*/ - -typedef struct { - uint16_t val; - uint8_t nbits; -} dci_field_t; - -typedef struct { - - -uint8_t format_indicator; //1 bit -uint8_t ra_preamble_index; //6 bits -uint8_t ss_pbch_index; //6 bits -uint8_t prach_mask_index; //4 bits -uint8_t mcs; //5 bits -uint8_t ndi; //1 bit -uint8_t rv; //2 bits -uint8_t harq_pid; //4 bits -uint8_t tpc; //2 bits -uint8_t short_messages_indicator; //2 bits -uint8_t short_messages; //8 bits -uint8_t tb_scaling; //2 bits -uint8_t pucch_resource_indicator; //3 bits -uint8_t dmrs_sequence_initialization; //1 bit -uint8_t system_info_indicator; //1 bit - -uint8_t slot_format_indicator_count; -uint8_t *slot_format_indicators; - -uint8_t pre_emption_indication_count; -uint16_t *pre_emption_indications; //14 bit each - -uint8_t block_number_count; -uint8_t *block_numbers; -uint8_t padding; - -dci_field_t mcs2; //variable -dci_field_t ndi2; //variable -dci_field_t rv2; //variable -dci_field_t frequency_domain_assignment; //variable -dci_field_t time_domain_assignment; //variable -dci_field_t frequency_hopping_flag; //variable -dci_field_t vrb_to_prb_mapping; //variable -dci_field_t dai[2]; //variable -dci_field_t pdsch_to_harq_feedback_timing_indicator; //variable -dci_field_t carrier_indicator; //variable -dci_field_t bwp_indicator; //variable -dci_field_t prb_bundling_size_indicator; //variable -dci_field_t rate_matching_indicator; //variable -dci_field_t zp_csi_rs_trigger; //variable -dci_field_t transmission_configuration_indication; //variable -dci_field_t srs_request; //variable -dci_field_t cbgti; //variable -dci_field_t cbgfi; //variable -dci_field_t srs_resource_indicator; //variable -dci_field_t precoding_information; //variable -dci_field_t csi_request; //variable -dci_field_t ptrs_dmrs_association; //variable -dci_field_t beta_offset_indicator; //variable -dci_field_t cloded_loop_indicator; //variable -dci_field_t ul_sul_indicator; //variable -dci_field_t antenna_ports; //variable -dci_field_t reserved; //1_0/C-RNTI:10 bits, 1_0/P-RNTI: 6 bits, 1_0/SI-&RA-RNTI: 16 bits - -} dci_pdu_rel15_t; - - #endif /*__LAYER2_NR_MAC_GNB_H__ */