Commit c9603910 authored by Cedric Roux's avatar Cedric Roux

update enb.c to trace uplink dci/retrans/ack/nack

and also start to use the PHY textview
parent b87405ad
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include "config.h" #include "config.h"
typedef struct { typedef struct {
view *phyview;
view *rrcview; view *rrcview;
view *legacy; view *legacy;
} enb_gui; } enb_gui;
...@@ -122,7 +123,7 @@ static void enb_main_gui(enb_gui *e, gui *g, event_handler *h, void *database) ...@@ -122,7 +123,7 @@ static void enb_main_gui(enb_gui *e, gui *g, event_handler *h, void *database)
g, input_signal_plot, new_color(g, "#0c0c72")); g, input_signal_plot, new_color(g, "#0c0c72"));
logger_add_view(input_signal_log, input_signal_view); logger_add_view(input_signal_log, input_signal_view);
/* downlink UE DCIs */ /* downlink/uplink UE DCIs */
widget_add_child(g, top_container, widget_add_child(g, top_container,
new_label(g,"DL/UL TICK/DCI/ACK/NACK "), -1); new_label(g,"DL/UL TICK/DCI/ACK/NACK "), -1);
line = new_container(g, HORIZONTAL); line = new_container(g, HORIZONTAL);
...@@ -134,27 +135,43 @@ static void enb_main_gui(enb_gui *e, gui *g, event_handler *h, void *database) ...@@ -134,27 +135,43 @@ static void enb_main_gui(enb_gui *e, gui *g, event_handler *h, void *database)
timeline_set_subline_background_color(g, timeline_plot, i, timeline_set_subline_background_color(g, timeline_plot, i,
new_color(g, i==0 || i==4 ? "#aaf" : "#eee")); new_color(g, i==0 || i==4 ? "#aaf" : "#eee"));
timeview = new_view_time(3600, 10, g, timeline_plot); timeview = new_view_time(3600, 10, g, timeline_plot);
/* tick logging */ /* DL tick logging */
timelog = new_timelog(h, database, "ENB_DL_TICK"); timelog = new_timelog(h, database, "ENB_DL_TICK");
subview = new_subview_time(timeview, 0, new_color(g, "#77c"), 3600*1000); subview = new_subview_time(timeview, 0, new_color(g, "#77c"), 3600*1000);
logger_add_view(timelog, subview); logger_add_view(timelog, subview);
/* DCI logging */ /* DL DCI logging */
timelog = new_timelog(h, database, "ENB_DLSCH_UE_DCI"); timelog = new_timelog(h, database, "ENB_DLSCH_UE_DCI");
subview = new_subview_time(timeview, 1, new_color(g, "#228"), 3600*1000); subview = new_subview_time(timeview, 1, new_color(g, "#228"), 3600*1000);
logger_add_view(timelog, subview); logger_add_view(timelog, subview);
/* ACK */ /* DL ACK */
timelog = new_timelog(h, database, "ENB_DLSCH_UE_ACK"); timelog = new_timelog(h, database, "ENB_DLSCH_UE_ACK");
subview = new_subview_time(timeview, 2, new_color(g, "#282"), 3600*1000); subview = new_subview_time(timeview, 2, new_color(g, "#282"), 3600*1000);
logger_add_view(timelog, subview); logger_add_view(timelog, subview);
/* NACK */ /* DL NACK */
timelog = new_timelog(h, database, "ENB_DLSCH_UE_NACK"); timelog = new_timelog(h, database, "ENB_DLSCH_UE_NACK");
subview = new_subview_time(timeview, 3, new_color(g, "#f22"), 3600*1000); subview = new_subview_time(timeview, 3, new_color(g, "#f22"), 3600*1000);
logger_add_view(timelog, subview); logger_add_view(timelog, subview);
/* uplink UE DCIs */ /* UL tick logging */
timelog = new_timelog(h, database, "ENB_UL_TICK"); timelog = new_timelog(h, database, "ENB_UL_TICK");
subview = new_subview_time(timeview, 4, new_color(g, "#77c"), 3600*1000); subview = new_subview_time(timeview, 4, new_color(g, "#77c"), 3600*1000);
logger_add_view(timelog, subview); logger_add_view(timelog, subview);
/* UL DCI logging */
timelog = new_timelog(h, database, "ENB_ULSCH_UE_DCI");
subview = new_subview_time(timeview, 5, new_color(g, "#228"), 3600*1000);
logger_add_view(timelog, subview);
/* UL retransmission without DCI logging */
timelog = new_timelog(h, database, "ENB_ULSCH_UE_NO_DCI_RETRANSMISSION");
subview = new_subview_time(timeview, 5, new_color(g, "#f22"), 3600*1000);
logger_add_view(timelog, subview);
/* UL ACK */
timelog = new_timelog(h, database, "ENB_ULSCH_UE_ACK");
subview = new_subview_time(timeview, 6, new_color(g, "#282"), 3600*1000);
logger_add_view(timelog, subview);
/* UL NACK */
timelog = new_timelog(h, database, "ENB_ULSCH_UE_NACK");
subview = new_subview_time(timeview, 7, new_color(g, "#f22"), 3600*1000);
logger_add_view(timelog, subview);
/* phy/mac/rlc/pdcp/rrc textlog */ /* phy/mac/rlc/pdcp/rrc textlog */
line = new_container(g, HORIZONTAL); line = new_container(g, HORIZONTAL);
...@@ -170,6 +187,7 @@ static void enb_main_gui(enb_gui *e, gui *g, event_handler *h, void *database) ...@@ -170,6 +187,7 @@ static void enb_main_gui(enb_gui *e, gui *g, event_handler *h, void *database)
widget_add_child(g, col, text, -1); widget_add_child(g, col, text, -1);
container_set_child_growable(g, col, text, 1); container_set_child_growable(g, col, text, 1);
textview = new_view_textlist(10000, 10, g, text); textview = new_view_textlist(10000, 10, g, text);
e->phyview = textview;
/* mac */ /* mac */
col = new_container(g, VERTICAL); col = new_container(g, VERTICAL);
...@@ -311,16 +329,29 @@ int main(int n, char **v) ...@@ -311,16 +329,29 @@ int main(int n, char **v)
} }
on_off(database, "ENB_INPUT_SIGNAL", is_on, 1); on_off(database, "ENB_INPUT_SIGNAL", is_on, 1);
on_off(database, "ENB_UL_TICK", is_on, 1);
on_off(database, "ENB_DL_TICK", is_on, 1); on_off(database, "ENB_DL_TICK", is_on, 1);
on_off(database, "ENB_DLSCH_UE_DCI", is_on, 1); on_off(database, "ENB_DLSCH_UE_DCI", is_on, 1);
on_off(database, "ENB_DLSCH_UE_ACK", is_on, 1); on_off(database, "ENB_DLSCH_UE_ACK", is_on, 1);
on_off(database, "ENB_DLSCH_UE_NACK", is_on, 1); on_off(database, "ENB_DLSCH_UE_NACK", is_on, 1);
on_off(database, "ENB_UL_TICK", is_on, 1);
on_off(database, "ENB_ULSCH_UE_DCI", is_on, 1);
on_off(database, "ENB_ULSCH_UE_NO_DCI_RETRANSMISSION", is_on, 1);
on_off(database, "ENB_ULSCH_UE_ACK", is_on, 1);
on_off(database, "ENB_ULSCH_UE_NACK", is_on, 1);
on_off(database, "LEGACY_RRC_INFO", is_on, 1); on_off(database, "LEGACY_RRC_INFO", is_on, 1);
on_off(database, "LEGACY_RRC_ERROR", is_on, 1); on_off(database, "LEGACY_RRC_ERROR", is_on, 1);
on_off(database, "LEGACY_RRC_WARNING", is_on, 1); on_off(database, "LEGACY_RRC_WARNING", is_on, 1);
view_add_log(eg.phyview, "ENB_DLSCH_UE_DCI", h, database, is_on);
view_add_log(eg.phyview, "ENB_DLSCH_UE_ACK", h, database, is_on);
view_add_log(eg.phyview, "ENB_DLSCH_UE_NACK", h, database, is_on);
view_add_log(eg.phyview, "ENB_ULSCH_UE_DCI", h, database, is_on);
view_add_log(eg.phyview, "ENB_ULSCH_UE_NO_DCI_RETRANSMISSION",
h, database, is_on);
view_add_log(eg.phyview, "ENB_ULSCH_UE_ACK", h, database, is_on);
view_add_log(eg.phyview, "ENB_ULSCH_UE_NACK", h, database, is_on);
view_add_log(eg.rrcview, "ENB_RRC_CONNECTION_SETUP_COMPLETE", view_add_log(eg.rrcview, "ENB_RRC_CONNECTION_SETUP_COMPLETE",
h, database, is_on); h, database, is_on);
view_add_log(eg.rrcview, "ENB_RRC_SECURITY_MODE_COMMAND", view_add_log(eg.rrcview, "ENB_RRC_SECURITY_MODE_COMMAND",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment