diff --git a/main.c b/main.c index 32d91b3..03ee392 100644 --- a/main.c +++ b/main.c @@ -1916,6 +1916,28 @@ VNA_SHELL_FUNCTION(cmd_recall) shell_printf("recall {id}\r\n"); } +VNA_SHELL_FUNCTION(cmd_channel) +{ + if (argc == 0) { + for (int c=0;c<3;c++){ + shell_printf("channel[%d] : %4.1f\r\n", c+1, channel_power[c]); + } + return; + } + if (argc != 1) + goto usage; + if (argv[0][0] == '?') + goto usage; + int id = my_atoi(argv[0]); + if (id < 1 || id > 3) + goto usage; + id -= 1; + shell_printf("%4.1f\r\n",channel_power[id]); + return; + usage: + shell_printf("channel [1-3]\r\n"); +} + const char * const trc_channel_name[TRACES_MAX] = { [TRACE_ACTUAL] = "MEASURED", [TRACE_STORED] = "STORED", @@ -2153,6 +2175,8 @@ usage: shell_printf("marker [n] [%s|{freq}|{index}] [{n}|%s]\r\n", cmd_marker_list, cmd_marker_on_off); } + + VNA_SHELL_FUNCTION(cmd_touchcal) { (void)argc; @@ -2492,6 +2516,7 @@ static const VNAShellCommand commands[] = {"trace" , cmd_trace , CMD_WAIT_MUTEX | CMD_RUN_IN_LOAD}, {"trigger" , cmd_trigger , CMD_RUN_IN_LOAD}, {"marker" , cmd_marker , CMD_RUN_IN_LOAD}, + {"channel" , cmd_channel , CMD_WAIT_MUTEX }, #ifdef __DRAW_LINE__ {"line" , cmd_line , CMD_RUN_IN_LOAD}, #endif diff --git a/plot.c b/plot.c index ca26ba5..8ffe9fe 100644 --- a/plot.c +++ b/plot.c @@ -1680,7 +1680,11 @@ static void cell_draw_marker_info(int x0, int y0) ypos = 14 - y0; if (setting.measurement==M_CP ) { float v = 100.0 * channel_power_watt[c] /(channel_power_watt[0] + channel_power_watt[1] + channel_power_watt[2]); - cell_printf(xpos, ypos, FONT_b"%4.1f%%", v ); + if (c == 1) + cell_printf(xpos, ypos, FONT_b"%4.1f%%", v ); + else + cell_printf(xpos, ypos, FONT_b"%4.1f%% %4.1fdBc", v, channel_power[c] - channel_power[1] ); + #ifdef __LEVEL_METER__ if (c == 1) plot_printf(level_text, sizeof(level_text), "%4.1f%%", v);