add_pinlayer_boxes(): fix uninitialized bb[PINLAYER][i].fill, LCC symbols: make 1st LCC level pins display spice_get_voltage annotation data
This commit is contained in:
parent
6cca3fefc4
commit
b0973ae8c0
|
|
@ -3991,6 +3991,7 @@ static void add_pinlayer_boxes(int *lastr, xRect **bb,
|
||||||
bb[PINLAYER][i].dash = 0;
|
bb[PINLAYER][i].dash = 0;
|
||||||
bb[PINLAYER][i].ellipse_a = bb[PINLAYER][i].ellipse_b = -1;
|
bb[PINLAYER][i].ellipse_a = bb[PINLAYER][i].ellipse_b = -1;
|
||||||
bb[PINLAYER][i].sel = 0;
|
bb[PINLAYER][i].sel = 0;
|
||||||
|
bb[PINLAYER][i].fill = 1;
|
||||||
/* add to symbol pins remaining attributes from schematic pins, except name= and lab= */
|
/* add to symbol pins remaining attributes from schematic pins, except name= and lab= */
|
||||||
my_strdup(_ALLOC_ID_, &pin_label, get_sym_template(prop_ptr, "lab")); /* remove name=... and lab=... */
|
my_strdup(_ALLOC_ID_, &pin_label, get_sym_template(prop_ptr, "lab")); /* remove name=... and lab=... */
|
||||||
my_strcat(_ALLOC_ID_, &bb[PINLAYER][i].prop_ptr, pin_label);
|
my_strcat(_ALLOC_ID_, &bb[PINLAYER][i].prop_ptr, pin_label);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
v {xschem version=2.9.7 file_version=1.2}
|
v {xschem version=3.4.6 file_version=1.2}
|
||||||
G {type=lcc_iopin
|
G {}
|
||||||
|
K {type=lcc_iopin
|
||||||
format="*.iopin @lab"
|
format="*.iopin @lab"
|
||||||
template="name=p1 lab=xxx"
|
template="name=p1 lab=xxx"
|
||||||
}
|
}
|
||||||
|
|
@ -11,3 +12,4 @@ L 7 -10 2.5 -7.5 0 {}
|
||||||
L 7 -12.5 0 -10 -2.5 {}
|
L 7 -12.5 0 -10 -2.5 {}
|
||||||
L 7 -12.5 0 -10 2.5 {}
|
L 7 -12.5 0 -10 2.5 {}
|
||||||
T {@lab} -3.75 -16.25 0 1 0.2 0.2 {}
|
T {@lab} -3.75 -16.25 0 1 0.2 0.2 {}
|
||||||
|
T {@#0:spice_get_voltage} -1.875 3.90625 0 1 0.2 0.2 {layer=15}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
v {xschem version=2.9.7 file_version=1.2}
|
v {xschem version=3.4.6 file_version=1.2}
|
||||||
G {type=lcc_ipin
|
G {}
|
||||||
|
K {type=lcc_ipin
|
||||||
format="*.ipin @lab"
|
format="*.ipin @lab"
|
||||||
template="name=p1 lab=xxx"
|
template="name=p1 lab=xxx"
|
||||||
}
|
}
|
||||||
|
|
@ -9,3 +10,4 @@ E {}
|
||||||
L 7 10 -2.5 12.5 0 {}
|
L 7 10 -2.5 12.5 0 {}
|
||||||
L 7 10 2.5 12.5 0 {}
|
L 7 10 2.5 12.5 0 {}
|
||||||
T {@lab} 3.75 -16.25 0 0 0.2 0.2 {}
|
T {@lab} 3.75 -16.25 0 0 0.2 0.2 {}
|
||||||
|
T {@#0:spice_get_voltage} 1.875 3.90625 0 0 0.2 0.2 {layer=15}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
v {xschem version=2.9.7 file_version=1.2}
|
v {xschem version=3.4.6 file_version=1.2}
|
||||||
G {type=lcc_opin
|
G {}
|
||||||
|
K {type=lcc_opin
|
||||||
format="*.opin @lab"
|
format="*.opin @lab"
|
||||||
template="name=p1 lab=xxx"
|
template="name=p1 lab=xxx"
|
||||||
}
|
}
|
||||||
|
|
@ -9,3 +10,4 @@ E {}
|
||||||
L 7 -12.5 -2.5 -10 0 {}
|
L 7 -12.5 -2.5 -10 0 {}
|
||||||
L 7 -12.5 2.5 -10 0 {}
|
L 7 -12.5 2.5 -10 0 {}
|
||||||
T {@lab} -3.75 -16.25 0 1 0.2 0.2 {}
|
T {@lab} -3.75 -16.25 0 1 0.2 0.2 {}
|
||||||
|
T {@#0:spice_get_voltage} -1.875 3.90625 0 1 0.2 0.2 {layer=15}
|
||||||
|
|
|
||||||
11
src/token.c
11
src/token.c
|
|
@ -4432,7 +4432,9 @@ const char *translate2(Lcc *lcc, int level, char* s)
|
||||||
if(!tclgetboolvar("spiceprefix") && !strcmp(token, "@spiceprefix")) {
|
if(!tclgetboolvar("spiceprefix") && !strcmp(token, "@spiceprefix")) {
|
||||||
if(value) my_free(_ALLOC_ID_, &value);
|
if(value) my_free(_ALLOC_ID_, &value);
|
||||||
xctx->tok_size = 0;
|
xctx->tok_size = 0;
|
||||||
} else if(token[0] == '@' && (token[1] == '@' || token[1] == '#')) { /* get rid of pin attribute info */
|
|
||||||
|
} else if(!strstr(token, "spice_get_voltage") &&
|
||||||
|
token[0] == '@' && (token[1] == '@' || token[1] == '#')) { /* get rid of pin attribute info */
|
||||||
if(value) my_free(_ALLOC_ID_, &value);
|
if(value) my_free(_ALLOC_ID_, &value);
|
||||||
xctx->tok_size = 0;
|
xctx->tok_size = 0;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -4473,6 +4475,13 @@ const char *translate2(Lcc *lcc, int level, char* s)
|
||||||
memcpy(result + result_pos, token, tmp + 1);
|
memcpy(result + result_pos, token, tmp + 1);
|
||||||
result_pos += tmp;
|
result_pos += tmp;
|
||||||
}
|
}
|
||||||
|
/* @#n:spice_get_voltage tokens */
|
||||||
|
else if (strstr(token, "spice_get_voltage")) {
|
||||||
|
tmp = strlen(token);
|
||||||
|
STR_ALLOC(&result, tmp + result_pos, &size);
|
||||||
|
memcpy(result + result_pos, token, tmp + 1);
|
||||||
|
result_pos += tmp;
|
||||||
|
}
|
||||||
else if(strcmp(token,"@path")==0) {
|
else if(strcmp(token,"@path")==0) {
|
||||||
char *path = NULL;
|
char *path = NULL;
|
||||||
here(level);
|
here(level);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue