From 960e8dc9d85dc8b802cdcb1464ed278264e6e1a7 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Tue, 11 Jun 2019 15:59:47 +0200 Subject: [PATCH] FlexRAN: Calculate sfnsn such that diff 1s = 1000 --- openair2/ENB_APP/flexran_agent_ran_api.c | 13 ++----------- openair2/ENB_APP/flexran_agent_ran_api.h | 2 +- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/openair2/ENB_APP/flexran_agent_ran_api.c b/openair2/ENB_APP/flexran_agent_ran_api.c index 9f08623aa8..bb81c2c2d2 100644 --- a/openair2/ENB_APP/flexran_agent_ran_api.c +++ b/openair2/ENB_APP/flexran_agent_ran_api.c @@ -71,19 +71,10 @@ sub_frame_t flexran_get_current_subframe(mid_t mod_id) return RC.mac[mod_id]->subframe; } -/* Why uint16_t, frame_t and sub_frame_t are defined as uint32_t? */ -uint16_t flexran_get_sfn_sf(mid_t mod_id) +uint32_t flexran_get_sfn_sf(mid_t mod_id) { if (!mac_is_present(mod_id)) return 0; - frame_t frame = flexran_get_current_system_frame_num(mod_id); - sub_frame_t subframe = flexran_get_current_subframe(mod_id); - uint16_t sfn_sf, frame_mask, sf_mask; - - frame_mask = (1 << 12) - 1; - sf_mask = (1 << 4) - 1; - sfn_sf = (subframe & sf_mask) | ((frame & frame_mask) << 4); - - return sfn_sf; + return flexran_get_current_frame(mod_id) * 10 + flexran_get_current_subframe(mod_id); } uint16_t flexran_get_future_sfn_sf(mid_t mod_id, int ahead_of_time) diff --git a/openair2/ENB_APP/flexran_agent_ran_api.h b/openair2/ENB_APP/flexran_agent_ran_api.h index e18c55c4bf..f9d0d97405 100644 --- a/openair2/ENB_APP/flexran_agent_ran_api.h +++ b/openair2/ENB_APP/flexran_agent_ran_api.h @@ -63,7 +63,7 @@ sub_frame_t flexran_get_current_subframe(mid_t mod_id); /*Return the frame and subframe number in compact 16-bit format. Bits 0-3 subframe, rest for frame. Required by FlexRAN protocol*/ -uint16_t flexran_get_sfn_sf(mid_t mod_id); +uint32_t flexran_get_sfn_sf(mid_t mod_id); /* Return a future frame and subframe number that is ahead_of_time subframes later in compact 16-bit format. Bits 0-3 subframe,