Call trigger_scheduler defined in nfapi_vnf.c instead of redefining it
This commit is contained in:
committed by
Robert Schmidt
parent
e3bad16ab8
commit
3fb20d960b
@@ -746,6 +746,9 @@ set(NFAPI_USER_SRC
|
|||||||
add_library(NFAPI_USER_LIB ${NFAPI_USER_SRC})
|
add_library(NFAPI_USER_LIB ${NFAPI_USER_SRC})
|
||||||
target_link_libraries(NFAPI_USER_LIB PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs UTIL)
|
target_link_libraries(NFAPI_USER_LIB PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs UTIL)
|
||||||
target_link_libraries(NFAPI_USER_LIB PRIVATE nr_fapi_p7)
|
target_link_libraries(NFAPI_USER_LIB PRIVATE nr_fapi_p7)
|
||||||
|
if(OAI_AERIAL)
|
||||||
|
target_compile_definitions(NFAPI_USER_LIB PRIVATE ENABLE_AERIAL)
|
||||||
|
endif()
|
||||||
include_directories(${NFAPI_USER_DIR})
|
include_directories(${NFAPI_USER_DIR})
|
||||||
|
|
||||||
# Layer 1
|
# Layer 1
|
||||||
|
|||||||
@@ -93,47 +93,13 @@ int aerial_phy_nr_uci_indication(nfapi_nr_uci_indication_t *ind)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
NR_Sched_Rsp_t g_sched_resp;
|
|
||||||
void gNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frame, sub_frame_t slot, NR_Sched_Rsp_t* sched_info);
|
void gNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frame, sub_frame_t slot, NR_Sched_Rsp_t* sched_info);
|
||||||
int oai_fapi_dl_tti_req(nfapi_nr_dl_tti_request_t *dl_config_req);
|
int oai_fapi_dl_tti_req(nfapi_nr_dl_tti_request_t *dl_config_req);
|
||||||
int oai_fapi_ul_tti_req(nfapi_nr_ul_tti_request_t *ul_tti_req);
|
int oai_fapi_ul_tti_req(nfapi_nr_ul_tti_request_t *ul_tti_req);
|
||||||
int oai_fapi_tx_data_req(nfapi_nr_tx_data_request_t* tx_data_req);
|
int oai_fapi_tx_data_req(nfapi_nr_tx_data_request_t* tx_data_req);
|
||||||
int oai_fapi_ul_dci_req(nfapi_nr_ul_dci_request_t* ul_dci_req);
|
int oai_fapi_ul_dci_req(nfapi_nr_ul_dci_request_t* ul_dci_req);
|
||||||
int oai_fapi_send_end_request(int cell, uint32_t frame, uint32_t slot);
|
int oai_fapi_send_end_request(int cell, uint32_t frame, uint32_t slot);
|
||||||
|
extern int trigger_scheduler(nfapi_nr_slot_indication_scf_t *slot_ind);
|
||||||
int trigger_scheduler(nfapi_nr_slot_indication_scf_t *slot_ind)
|
|
||||||
{
|
|
||||||
|
|
||||||
NR_UL_IND_t ind = {.frame = slot_ind->sfn, .slot = slot_ind->slot, };
|
|
||||||
NR_UL_indication(&ind);
|
|
||||||
// Call into the scheduler (this is hardcoded and should be init properly!)
|
|
||||||
// memset(sched_resp, 0, sizeof(*sched_resp));
|
|
||||||
gNB_dlsch_ulsch_scheduler(0, slot_ind->sfn, slot_ind->slot, &g_sched_resp);
|
|
||||||
|
|
||||||
bool send_slt_resp = false;
|
|
||||||
if (g_sched_resp.DL_req.dl_tti_request_body.nPDUs> 0) {
|
|
||||||
oai_fapi_dl_tti_req(&g_sched_resp.DL_req);
|
|
||||||
send_slt_resp = true;
|
|
||||||
}
|
|
||||||
if (g_sched_resp.UL_tti_req.n_pdus > 0) {
|
|
||||||
oai_fapi_ul_tti_req(&g_sched_resp.UL_tti_req);
|
|
||||||
send_slt_resp = true;
|
|
||||||
}
|
|
||||||
if (g_sched_resp.TX_req.Number_of_PDUs > 0) {
|
|
||||||
oai_fapi_tx_data_req(&g_sched_resp.TX_req);
|
|
||||||
send_slt_resp = true;
|
|
||||||
}
|
|
||||||
if (g_sched_resp.UL_dci_req.numPdus > 0) {
|
|
||||||
oai_fapi_ul_dci_req(&g_sched_resp.UL_dci_req);
|
|
||||||
send_slt_resp = true;
|
|
||||||
}
|
|
||||||
if (send_slt_resp) {
|
|
||||||
oai_fapi_send_end_request(0,slot_ind->sfn, slot_ind->slot);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int aerial_phy_nr_slot_indication(nfapi_nr_slot_indication_scf_t *ind)
|
int aerial_phy_nr_slot_indication(nfapi_nr_slot_indication_scf_t *ind)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -50,6 +50,9 @@
|
|||||||
#include "nr_fapi_p7_utils.h"
|
#include "nr_fapi_p7_utils.h"
|
||||||
#include <NR_MAC_gNB/mac_proto.h>
|
#include <NR_MAC_gNB/mac_proto.h>
|
||||||
|
|
||||||
|
#ifdef ENABLE_AERIAL
|
||||||
|
#include "aerial/fapi_vnf_p5.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define TEST
|
#define TEST
|
||||||
|
|
||||||
@@ -1088,6 +1091,28 @@ int trigger_scheduler(nfapi_nr_slot_indication_scf_t *slot_ind)
|
|||||||
// memset(sched_resp, 0, sizeof(*sched_resp));
|
// memset(sched_resp, 0, sizeof(*sched_resp));
|
||||||
gNB_dlsch_ulsch_scheduler(0, slot_ind->sfn, slot_ind->slot, &g_sched_resp);
|
gNB_dlsch_ulsch_scheduler(0, slot_ind->sfn, slot_ind->slot, &g_sched_resp);
|
||||||
|
|
||||||
|
#ifdef ENABLE_AERIAL
|
||||||
|
bool send_slt_resp = false;
|
||||||
|
if (g_sched_resp.DL_req.dl_tti_request_body.nPDUs> 0) {
|
||||||
|
oai_fapi_dl_tti_req(&g_sched_resp.DL_req);
|
||||||
|
send_slt_resp = true;
|
||||||
|
}
|
||||||
|
if (g_sched_resp.UL_tti_req.n_pdus > 0) {
|
||||||
|
oai_fapi_ul_tti_req(&g_sched_resp.UL_tti_req);
|
||||||
|
send_slt_resp = true;
|
||||||
|
}
|
||||||
|
if (g_sched_resp.TX_req.Number_of_PDUs > 0) {
|
||||||
|
oai_fapi_tx_data_req(&g_sched_resp.TX_req);
|
||||||
|
send_slt_resp = true;
|
||||||
|
}
|
||||||
|
if (g_sched_resp.UL_dci_req.numPdus > 0) {
|
||||||
|
oai_fapi_ul_dci_req(&g_sched_resp.UL_dci_req);
|
||||||
|
send_slt_resp = true;
|
||||||
|
}
|
||||||
|
if (send_slt_resp) {
|
||||||
|
oai_fapi_send_end_request(0,slot_ind->sfn, slot_ind->slot);
|
||||||
|
}
|
||||||
|
#else
|
||||||
if (g_sched_resp.DL_req.dl_tti_request_body.nPDUs > 0)
|
if (g_sched_resp.DL_req.dl_tti_request_body.nPDUs > 0)
|
||||||
oai_nfapi_dl_tti_req(&g_sched_resp.DL_req);
|
oai_nfapi_dl_tti_req(&g_sched_resp.DL_req);
|
||||||
|
|
||||||
@@ -1099,6 +1124,7 @@ int trigger_scheduler(nfapi_nr_slot_indication_scf_t *slot_ind)
|
|||||||
|
|
||||||
if (g_sched_resp.UL_dci_req.numPdus > 0)
|
if (g_sched_resp.UL_dci_req.numPdus > 0)
|
||||||
oai_nfapi_ul_dci_req(&g_sched_resp.UL_dci_req);
|
oai_nfapi_ul_dci_req(&g_sched_resp.UL_dci_req);
|
||||||
|
#endif
|
||||||
|
|
||||||
NR_UL_IND_t ind = {.frame = slot_ind->sfn, .slot = slot_ind->slot, };
|
NR_UL_IND_t ind = {.frame = slot_ind->sfn, .slot = slot_ind->slot, };
|
||||||
NR_UL_indication(&ind);
|
NR_UL_indication(&ind);
|
||||||
|
|||||||
Reference in New Issue
Block a user