initial support for auto_hilight_graph_nodes
This commit is contained in:
parent
77a5cecef8
commit
aa6182c65f
|
|
@ -3632,6 +3632,9 @@ void draw_graph(int i, const int flags, Graph_ctx *gr, void *ct)
|
||||||
if(strpbrk(express, " \n\t")) {
|
if(strpbrk(express, " \n\t")) {
|
||||||
expression = 1;
|
expression = 1;
|
||||||
}
|
}
|
||||||
|
if(!expression && tclgetboolvar("auto_hilight_graph_nodes")) {
|
||||||
|
hilight_graph_node(express, wc);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/* quickly find index number of ntok_copy variable to be plotted */
|
/* quickly find index number of ntok_copy variable to be plotted */
|
||||||
if( expression || (idx = get_raw_index(bus_msb ? bus_msb : express, NULL)) != -1 ) {
|
if( expression || (idx = get_raw_index(bus_msb ? bus_msb : express, NULL)) != -1 ) {
|
||||||
|
|
|
||||||
|
|
@ -257,6 +257,33 @@ static int there_are_hilights()
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int hilight_graph_node(const char *node, int col)
|
||||||
|
{
|
||||||
|
const char *path;
|
||||||
|
char *n = NULL;
|
||||||
|
char *nptr, *ptr;
|
||||||
|
Hilight_hashentry *entry;
|
||||||
|
|
||||||
|
if(strchr(node, '.')) return 0;
|
||||||
|
path = xctx->sch_path[xctx->currsch];
|
||||||
|
my_strdup2(_ALLOC_ID_, &n, node);
|
||||||
|
nptr = n;
|
||||||
|
|
||||||
|
if(strstr(n, "i(")) {nptr[1] = ' '; nptr += 1;}
|
||||||
|
else if(strstr(n, "I(")) {nptr[1] = ' '; nptr += 1;}
|
||||||
|
if((ptr = strchr(n, ')'))) *ptr = '\0';
|
||||||
|
|
||||||
|
dbg(1, "hilight_graph_node(): %s: %d\n", n, col);
|
||||||
|
entry = hier_hilight_hash_lookup(nptr, -col, path, XLOOKUP);
|
||||||
|
if(!entry || entry->value != -col ) {
|
||||||
|
hier_hilight_hash_lookup(nptr, -col, path, XINSERT);
|
||||||
|
dbg(1, "hilight_graph_node(): propagate_hilights(), col=%d\n", col);
|
||||||
|
propagate_hilights(1, 0, XINSERT_NOREPLACE);
|
||||||
|
}
|
||||||
|
my_free(_ALLOC_ID_, &n);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
/* by default:
|
/* by default:
|
||||||
* xctx->active_layer[0] = 7
|
* xctx->active_layer[0] = 7
|
||||||
* xctx->active_layer[1] = 8
|
* xctx->active_layer[1] = 8
|
||||||
|
|
|
||||||
|
|
@ -5414,9 +5414,9 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
|
||||||
del_object_table();
|
del_object_table();
|
||||||
Tcl_ResetResult(interp);
|
Tcl_ResetResult(interp);
|
||||||
}
|
}
|
||||||
else if(argc > 4 && atoi(argv[2]) == 2) {
|
else if(argc > 5 && atoi(argv[2]) == 2) {
|
||||||
prepare_netlist_structs(0);
|
prepare_netlist_structs(0);
|
||||||
hier_hilight_hash_lookup(argv[4], 0, argv[3], XINSERT);
|
hier_hilight_hash_lookup(argv[4], atoi(argv[5]), argv[3], XINSERT);
|
||||||
propagate_hilights(1, 0, XINSERT_NOREPLACE);
|
propagate_hilights(1, 0, XINSERT_NOREPLACE);
|
||||||
Tcl_ResetResult(interp);
|
Tcl_ResetResult(interp);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1344,6 +1344,7 @@ extern int text_bbox(const char * str,double xscale, double yscale,
|
||||||
double x1,double y1, double *rx1, double *ry1,
|
double x1,double y1, double *rx1, double *ry1,
|
||||||
double *rx2, double *ry2, int *cairo_lines, double *longest_line);
|
double *rx2, double *ry2, int *cairo_lines, double *longest_line);
|
||||||
extern void create_memory_cairo_ctx(int what);
|
extern void create_memory_cairo_ctx(int what);
|
||||||
|
extern int hilight_graph_node(const char *node, int col);
|
||||||
extern int get_color(int value);
|
extern int get_color(int value);
|
||||||
extern void incr_hilight_color(void);
|
extern void incr_hilight_color(void);
|
||||||
extern void get_inst_pin_coord(int i, int j, double *x, double *y);
|
extern void get_inst_pin_coord(int i, int j, double *x, double *y);
|
||||||
|
|
|
||||||
|
|
@ -6869,7 +6869,7 @@ proc no_open_dialogs {} {
|
||||||
set tctx::global_list {
|
set tctx::global_list {
|
||||||
PDK_ROOT PDK SKYWATER_MODELS SKYWATER_STDCELLS
|
PDK_ROOT PDK SKYWATER_MODELS SKYWATER_STDCELLS
|
||||||
INITIALINSTDIR INITIALLOADDIR INITIALPROPDIR INITIALTEXTDIR XSCHEM_LIBRARY_PATH
|
INITIALINSTDIR INITIALLOADDIR INITIALPROPDIR INITIALTEXTDIR XSCHEM_LIBRARY_PATH
|
||||||
add_all_windows_drives auto_hilight autofocus_mainwindow
|
add_all_windows_drives auto_hilight auto_hilight_graph_nodes autofocus_mainwindow
|
||||||
autotrim_wires bespice_listen_port big_grid_points bus_replacement_char cadgrid cadlayers
|
autotrim_wires bespice_listen_port big_grid_points bus_replacement_char cadgrid cadlayers
|
||||||
cadsnap cairo_font_name cairo_font_scale change_lw color_ps tctx::colors compare_sch constr_mv
|
cadsnap cairo_font_name cairo_font_scale change_lw color_ps tctx::colors compare_sch constr_mv
|
||||||
copy_cell crosshair_layer custom_label_prefix custom_token dark_colors dark_colorscheme
|
copy_cell crosshair_layer custom_label_prefix custom_token dark_colors dark_colorscheme
|
||||||
|
|
@ -7867,6 +7867,8 @@ proc build_widgets { {topwin {} } } {
|
||||||
|
|
||||||
$topwin.menubar.simulation.menu add cascade -label "Graphs" -menu $topwin.menubar.simulation.menu.graph
|
$topwin.menubar.simulation.menu add cascade -label "Graphs" -menu $topwin.menubar.simulation.menu.graph
|
||||||
menu $topwin.menubar.simulation.menu.graph -tearoff 0
|
menu $topwin.menubar.simulation.menu.graph -tearoff 0
|
||||||
|
$topwin.menubar.simulation.menu.graph add checkbutton -label {Auto highlight plotted nets} \
|
||||||
|
-selectcolor $selectcolor -variable auto_hilight_graph_nodes
|
||||||
$topwin.menubar.simulation.menu.graph add command -label {Add waveform graph} -command {xschem add_graph}
|
$topwin.menubar.simulation.menu.graph add command -label {Add waveform graph} -command {xschem add_graph}
|
||||||
$topwin.menubar.simulation.menu.graph add command -label {Add waveform reload launcher} -command {
|
$topwin.menubar.simulation.menu.graph add command -label {Add waveform reload launcher} -command {
|
||||||
xschem place_symbol [rel_sym_path [find_file_first launcher.sym]] "name=h5\ndescr=\"load waves\"
|
xschem place_symbol [rel_sym_path [find_file_first launcher.sym]] "name=h5\ndescr=\"load waves\"
|
||||||
|
|
@ -8358,6 +8360,7 @@ if {$OS == "Windows"} {
|
||||||
set_ne launcher_default_program {xdg-open}
|
set_ne launcher_default_program {xdg-open}
|
||||||
}
|
}
|
||||||
set_ne auto_hilight 0
|
set_ne auto_hilight 0
|
||||||
|
set_ne auto_hilight_graph_nodes 0
|
||||||
set_ne use_tclreadline 1
|
set_ne use_tclreadline 1
|
||||||
set_ne en_hilight_conn_inst 0
|
set_ne en_hilight_conn_inst 0
|
||||||
## xpm to png conversion
|
## xpm to png conversion
|
||||||
|
|
|
||||||
|
|
@ -234,6 +234,9 @@
|
||||||
#### enable drawing the grid. Default: enabled (1)
|
#### enable drawing the grid. Default: enabled (1)
|
||||||
# set draw_grid 1
|
# set draw_grid 1
|
||||||
|
|
||||||
|
#### auto highlight nodes shown in graphs: default: not enabled (0)
|
||||||
|
# set auto_hilight_graph_nodes 0
|
||||||
|
|
||||||
#### enable stretch mode: when dragging a selection rectangle that cuts wires these are stretched
|
#### enable stretch mode: when dragging a selection rectangle that cuts wires these are stretched
|
||||||
#### to follow the selected objects when moved. Default: not enabled (0).
|
#### to follow the selected objects when moved. Default: not enabled (0).
|
||||||
#### This can be normally done by dragging with the Control key pressed.
|
#### This can be normally done by dragging with the Control key pressed.
|
||||||
|
|
|
||||||
|
|
@ -55,12 +55,12 @@ divy = 12
|
||||||
x1=0.0246194
|
x1=0.0246194
|
||||||
x2=0.0249318
|
x2=0.0249318
|
||||||
divx=10
|
divx=10
|
||||||
node="outp
|
node="OUTP
|
||||||
outm
|
OUTM
|
||||||
vpp
|
VPP
|
||||||
vnn
|
VNN
|
||||||
x1.vboost
|
x1.VBOOST
|
||||||
x0.vboost"
|
x0.VBOOST"
|
||||||
color="4 15 6 12 7 4"
|
color="4 15 6 12 7 4"
|
||||||
unitx=m
|
unitx=m
|
||||||
hilight_wave=-1
|
hilight_wave=-1
|
||||||
|
|
|
||||||
|
|
@ -91,15 +91,15 @@ subdivy=1
|
||||||
x1=5e-10
|
x1=5e-10
|
||||||
x2=0.001
|
x2=0.001
|
||||||
divx=8
|
divx=8
|
||||||
node="panel
|
node="PANEL
|
||||||
led" unitx=m
|
LED" unitx=m
|
||||||
color="7 4"
|
color="7 4"
|
||||||
jpeg_quality=30
|
jpeg_quality=30
|
||||||
linewidth_mult=2.0
|
linewidth_mult=2.0
|
||||||
hilight_wave=-1}
|
hilight_wave=-1}
|
||||||
B 2 1260 -390 1680 -220 {flags=graph
|
B 2 1260 -390 1680 -220 {flags=graph
|
||||||
y1 = 3.35
|
y1 = -0.0012
|
||||||
y2 = 10.05
|
y2 = 6.8
|
||||||
divy = 4
|
divy = 4
|
||||||
subdivy=1
|
subdivy=1
|
||||||
x1=5e-10
|
x1=5e-10
|
||||||
|
|
@ -107,9 +107,9 @@ x2=0.001
|
||||||
divx=8
|
divx=8
|
||||||
unitx=m
|
unitx=m
|
||||||
color="7 4 6"
|
color="7 4 6"
|
||||||
node="i(vpanel)
|
node="i(Vpanel)
|
||||||
i(vled)
|
i(Vled)
|
||||||
\\"R.Avg. I(vpanel); i(vpanel) 20u ravg()\\""
|
\\"R.Avg. I(VPANEL); i(VPANEL) 20u ravg()\\""
|
||||||
jpeg_quality=30
|
jpeg_quality=30
|
||||||
linewidth_mult=2.0}
|
linewidth_mult=2.0}
|
||||||
B 2 1260 -750 1680 -560 {flags=graph
|
B 2 1260 -750 1680 -560 {flags=graph
|
||||||
|
|
@ -123,10 +123,10 @@ divx=9
|
||||||
|
|
||||||
unitx=m subdivx=4
|
unitx=m subdivx=4
|
||||||
color="7 4 6 10"
|
color="7 4 6 10"
|
||||||
node="\\"Panel power; i(vpanel) v(panel) *\\"
|
node="\\"Panel power; i(Vpanel) v(PANEL) *\\"
|
||||||
\\"Led power; i(vled) v(led) *\\"
|
\\"Led power; i(Vled) v(LED) *\\"
|
||||||
\\"Avg.Pan. Pwr; i(vpanel) v(panel) * 20u ravg()\\"
|
\\"Avg.Pan. Pwr; i(Vpanel) v(PANEL) * 20u ravg()\\"
|
||||||
\\"SUN \\\\%; sun 100 *\\""
|
\\"SUN \\\\%; SUN 100 *\\""
|
||||||
hilight_wave=-1
|
hilight_wave=-1
|
||||||
jpeg_quality=30
|
jpeg_quality=30
|
||||||
linewidth_mult=2.0}
|
linewidth_mult=2.0}
|
||||||
|
|
@ -141,8 +141,8 @@ divx=9
|
||||||
|
|
||||||
unitx=u subdivx=4
|
unitx=u subdivx=4
|
||||||
color="14 7"
|
color="14 7"
|
||||||
node="triang
|
node="TRIANG
|
||||||
level"
|
LEVEL"
|
||||||
hilight_wave=-1
|
hilight_wave=-1
|
||||||
digital=0
|
digital=0
|
||||||
ypos1=0.00261891
|
ypos1=0.00261891
|
||||||
|
|
@ -167,7 +167,7 @@ digital=0
|
||||||
ypos1=0.00261891
|
ypos1=0.00261891
|
||||||
ypos2=0.51596
|
ypos2=0.51596
|
||||||
color=8
|
color=8
|
||||||
node="\\"CTRL1 Duty cycle; ctrl1 20u ravg()\\""
|
node="\\"CTRL1 Duty cycle; CTRL1 20u ravg()\\""
|
||||||
jpeg_quality=30
|
jpeg_quality=30
|
||||||
linewidth_mult=2.0}
|
linewidth_mult=2.0}
|
||||||
B 18 65 -960 320 -775 {}
|
B 18 65 -960 320 -775 {}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue