UE primary sync ok, DU upper layers disabled, UE DCI decoding nok (partial)
This commit is contained in:
@@ -485,6 +485,8 @@ void phy_procedures_eNB_TX_process(uint8_t *bufferZone, int nbBlocks, PHY_VARS_e
|
||||
eNB->pdcch_vars[subframe&1].num_pdcch_symbols=hDL(bufferZone)->num_pdcch_symbols;
|
||||
eNB->pdcch_vars[subframe&1].num_dci=hDL(bufferZone)->num_dci;
|
||||
uint8_t num_mdci = eNB->mpdcch_vars[subframe&1].num_dci = hDL(bufferZone)->num_mdci;
|
||||
eNB->pbch_configured=true;
|
||||
memcpy(eNB->pbch_pdu,hDL(bufferZone)->pbch_pdu, 4);
|
||||
|
||||
// Remove all scheduled DL, we will populate from the CU sending
|
||||
for (int UE_id=0; UE_id<NUMBER_OF_UE_MAX; UE_id++) {
|
||||
@@ -684,6 +686,8 @@ void phy_procedures_eNB_TX_extract(uint8_t *bufferZone, PHY_VARS_eNB *eNB, L1_rx
|
||||
uint8_t num_pdcch_symbols = eNB->pdcch_vars[subframe&1].num_pdcch_symbols;
|
||||
uint8_t num_dci = eNB->pdcch_vars[subframe&1].num_dci;
|
||||
uint8_t num_mdci = eNB->mpdcch_vars[subframe&1].num_dci;
|
||||
memcpy(hDL(bufferZone)->pbch_pdu,eNB->pbch_pdu,4);
|
||||
|
||||
LOG_D(PHY,"num_pdcch_symbols %"PRIu8",number dci %"PRIu8"\n",num_pdcch_symbols, num_dci);
|
||||
|
||||
if (NFAPI_MODE==NFAPI_MONOLITHIC || NFAPI_MODE==NFAPI_MODE_PNF) {
|
||||
@@ -691,6 +695,7 @@ void phy_procedures_eNB_TX_extract(uint8_t *bufferZone, PHY_VARS_eNB *eNB, L1_rx
|
||||
hDL(bufferZone)->num_dci=num_dci;
|
||||
hDL(bufferZone)->num_mdci=num_mdci;
|
||||
hDL(bufferZone)->amp=AMP;
|
||||
LOG_D(PHY, "pbch configured: %d\n", eNB->pbch_configured);
|
||||
}
|
||||
|
||||
if (do_meas==1) stop_meas(&eNB->dlsch_common_and_dci);
|
||||
|
||||
@@ -109,9 +109,10 @@ void init_RU_proc(RU_t *ru) {
|
||||
|
||||
if (fs6) {
|
||||
if ( strncasecmp(fs6,"cu", 2) == 0 )
|
||||
threadCreate(&t, cu_fs6, (void *)ru, "MainCu", -1, OAI_PRIORITY_RT_MAX);
|
||||
else if ( strncasecmp(fs6,"du", 2) == 0 )
|
||||
threadCreate(&t, du_fs6, (void *)ru, "MainDu", -1, OAI_PRIORITY_RT_MAX);
|
||||
threadCreate(&t, cu_fs6, (void *)ru, "MainCu", -1, OAI_PRIORITY_RT_MAX);
|
||||
else if ( strncasecmp(fs6,"du", 2) == 0 ) {
|
||||
threadCreate(&t, du_fs6, (void *)ru, "MainDu", -1, OAI_PRIORITY_RT_MAX);
|
||||
}
|
||||
else
|
||||
AssertFatal(false, "environement variable fs6 is not cu or du");
|
||||
} else
|
||||
@@ -638,8 +639,8 @@ void rx_rf(RU_t *ru,int *frame,int *subframe) {
|
||||
} else {
|
||||
if (proc->timestamp_rx - old_ts != fp->samples_per_tti) {
|
||||
LOG_E(HW,"impossible shift in RFSIM\n");
|
||||
ru->ts_offset += (proc->timestamp_rx - old_ts - fp->samples_per_tti);
|
||||
proc->timestamp_rx = ts-ru->ts_offset;
|
||||
//ru->ts_offset += (proc->timestamp_rx - old_ts - fp->samples_per_tti);
|
||||
//proc->timestamp_rx = ts-ru->ts_offset;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -52,6 +52,7 @@ typedef struct {
|
||||
} fs6_ul_t;
|
||||
|
||||
typedef struct {
|
||||
uint8_t pbch_pdu[4];
|
||||
int num_pdcch_symbols;
|
||||
int num_dci;
|
||||
DCI_ALLOC_t dci_alloc[32];
|
||||
|
||||
@@ -155,7 +155,6 @@ int sendSubFrame(UDPsock_t *sock, void *bufferZone, ssize_t secondHeaderSize, ui
|
||||
nbBlocks--;
|
||||
} while (nbBlocks);
|
||||
|
||||
LOG_D(HW,"Sent: TS: %lu, frame: %d, subframe: %d\n",
|
||||
UDPheader->timestamp, *(((int *)UDPheader)+1), *(((int *)UDPheader)+2));
|
||||
LOG_D(HW,"Sent: TS: %lu\n", UDPheader->timestamp);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -49,6 +49,9 @@ int create_tasks(uint32_t enb_nb) {
|
||||
int rc;
|
||||
|
||||
if (enb_nb == 0) return 0;
|
||||
bool fs6Du=false;
|
||||
if ( getenv("fs6") != NULL && strncasecmp( getenv("fs6"), "du", 2) == 0 )
|
||||
fs6Du=true;
|
||||
|
||||
LOG_I(ENB_APP, "Creating ENB_APP eNB Task\n");
|
||||
rc = itti_create_task (TASK_ENB_APP, eNB_app_task, NULL);
|
||||
@@ -64,7 +67,7 @@ int create_tasks(uint32_t enb_nb) {
|
||||
}
|
||||
|
||||
|
||||
if (EPC_MODE_ENABLED && !NODE_IS_DU(type)) {
|
||||
if (EPC_MODE_ENABLED && !NODE_IS_DU(type) && !fs6Du ) {
|
||||
rc = itti_create_task(TASK_S1AP, s1ap_eNB_task, NULL);
|
||||
AssertFatal(rc >= 0, "Create task for S1AP failed\n");
|
||||
if (!(get_softmodem_params()->emulate_rf)){
|
||||
|
||||
@@ -593,8 +593,10 @@ int main( int argc, char **argv ) {
|
||||
|
||||
/* initializes PDCP and sets correct RLC Request/PDCP Indication callbacks
|
||||
* for monolithic/F1 modes */
|
||||
if ( getenv("fs6") == NULL || strncasecmp( getenv("fs6"), "du", 2) != 0 )
|
||||
init_pdcp();
|
||||
//if ( getenv("fs6") != NULL && strncasecmp( getenv("fs6"), "du", 2) == 0 )
|
||||
//RC.rrc[0]->node_type=ngran_eNB_DU;
|
||||
|
||||
init_pdcp();
|
||||
|
||||
if (create_tasks(1) < 0) {
|
||||
printf("cannot create ITTI tasks\n");
|
||||
|
||||
Reference in New Issue
Block a user