From e111b2b9d6b2cf45653ec8e7e7f152fae208f4a1 Mon Sep 17 00:00:00 2001 From: Stefan Frederik Date: Mon, 27 Dec 2021 14:12:55 +0100 Subject: [PATCH] even with multiple selected graphs apply y axis pan/zoom only on master graph. Better checks/cleanups for load/unload raw file --- src/callback.c | 208 +++++++++++++++++---------------- src/draw.c | 47 ++++---- xschem_library/rom8k/rom8k.sch | 57 ++++----- 3 files changed, 165 insertions(+), 147 deletions(-) diff --git a/src/callback.c b/src/callback.c index c403c4a3..1c1fbfe6 100644 --- a/src/callback.c +++ b/src/callback.c @@ -31,7 +31,7 @@ static int waves_selected() if(!(xctx->ui_state & SELECTION) || !xctx->lastsel) return 0; for(i=0; ilastsel; i++) { c = xctx->sel_array[i].col; - if(xctx->sel_array[i].type == xRECT && c == 2) { + if(xctx->sel_array[i].type == xRECT && c == GRIDLAYER) { n = xctx->sel_array[i].n; r = &xctx->rect[c][n]; if( (xctx->ui_state & GRAPHPAN) || POINTINSIDE(xctx->mousex, xctx->mousey, r->x1, r->y1, r->x2, r->y2) ) { @@ -198,7 +198,7 @@ static int waves_callback(int event, int mx, int my, KeySym key, int button, int c = xctx->sel_array[i].col; /* process only graph boxes */ - if(xctx->sel_array[i].type == xRECT && c == 2) { + if(xctx->sel_array[i].type == xRECT && c == GRIDLAYER) { xRect *r; n = xctx->sel_array[i].n; r = &xctx->rect[GRIDLAYER][n]; @@ -240,7 +240,7 @@ static int waves_callback(int event, int mx, int my, KeySym key, int button, int for(i=0; ilastsel; i++) { c = xctx->sel_array[i].col; /* process only graph boxes */ - if(xctx->sel_array[i].type == xRECT && c == 2) { + if(xctx->sel_array[i].type == xRECT && c == GRIDLAYER) { xRect *r; n = xctx->sel_array[i].n; r = &xctx->rect[GRIDLAYER][n]; @@ -267,51 +267,49 @@ static int waves_callback(int event, int mx, int my, KeySym key, int button, int if(event == MotionNotify && (state & Button1Mask) && !xctx->graph_bottom) { double delta; if(xctx->graph_left) { - delta = (wy2 - wy1) / divy; - delta_threshold = 0.05; - if(fabs(xctx->my_double_save - xctx->mousey_snap) > fabs(cy * delta) * delta_threshold) { - yy1 = wy1 + (xctx->my_double_save - xctx->mousey_snap) / cy; - yy2 = wy2 + (xctx->my_double_save - xctx->mousey_snap) / cy; - if(i >= xctx->lastsel -1) { /* update saved mouse position after processing all graphs */ - xctx->mx_double_save = xctx->mousex_snap; - xctx->my_double_save = xctx->mousey_snap; + if(n == xctx->graph_master) { + delta = (wy2 - wy1) / divy; + delta_threshold = 0.05; + if(fabs(xctx->my_double_save - xctx->mousey_snap) > fabs(cy * delta) * delta_threshold) { + yy1 = wy1 + (xctx->my_double_save - xctx->mousey_snap) / cy; + yy2 = wy2 + (xctx->my_double_save - xctx->mousey_snap) / cy; + my_snprintf(s, S(s), "%g", yy1); + my_strdup(1424, &r->prop_ptr, subst_token(r->prop_ptr, "y1", s)); + my_snprintf(s, S(s), "%g", yy2); + my_strdup(1425, &r->prop_ptr, subst_token(r->prop_ptr, "y2", s)); } - my_snprintf(s, S(s), "%g", yy1); - my_strdup(1424, &r->prop_ptr, subst_token(r->prop_ptr, "y1", s)); - my_snprintf(s, S(s), "%g", yy2); - my_strdup(1425, &r->prop_ptr, subst_token(r->prop_ptr, "y2", s)); - need_redraw = 1; } - } else { delta = (wx2 - wx1) / divx; delta_threshold = 0.05; if(fabs(xctx->mx_double_save - xctx->mousex_snap) > fabs(cx * delta) * delta_threshold) { xx1 = wx1 + (xctx->mx_double_save - xctx->mousex_snap) / cx; xx2 = wx2 + (xctx->mx_double_save - xctx->mousex_snap) / cx; - if(i >= xctx->lastsel -1) { /* update saved mouse position after processing all graphs */ - xctx->mx_double_save = xctx->mousex_snap; - xctx->my_double_save = xctx->mousey_snap; - } my_snprintf(s, S(s), "%g", xx1); my_strdup(1410, &r->prop_ptr, subst_token(r->prop_ptr, "x1", s)); my_snprintf(s, S(s), "%g", xx2); my_strdup(1411, &r->prop_ptr, subst_token(r->prop_ptr, "x2", s)); - need_redraw = 1; } } + if(i >= xctx->lastsel -1) { /* update saved mouse position after processing all graphs */ + xctx->mx_double_save = xctx->mousex_snap; + xctx->my_double_save = xctx->mousey_snap; + } + need_redraw = 1; } else if((button == Button5 && state == 0)) { double delta; if(xctx->graph_left) { - delta = (wy2 - wy1) / divy; - delta_threshold = 1.0; - yy1 = wy1 + delta * delta_threshold; - yy2 = wy2 + delta * delta_threshold; - my_snprintf(s, S(s), "%g", yy1); - my_strdup(1420, &r->prop_ptr, subst_token(r->prop_ptr, "y1", s)); - my_snprintf(s, S(s), "%g", yy2); - my_strdup(1421, &r->prop_ptr, subst_token(r->prop_ptr, "y2", s)); + if(n == xctx->graph_master) { + delta = (wy2 - wy1) / divy; + delta_threshold = 1.0; + yy1 = wy1 + delta * delta_threshold; + yy2 = wy2 + delta * delta_threshold; + my_snprintf(s, S(s), "%g", yy1); + my_strdup(1420, &r->prop_ptr, subst_token(r->prop_ptr, "y1", s)); + my_snprintf(s, S(s), "%g", yy2); + my_strdup(1421, &r->prop_ptr, subst_token(r->prop_ptr, "y2", s)); + } } else { delta = (wx2 - wx1) / divx; delta_threshold = 1.0; @@ -328,17 +326,19 @@ static int waves_callback(int event, int mx, int my, KeySym key, int button, int else if(key == XK_Left) { double delta; if(xctx->graph_left) { - double m = G_Y(xctx->mousey); - double a = m - wy1; - double b = wy2 -m; - double delta = (wy2 - wy1); - double var = delta * 0.1; - yy2 = wy2 + var * b / delta; - yy1 = wy1 - var * a / delta; - my_snprintf(s, S(s), "%g", yy1); - my_strdup(1451, &r->prop_ptr, subst_token(r->prop_ptr, "y1", s)); - my_snprintf(s, S(s), "%g", yy2); - my_strdup(1448, &r->prop_ptr, subst_token(r->prop_ptr, "y2", s)); + if(n == xctx->graph_master) { + double m = G_Y(xctx->mousey); + double a = m - wy1; + double b = wy2 -m; + double delta = (wy2 - wy1); + double var = delta * 0.1; + yy2 = wy2 + var * b / delta; + yy1 = wy1 - var * a / delta; + my_snprintf(s, S(s), "%g", yy1); + my_strdup(1451, &r->prop_ptr, subst_token(r->prop_ptr, "y1", s)); + my_snprintf(s, S(s), "%g", yy2); + my_strdup(1448, &r->prop_ptr, subst_token(r->prop_ptr, "y2", s)); + } } else { delta = (wx2 - wx1) / divx; delta_threshold = 1.0; @@ -355,14 +355,16 @@ static int waves_callback(int event, int mx, int my, KeySym key, int button, int else if(button == Button4 && state == 0) { double delta; if(xctx->graph_left) { - delta = (wy2 - wy1) / divy; - delta_threshold = 1.0; - yy1 = wy1 - delta * delta_threshold; - yy2 = wy2 - delta * delta_threshold; - my_snprintf(s, S(s), "%g", yy1); - my_strdup(1416, &r->prop_ptr, subst_token(r->prop_ptr, "y1", s)); - my_snprintf(s, S(s), "%g", yy2); - my_strdup(1417, &r->prop_ptr, subst_token(r->prop_ptr, "y2", s)); + if(n == xctx->graph_master) { + delta = (wy2 - wy1) / divy; + delta_threshold = 1.0; + yy1 = wy1 - delta * delta_threshold; + yy2 = wy2 - delta * delta_threshold; + my_snprintf(s, S(s), "%g", yy1); + my_strdup(1416, &r->prop_ptr, subst_token(r->prop_ptr, "y1", s)); + my_snprintf(s, S(s), "%g", yy2); + my_strdup(1417, &r->prop_ptr, subst_token(r->prop_ptr, "y2", s)); + } } else { delta = (wx2 - wx1) / divx; delta_threshold = 1.0; @@ -379,17 +381,19 @@ static int waves_callback(int event, int mx, int my, KeySym key, int button, int else if(key == XK_Right) { double delta; if(xctx->graph_left) { - double m = G_Y(xctx->mousey); - double a = m - wy1; - double b = wy2 -m; - double delta = (wy2 - wy1); - double var = delta * 0.1; - yy2 = wy2 - var * b / delta; - yy1 = wy1 + var * a / delta; - my_snprintf(s, S(s), "%g", yy1); - my_strdup(1433, &r->prop_ptr, subst_token(r->prop_ptr, "y1", s)); - my_snprintf(s, S(s), "%g", yy2); - my_strdup(1439, &r->prop_ptr, subst_token(r->prop_ptr, "y2", s)); + if(n == xctx->graph_master) { + double m = G_Y(xctx->mousey); + double a = m - wy1; + double b = wy2 -m; + double delta = (wy2 - wy1); + double var = delta * 0.1; + yy2 = wy2 - var * b / delta; + yy1 = wy1 + var * a / delta; + my_snprintf(s, S(s), "%g", yy1); + my_strdup(1433, &r->prop_ptr, subst_token(r->prop_ptr, "y1", s)); + my_snprintf(s, S(s), "%g", yy2); + my_strdup(1439, &r->prop_ptr, subst_token(r->prop_ptr, "y2", s)); + } } else { delta = (wx2 - wx1) / divx; delta_threshold = 1.0; @@ -404,17 +408,19 @@ static int waves_callback(int event, int mx, int my, KeySym key, int button, int } else if(button == Button5 && state == ShiftMask) { if(xctx->graph_left) { - double m = G_Y(xctx->mousey); - double a = m - wy1; - double b = wy2 -m; - double delta = (wy2 - wy1); - double var = delta * 0.1; - yy2 = wy2 + var * b / delta; - yy1 = wy1 - var * a / delta; - my_snprintf(s, S(s), "%g", yy1); - my_strdup(1447, &r->prop_ptr, subst_token(r->prop_ptr, "y1", s)); - my_snprintf(s, S(s), "%g", yy2); - my_strdup(1436, &r->prop_ptr, subst_token(r->prop_ptr, "y2", s)); + if(n == xctx->graph_master) { + double m = G_Y(xctx->mousey); + double a = m - wy1; + double b = wy2 -m; + double delta = (wy2 - wy1); + double var = delta * 0.1; + yy2 = wy2 + var * b / delta; + yy1 = wy1 - var * a / delta; + my_snprintf(s, S(s), "%g", yy1); + my_strdup(1447, &r->prop_ptr, subst_token(r->prop_ptr, "y1", s)); + my_snprintf(s, S(s), "%g", yy2); + my_strdup(1436, &r->prop_ptr, subst_token(r->prop_ptr, "y2", s)); + } } else { double m = G_X(xctx->mousex); double a = m - wx1; @@ -434,14 +440,16 @@ static int waves_callback(int event, int mx, int my, KeySym key, int button, int else if(key == XK_Down) { double delta; if(xctx->graph_left) { - delta = (wy2 - wy1) / divy; - delta_threshold = 1.0; - yy1 = wy1 - delta * delta_threshold; - yy2 = wy2 - delta * delta_threshold; - my_snprintf(s, S(s), "%g", yy1); - my_strdup(1434, &r->prop_ptr, subst_token(r->prop_ptr, "y1", s)); - my_snprintf(s, S(s), "%g", yy2); - my_strdup(1435, &r->prop_ptr, subst_token(r->prop_ptr, "y2", s)); + if(n == xctx->graph_master) { + delta = (wy2 - wy1) / divy; + delta_threshold = 1.0; + yy1 = wy1 - delta * delta_threshold; + yy2 = wy2 - delta * delta_threshold; + my_snprintf(s, S(s), "%g", yy1); + my_strdup(1434, &r->prop_ptr, subst_token(r->prop_ptr, "y1", s)); + my_snprintf(s, S(s), "%g", yy2); + my_strdup(1435, &r->prop_ptr, subst_token(r->prop_ptr, "y2", s)); + } } else { double m = G_X(xctx->mousex); double a = m - wx1; @@ -459,17 +467,19 @@ static int waves_callback(int event, int mx, int my, KeySym key, int button, int } else if(button == Button4 && state == ShiftMask) { if(xctx->graph_left) { - double m = G_Y(xctx->mousey); - double a = m - wy1; - double b = wy2 -m; - double delta = (wy2 - wy1); - double var = delta * 0.1; - yy2 = wy2 - var * b / delta; - yy1 = wy1 + var * a / delta; - my_snprintf(s, S(s), "%g", yy1); - my_strdup(1419, &r->prop_ptr, subst_token(r->prop_ptr, "y1", s)); - my_snprintf(s, S(s), "%g", yy2); - my_strdup(1444, &r->prop_ptr, subst_token(r->prop_ptr, "y2", s)); + if(n == xctx->graph_master) { + double m = G_Y(xctx->mousey); + double a = m - wy1; + double b = wy2 -m; + double delta = (wy2 - wy1); + double var = delta * 0.1; + yy2 = wy2 - var * b / delta; + yy1 = wy1 + var * a / delta; + my_snprintf(s, S(s), "%g", yy1); + my_strdup(1419, &r->prop_ptr, subst_token(r->prop_ptr, "y1", s)); + my_snprintf(s, S(s), "%g", yy2); + my_strdup(1444, &r->prop_ptr, subst_token(r->prop_ptr, "y2", s)); + } } else { double m = G_X(xctx->mousex); double a = m - wx1; @@ -489,14 +499,16 @@ static int waves_callback(int event, int mx, int my, KeySym key, int button, int else if(key == XK_Up) { double delta; if(xctx->graph_left) { - delta = (wy2 - wy1) / divy; - delta_threshold = 1.0; - yy1 = wy1 + delta * delta_threshold; - yy2 = wy2 + delta * delta_threshold; - my_snprintf(s, S(s), "%g", yy1); - my_strdup(1437, &r->prop_ptr, subst_token(r->prop_ptr, "y1", s)); - my_snprintf(s, S(s), "%g", yy2); - my_strdup(1438, &r->prop_ptr, subst_token(r->prop_ptr, "y2", s)); + if(n == xctx->graph_master) { + delta = (wy2 - wy1) / divy; + delta_threshold = 1.0; + yy1 = wy1 + delta * delta_threshold; + yy2 = wy2 + delta * delta_threshold; + my_snprintf(s, S(s), "%g", yy1); + my_strdup(1437, &r->prop_ptr, subst_token(r->prop_ptr, "y1", s)); + my_snprintf(s, S(s), "%g", yy2); + my_strdup(1438, &r->prop_ptr, subst_token(r->prop_ptr, "y2", s)); + } } else { double m = G_X(xctx->mousex); double a = m - wx1; diff --git a/src/draw.c b/src/draw.c index 5c6bee7c..a146e6df 100644 --- a/src/draw.c +++ b/src/draw.c @@ -1610,17 +1610,20 @@ void free_rawfile(void) { int i; - if(!xctx->values) return; - for(i = 0 ; i < xctx->nvars; i++) { - my_free(510, &xctx->names[i]); + if(xctx->names) { + for(i = 0 ; i < xctx->nvars; i++) { + my_free(510, &xctx->names[i]); + } + my_free(968, &xctx->names); } - for(i = 0 ; i < xctx->nvars; i++) { - my_free(512, &xctx->values[i]); + if(xctx->values) { + for(i = 0 ; i < xctx->nvars; i++) { + my_free(512, &xctx->values[i]); + } + my_free(528, &xctx->values); } - my_free(1413, &xctx->npoints); - my_free(528, &xctx->values); - my_free(968, &xctx->names); - my_free(1393, &xctx->raw_schname); + if(xctx->npoints) my_free(1413, &xctx->npoints); + if(xctx->raw_schname) my_free(1393, &xctx->raw_schname); xctx->datasets = 0; xctx->nvars = 0; int_hash_free(xctx->raw_table); @@ -1901,20 +1904,20 @@ void draw_graph(int c, int i, int flags) double subwx = wx + k * deltax / (subdivx + 1); if(!axis_within_range(subwx, wx1, wx2)) continue; if(axis_end(subwx, deltax, wx2)) break; - drawline(2, ADD, W_X(subwx), W_Y(wy2), W_X(subwx), W_Y(wy1), dash_sizey); + drawline(GRIDLAYER, ADD, W_X(subwx), W_Y(wy2), W_X(subwx), W_Y(wy1), dash_sizey); } if(!axis_within_range(wx, wx1, wx2)) continue; if(axis_end(wx, deltax, wx2)) break; /* swap order of wy1 and wy2 since grap y orientation is opposite to xorg orientation */ - drawline(2, ADD, W_X(wx), W_Y(wy2), W_X(wx), W_Y(wy1), dash_sizey); - drawline(2, ADD, W_X(wx), W_Y(wy1), W_X(wx), W_Y(wy1) + 4, 0); /* axis marks */ + drawline(GRIDLAYER, ADD, W_X(wx), W_Y(wy2), W_X(wx), W_Y(wy1), dash_sizey); + drawline(GRIDLAYER, ADD, W_X(wx), W_Y(wy1), W_X(wx), W_Y(wy1) + 4, 0); /* axis marks */ /* X-axis labels */ my_snprintf(lab, S(lab), "%g", wx * unitx); draw_string(3, NOW, lab, 0, 0, 1, 0, W_X(wx), y2 + 30 * txtsizex, txtsizex, txtsizex); } /* first and last vertical box delimiters */ - drawline(2, ADD, W_X(wx1), W_Y(wy2), W_X(wx1), W_Y(wy1), 0); - drawline(2, ADD, W_X(wx2), W_Y(wy2), W_X(wx2), W_Y(wy1), 0); + drawline(GRIDLAYER, ADD, W_X(wx1), W_Y(wy2), W_X(wx1), W_Y(wy1), 0); + drawline(GRIDLAYER, ADD, W_X(wx2), W_Y(wy2), W_X(wx2), W_Y(wy1), 0); /* horizontal grid lines */ deltay = axis_increment(wy1, wy2, divy); starty = axis_start(wy1, deltay, divy); @@ -1924,25 +1927,25 @@ void draw_graph(int c, int i, int flags) double subwy = wy + k * deltay / (subdivy + 1); if(!axis_within_range(subwy, wy1, wy2)) continue; if(axis_end(subwy, deltay, wy2)) break; - drawline(2, ADD, W_X(wx1), W_Y(subwy), W_X(wx2), W_Y(subwy), dash_sizex); + drawline(GRIDLAYER, ADD, W_X(wx1), W_Y(subwy), W_X(wx2), W_Y(subwy), dash_sizex); } if(!axis_within_range(wy, wy1, wy2)) continue; if(axis_end(wy, deltay, wy2)) break; - drawline(2, ADD, W_X(wx1), W_Y(wy), W_X(wx2), W_Y(wy), dash_sizex); - drawline(2, ADD, W_X(wx1)-4, W_Y(wy), W_X(wx1), W_Y(wy), 0); /* axis marks */ + drawline(GRIDLAYER, ADD, W_X(wx1), W_Y(wy), W_X(wx2), W_Y(wy), dash_sizex); + drawline(GRIDLAYER, ADD, W_X(wx1)-4, W_Y(wy), W_X(wx1), W_Y(wy), 0); /* axis marks */ /* Y-axis labels */ my_snprintf(lab, S(lab), "%g", wy * unity); draw_string(3, NOW, lab, 0, 1, 0, 1, x1 - 2 - 30 * txtsizey, W_Y(wy), txtsizey, txtsizey); } /* first and last horizontal box delimiters */ - drawline(2, ADD, W_X(wx1), W_Y(wy1), W_X(wx2), W_Y(wy1), 0); - drawline(2, ADD, W_X(wx1), W_Y(wy2), W_X(wx2), W_Y(wy2), 0); + drawline(GRIDLAYER, ADD, W_X(wx1), W_Y(wy1), W_X(wx2), W_Y(wy1), 0); + drawline(GRIDLAYER, ADD, W_X(wx1), W_Y(wy2), W_X(wx2), W_Y(wy2), 0); /* Horizontal axis (if in viewport) */ - if(wy1 <= 0 && wy2 >= 0) drawline(2, ADD, W_X(wx1), W_Y(0), W_X(wx2), W_Y(0), 0); + if(wy1 <= 0 && wy2 >= 0) drawline(GRIDLAYER, ADD, W_X(wx1), W_Y(0), W_X(wx2), W_Y(0), 0); /* Vertical axis (if in viewport) * swap order of wy1 and wy2 since grap y orientation is opposite to xorg orientation */ - if(wx1 <= 0 && wx2 >= 0) drawline(2, ADD, W_X(0), W_Y(wy2), W_X(0), W_Y(wy1), 0); - drawline(2, END, 0.0, 0.0, 0.0, 0.0, 0); + if(wx1 <= 0 && wx2 >= 0) drawline(GRIDLAYER, ADD, W_X(0), W_Y(wy2), W_X(0), W_Y(wy1), 0); + drawline(GRIDLAYER, END, 0.0, 0.0, 0.0, 0.0, 0); /* get data to plot */ my_strdup2(1389, &node, get_tok_value(r->prop_ptr,"node",0)); my_strdup2(1390, &color, get_tok_value(r->prop_ptr,"color",0)); diff --git a/xschem_library/rom8k/rom8k.sch b/xschem_library/rom8k/rom8k.sch index d9ff52cd..71850c43 100644 --- a/xschem_library/rom8k/rom8k.sch +++ b/xschem_library/rom8k/rom8k.sch @@ -31,8 +31,8 @@ B 2 1860 -890 3010 -810 {flags=1 y1 = 0 y2 = 1 divy = 1 -x1=1.5111e-07 -x2=3.58736e-07 divx=10 +x1=1.25059e-07 +x2=1.84194e-07 divx=10 node=" v(ldbl[0]) v(ldbl[16]) v(ldbl[32]) v(ldbl[1]) v(ldbl[17]) v(ldbl[33]) @@ -43,8 +43,8 @@ B 2 1860 -810 3010 -730 {flags=1 y1 = 0 y2 = 1.5 divy = 1 -x1=1.5111e-07 -x2=3.58736e-07 divx=10 +x1=1.25059e-07 +x2=1.84194e-07 divx=10 node=" v(ldl1x[0]) v(ldl1x[1]) v(ldl1x[2]) v(ldl1x[3]) " @@ -53,24 +53,27 @@ B 2 1860 -1180 3010 -970 {flags=1 y1 = -0.251577 y2 = 1.74839 divy = 4 -x1=1.5111e-07 -x2=3.58736e-07 divx=10 +x1=1.25059e-07 +x2=1.84194e-07 +divx=10 +subdivx=4 node="v(ldcp) v(ldyms[4]) v(ldyms[5]) v(ldyms[6]) v(ldyms[7])" -color=6\\ 12\\ 13\\ 14\\ 15 unitx=n} +color="6 12 13 14 15" +unitx=n} B 2 1860 -490 3010 -410 {flags=1 y1 = -0.1 y2 = 1.6 divy = 1 -x1=1.5111e-07 -x2=3.58736e-07 divx=10 +x1=1.25059e-07 +x2=1.84194e-07 divx=10 node="v(ldprech)" color=4 unitx=n subdivy=2} B 2 1860 -410 3010 -330 {flags=1 y1 = 0 y2 = 1.5 divy = 1 -x1=1.5111e-07 -x2=3.58736e-07 divx=10 +x1=1.25059e-07 +x2=1.84194e-07 divx=10 node="v(lden) v(ldcp)" color=12\\ 18 unitx=n subdivy=2} B 2 1860 -730 3010 -570 {flags=1 @@ -78,9 +81,9 @@ y1 = -0.16335 y2 = 1.6335 divy = 3 subdivy=1 -subdivx = 1 -x1=1.5111e-07 -x2=3.58736e-07 divx=10 +subdivx = 4 +x1=1.25059e-07 +x2=1.84194e-07 divx=10 node=" v(ldcp) v(ldwl[0]) v(ldwl[1]) v(ldwl[2]) v(ldwl[3]) @@ -93,49 +96,49 @@ B 2 1860 -330 3010 -250 {flags=1 y1 = 0 y2 = 1 divy = 1 -x1=1.5111e-07 -x2=3.58736e-07 divx=10 +x1=1.25059e-07 +x2=1.84194e-07 divx=10 node="v(ldymsref)" color=3 unitx=n subdivy=4} B 2 1860 -250 3010 -170 {flags=1 y1 = 0 y2 = 1.5 divy = 1 -x1=1.5111e-07 -x2=3.58736e-07 divx=10 +x1=1.25059e-07 +x2=1.84194e-07 divx=10 node="v(lden)" color=4 unitx=n subdivy=2} B 2 1860 -170 3010 -90 {flags=1 y1 = 0 y2 = 1.5 divy = 1 -x1=1.5111e-07 -x2=3.58736e-07 divx=10 +x1=1.25059e-07 +x2=1.84194e-07 divx=10 node="v(lden) v(ldprech)" color=12\\ 16 unitx=n subdivy=2} B 2 1860 -90 3010 -10 {flags=1 y1 = 0 y2 = 1.5 divy = 1 -x1=1.5111e-07 -x2=3.58736e-07 divx=10 +x1=1.25059e-07 +x2=1.84194e-07 divx=10 node="v(lden) v(ldcp)" color=12\\ 5 unitx=n subdivy=2} B 2 1860 -570 3010 -490 {flags=1 y1 = 0 -y2 = 1.6 +y2 = 1.5 divy = 1 subdivy=2 -x1=1.5111e-07 -x2=3.58736e-07 divx=10 +x1=1.25059e-07 +x2=1.84194e-07 divx=10 node="v(ldl1x[1])" color=4 unitx=n} B 2 1860 -970 3010 -890 {flags=1 y1 = 0 y2 = 1.5 divy = 1 -x1=1.5111e-07 -x2=3.58736e-07 divx=10 +x1=1.25059e-07 +x2=1.84194e-07 divx=10 node="v(lden) v(ldprech)" color=4\\ 6 unitx=n} B 7 950 -250 980 -80 {}