diff --git a/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c b/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c index 756c84cfff..700ca8ff9e 100644 --- a/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c +++ b/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c @@ -417,6 +417,18 @@ void *nrue_standalone_pnf_task(void *context) int slot = NFAPI_SFNSLOT2SLOT(sfn_slot); LOG_I(NR_PHY, "Received from proxy sfn %d slot %d\n", sfn, slot); } + else if (len == sizeof(nr_phy_channel_params_t)) + { + nr_phy_channel_params_t ch_info; + memcpy(&ch_info, buffer, sizeof(nr_phy_channel_params_t)); + current_sfn_slot = ch_info.sfn_slot; + if (sem_post(&sfn_slot_semaphore) != 0) + { + LOG_E(MAC, "sem_post() error\n"); + abort(); + } + LOG_I(MAC, "Received_SINR = %f\n", ch_info.sinr); + } else { nfapi_p7_message_header_t header; diff --git a/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.h b/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.h index 8c7781ff6f..8c7390ef13 100755 --- a/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.h +++ b/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.h @@ -43,6 +43,13 @@ typedef struct NR_UL_TIME_ALIGNMENT NR_UL_TIME_ALIGNMENT_t; +typedef struct nr_phy_channel_params_t +{ + uint16_t sfn_slot; + float sinr; + // Incomplete, need all channel parameters +} nr_phy_channel_params_t; + typedef struct { /// module id module_id_t module_id;