UE: linked IF module, ready for testing
This commit is contained in:
Executable → Regular
+1
-1
@@ -389,7 +389,7 @@ typedef struct {
|
||||
uint8_t dmrs_type_a_position;
|
||||
uint8_t pdcch_config_sib1;
|
||||
uint8_t cell_barred;
|
||||
uint8_t intra_frquency_reselection;
|
||||
uint8_t intra_frequency_reselection;
|
||||
|
||||
uint16_t system_frame_number;
|
||||
uint8_t ssb_index;
|
||||
|
||||
@@ -624,4 +624,10 @@ uint16_t nr_rx_pbch( PHY_VARS_NR_UE *ue,
|
||||
// printf("[PBCH] decoder_output[%d] = %x\n",i,decoded_output[i]);
|
||||
//#endif
|
||||
|
||||
|
||||
ue->dl_indication.rx_ind.rx_request_body.pdu_index = FAPI_NR_RX_PDU_BCCH_BCH_TYPE;
|
||||
ue->dl_indication.rx_ind.rx_request_body.pdu_length = 3;
|
||||
ue->dl_indication.rx_ind.rx_request_body.pdu = &pbch_a[0];
|
||||
ue->if_inst->dl_indication(&ue->dl_indication);
|
||||
|
||||
}
|
||||
|
||||
@@ -992,6 +992,7 @@ typedef struct {
|
||||
NR_UE_COMMON common_vars;
|
||||
|
||||
nr_ue_if_module_t *if_inst;
|
||||
nr_downlink_indication_t dl_indication;
|
||||
|
||||
// point to the current rxTx thread index
|
||||
uint8_t current_thread_id[10];
|
||||
|
||||
Executable → Regular
+52
@@ -30,14 +30,66 @@
|
||||
* \warning
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "fapi_nr_ue_interface.h"
|
||||
#include "fapi_nr_ue_l1.h"
|
||||
|
||||
int8_t nr_ue_scheduled_response(nr_scheduled_response_t *scheduled_response){
|
||||
|
||||
if(scheduled_response != NULL){
|
||||
if(scheduled_response->dl_config != NULL){
|
||||
|
||||
}
|
||||
|
||||
if(scheduled_response->ul_config != NULL){
|
||||
|
||||
}
|
||||
|
||||
if(scheduled_response->tx_request != NULL){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int8_t nr_ue_phy_config_request(nr_phy_config_t *phy_config){
|
||||
|
||||
if(phy_config != NULL){
|
||||
if(phy_config->config_req.config_mask & FAPI_NR_CONFIG_REQUEST_MASK_PBCH){
|
||||
printf("[L1][IF module][PHY CONFIG]\n");
|
||||
printf("subcarrier spacing: %d\n", phy_config->config_req.pbch_config.subcarrier_spacing_common);
|
||||
printf("ssb carrier offset: %d\n", phy_config->config_req.pbch_config.ssb_subcarrier_offset);
|
||||
printf("dmrs type A position: %d\n", phy_config->config_req.pbch_config.dmrs_type_a_position);
|
||||
printf("pdcch config sib1: %d\n", phy_config->config_req.pbch_config.pdcch_config_sib1);
|
||||
printf("cell barred: %d\n", phy_config->config_req.pbch_config.cell_barred);
|
||||
printf("intra frequcney reselection: %d\n", phy_config->config_req.pbch_config.intra_frequency_reselection);
|
||||
printf("system frame number: %d\n", phy_config->config_req.pbch_config.system_frame_number);
|
||||
printf("ssb index: %d\n", phy_config->config_req.pbch_config.ssb_index);
|
||||
printf("half frame bit: %d\n", phy_config->config_req.pbch_config.half_frame_bit);
|
||||
printf("-------------------------------\n");
|
||||
}
|
||||
|
||||
if(phy_config->config_req.config_mask & FAPI_NR_CONFIG_REQUEST_MASK_DL_BWP_COMMON){
|
||||
|
||||
}
|
||||
|
||||
if(phy_config->config_req.config_mask & FAPI_NR_CONFIG_REQUEST_MASK_UL_BWP_COMMON){
|
||||
|
||||
}
|
||||
|
||||
if(phy_config->config_req.config_mask & FAPI_NR_CONFIG_REQUEST_MASK_DL_BWP_DEDICATED){
|
||||
|
||||
}
|
||||
|
||||
if(phy_config->config_req.config_mask & FAPI_NR_CONFIG_REQUEST_MASK_UL_BWP_DEDICATED){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -33,6 +33,8 @@
|
||||
#include "proto.h"
|
||||
#include "RRC/NR_UE/rrc_proto.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int8_t nr_ue_decode_mib(
|
||||
module_id_t module_id,
|
||||
int CC_id,
|
||||
@@ -44,6 +46,8 @@ int8_t nr_ue_decode_mib(
|
||||
void *pduP, // encoded MIB
|
||||
uint16_t pdu_len){
|
||||
|
||||
printf("[L2][MAC] decode mib\n");
|
||||
|
||||
NR_UE_MAC_INST_t *mac = get_mac_inst(module_id);
|
||||
|
||||
nr_mac_rrc_data_ind_ue( module_id, CC_id, gNB_index,
|
||||
@@ -79,7 +83,7 @@ int8_t nr_ue_decode_mib(
|
||||
mac->phy_config.config_req.pbch_config.dmrs_type_a_position = mac->mib->dmrs_TypeA_Position;
|
||||
mac->phy_config.config_req.pbch_config.pdcch_config_sib1 = mac->mib->pdcch_ConfigSIB1;
|
||||
mac->phy_config.config_req.pbch_config.cell_barred = mac->mib->cellBarred;
|
||||
mac->phy_config.config_req.pbch_config.intra_frquency_reselection = mac->mib->intraFreqReselection;
|
||||
mac->phy_config.config_req.pbch_config.intra_frequency_reselection = mac->mib->intraFreqReselection;
|
||||
mac->phy_config.config_req.pbch_config.half_frame_bit = half_frame_bit;
|
||||
mac->phy_config.config_req.config_mask |= FAPI_NR_CONFIG_REQUEST_MASK_PBCH;
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
#include "NR_IF_Module.h"
|
||||
#include "LAYER2/NR_MAC_UE/proto.h"
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#define MAX_IF_MODULES 100
|
||||
|
||||
@@ -50,7 +50,7 @@ int8_t handle_bcch_bch(uint32_t pdu_len, uint8_t *pduP){
|
||||
extra_bits,
|
||||
0, // Lssb = 64 is not support
|
||||
pduP,
|
||||
3 );
|
||||
pdu_len );
|
||||
|
||||
|
||||
|
||||
@@ -69,23 +69,24 @@ int8_t nr_ue_dl_indication(nr_downlink_indication_t *dl_info){
|
||||
|
||||
// clean up scheduled_response structure
|
||||
|
||||
if(dl_info->rx_ind != NULL){
|
||||
switch(dl_info->rx_ind->rx_request_body.pdu_index){
|
||||
//if(dl_info->rx_ind != NULL){
|
||||
printf("[L2][IF MODULE][DL INDICATION][RX_IND]\n");
|
||||
switch(dl_info->rx_ind.rx_request_body.pdu_index){
|
||||
case FAPI_NR_RX_PDU_BCCH_BCH_TYPE:
|
||||
handle_bcch_bch(dl_info->rx_ind->rx_request_body.pdu_length, dl_info->rx_ind->rx_request_body.pdu);
|
||||
handle_bcch_bch(dl_info->rx_ind.rx_request_body.pdu_length, dl_info->rx_ind.rx_request_body.pdu);
|
||||
break;
|
||||
case FAPI_NR_RX_PDU_BCCH_DLSCH_TYPE:
|
||||
handle_bcch_dlsch(dl_info->rx_ind->rx_request_body.pdu_length, dl_info->rx_ind->rx_request_body.pdu);
|
||||
handle_bcch_dlsch(dl_info->rx_ind.rx_request_body.pdu_length, dl_info->rx_ind.rx_request_body.pdu);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
//}
|
||||
|
||||
if(dl_info->dci_ind != NULL){
|
||||
//if(dl_info->dci_ind != NULL){
|
||||
|
||||
}
|
||||
//}
|
||||
|
||||
if(nr_ue_if_module_inst[module_id] != NULL){
|
||||
nr_ue_if_module_inst[module_id]->scheduled_response(&mac->scheduled_response);
|
||||
|
||||
@@ -50,10 +50,10 @@ typedef struct {
|
||||
|
||||
/// NR UE FAPI-like P7 message, direction: L1 to L2
|
||||
/// data reception indication structure
|
||||
fapi_nr_rx_indication_t *rx_ind;
|
||||
fapi_nr_rx_indication_t rx_ind;
|
||||
|
||||
/// dci reception indication structure
|
||||
fapi_nr_dci_indication_t *dci_ind;
|
||||
fapi_nr_dci_indication_t dci_ind;
|
||||
|
||||
} nr_downlink_indication_t;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user