diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c index b0ebe8155c11cc8557a2856f4cc97258627e4894..2c7a480fe81fd587c6921e4560bb93f9d97b2931 100644 --- a/targets/RT/USER/lte-softmodem.c +++ b/targets/RT/USER/lte-softmodem.c @@ -583,7 +583,9 @@ static void *scope_thread(void *arg) if (MAX_NUM_CCs>1) len += dump_eNB_stats (PHY_vars_eNB_g[0][1], &stats_buffer[len], 0); - fl_set_object_label(form_stats->stats_text, stats_buffer); + //fl_set_object_label(form_stats->stats_text, stats_buffer); + fl_clear_browser(form_stats->stats_text); + fl_add_browser_line(form_stats->stats_text, stats_buffer); for(UE_id=0; UE_id<scope_enb_num_ue; UE_id++) { for(CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) { @@ -932,6 +934,7 @@ void do_OFDM_mod_rt(int subframe,PHY_VARS_eNB *phy_vars_eNB) int i, tx_offset; int slot_sizeF = (phy_vars_eNB->lte_frame_parms.ofdm_symbol_size)* ((phy_vars_eNB->lte_frame_parms.Ncp==1) ? 6 : 7); + int len; slot_offset_F = (subframe<<1)*slot_sizeF; @@ -961,13 +964,21 @@ void do_OFDM_mod_rt(int subframe,PHY_VARS_eNB *phy_vars_eNB) dummy_tx_b, 7, &(phy_vars_eNB->lte_frame_parms)); - normal_prefix_mod(&phy_vars_eNB->lte_eNB_common_vars.txdataF[0][aa][slot_offset_F+slot_sizeF], - dummy_tx_b+(phy_vars_eNB->lte_frame_parms.samples_per_tti>>1), - 7, - &(phy_vars_eNB->lte_frame_parms)); + // if S-subframe generate first slot only + if (subframe_select(&phy_vars_eNB->lte_frame_parms,subframe) == SF_DL) + normal_prefix_mod(&phy_vars_eNB->lte_eNB_common_vars.txdataF[0][aa][slot_offset_F+slot_sizeF], + dummy_tx_b+(phy_vars_eNB->lte_frame_parms.samples_per_tti>>1), + 7, + &(phy_vars_eNB->lte_frame_parms)); } - for (i=0; i<phy_vars_eNB->lte_frame_parms.samples_per_tti; i++) { + // if S-subframe generate first slot only + if (subframe_select(&phy_vars_eNB->lte_frame_parms,subframe) == SF_S) + len = phy_vars_eNB->lte_frame_parms.samples_per_tti>>1; + else + len = phy_vars_eNB->lte_frame_parms.samples_per_tti; + + for (i=0; i<len; i++) { tx_offset = (int)slot_offset+time_offset[aa]+i; if (tx_offset<0) @@ -984,11 +995,17 @@ void do_OFDM_mod_rt(int subframe,PHY_VARS_eNB *phy_vars_eNB) #endif ((short*)&phy_vars_eNB->lte_eNB_common_vars.txdata[0][aa][tx_offset])[1]= #ifdef EXMIMO - ((short*)dummy_tx_b)[2*i+1]<<4; + ((short*)dummy_tx_b)[2*i+1]<<4; #else ((short*)dummy_tx_b)[2*i+1]<<5; #endif - } + } + // if S-subframe switch to RX in second subframe + if (subframe_select(&phy_vars_eNB->lte_frame_parms,subframe) == SF_S) { + for (i=0; i<len; i++) { + phy_vars_eNB->lte_eNB_common_vars.txdata[0][aa][tx_offset++] = 0x00010001; + } + } } } } diff --git a/targets/RT/USER/stats.c b/targets/RT/USER/stats.c index 0cb9f92ee344be59ce905c2a025fb6c49600012d..0dd7a800527abf9c1a4ed8fbe72311774a1f09f9 100644 --- a/targets/RT/USER/stats.c +++ b/targets/RT/USER/stats.c @@ -20,10 +20,12 @@ create_form_stats_form( void ) obj = fl_add_box( FL_UP_BOX, 0, 0, 1115, 900, "" ); - fdui->stats_text = obj = fl_add_text( FL_NORMAL_TEXT, 60, 50, 1000, 810, "test" ); - fl_set_object_lsize( obj, FL_TINY_SIZE ); + //fdui->stats_text = obj = fl_add_text( FL_NORMAL_TEXT, 60, 50, 1000, 810, "test" ); + //fl_set_object_lsize( obj, FL_TINY_SIZE ); + fdui->stats_text = obj = fl_add_browser( FL_NORMAL_BROWSER, 60, 50, 1000, 810, "test" ); + fl_set_browser_fontsize(obj,FL_TINY_SIZE); - fdui->stats_button = obj = fl_add_button( FL_PUSH_BUTTON, 620, 660, 130, 40, "Reset Stats" ); + fdui->stats_button = obj = fl_add_button( FL_PUSH_BUTTON, 60, 10, 130, 30, "Reset Stats" ); fl_set_object_lalign( obj, FL_ALIGN_CENTER ); fl_set_object_color( obj, FL_GREEN, FL_GREEN); fl_set_object_callback( obj, reset_stats, 0 );