force ERC info window showing in case of critical errors during netlist (unconnected nodes, shorted nodes, pin mismatch between sch and sym and similar)

This commit is contained in:
Stefan Frederik 2021-07-14 23:32:59 +02:00
parent e5208e2d99
commit 25d7d323a4
3 changed files with 8 additions and 0 deletions

View File

@ -275,6 +275,7 @@ void hash_inst_pin(int what, int i, int j)
my_snprintf(str, S(str), "symbol %s: missing all or name or dir attributes on pin %d\n %s",
xctx->inst[i].name, j, prop_ptr);
statusmsg(str,2);
tcleval("wm deiconify .infotext"); /* critical error: force ERC window showing */
if(!netlist_count) {
xctx->inst[i].color = -PINLAYER;
xctx->hilight_nets=1;
@ -446,6 +447,7 @@ static void signal_short( char *n1, char *n2)
my_snprintf(str, S(str), "shorted: %s - %s", n1, n2);
dbg(1, "signal_short(): signal_short: shorted: %s - %s", n1, n2);
statusmsg(str,2);
tcleval("wm deiconify .infotext"); /* critical error: force ERC window showing */
if(!netlist_count) {
bus_hilight_lookup(n1, xctx->hilight_color, XINSERT);
if(incr_hilight) incr_hilight_color();
@ -1192,6 +1194,7 @@ int sym_vs_sch_pins()
statusmsg(str,2);
my_snprintf(str, S(str), " %s <--> %s", type, pin_dir);
statusmsg(str,2);
tcleval("wm deiconify .infotext"); /* critical error: force ERC window showing */
for(j = 0; j < xctx->instances; j++) {
if(!strcmp(xctx->inst[j].name, xctx->sym[i].name)) {
xctx->inst[i].color = -PINLAYER;
@ -1208,6 +1211,7 @@ int sym_vs_sch_pins()
/* fprintf(errfp, " unmatched sch / sym pin: %s\n", lab); */
my_snprintf(str, S(str), "Symbol %s: schematic pin: %s not in symbol", xctx->sym[i].name, lab);
statusmsg(str,2);
tcleval("wm deiconify .infotext"); /* critical error: force ERC window showing */
for(j = 0; j < xctx->instances; j++) {
if(!strcmp(xctx->inst[j].name, xctx->sym[i].name)) {
xctx->inst[i].color = -PINLAYER;
@ -1241,6 +1245,7 @@ int sym_vs_sch_pins()
my_snprintf(str, S(str), "Symbol %s has %d pins, its schematic has %d pins",
xctx->sym[i].name, rects, pin_cnt);
statusmsg(str,2);
tcleval("wm deiconify .infotext"); /* critical error: force ERC window showing */
for(j = 0; j < xctx->instances; j++) {
if(!strcmp(xctx->inst[j].name, xctx->sym[i].name)) {
xctx->inst[i].color = -PINLAYER;
@ -1264,6 +1269,7 @@ int sym_vs_sch_pins()
my_snprintf(str, S(str), "Symbol %s: symbol pin: %s not in schematic",
xctx->sym[i].name, pin_name ? pin_name : "<NULL>");
statusmsg(str,2);
tcleval("wm deiconify .infotext"); /* critical error: force ERC window showing */
for(k = 0; k < xctx->instances; k++) {
if(!strcmp(xctx->inst[k].name, xctx->sym[i].name)) {
xctx->inst[i].color = -PINLAYER;

View File

@ -324,6 +324,7 @@ void traverse_node_hash()
if(!netlist_count) bus_hilight_lookup(entry->token, xctx->hilight_color, XINSERT_NOREPLACE);
if(incr_hilight) incr_hilight_color();
statusmsg(str,2);
tcleval("wm deiconify .infotext"); /* critical error: force ERC window showing */
}
else if(entry->d.out >=2 && entry->d.port>=0) /* era d.port>=2 03102001 */
{

View File

@ -2326,6 +2326,7 @@ const char *net_name(int i, int j, int *multip, int hash_prefix_unnamed_net, int
my_snprintf(errstr, S(errstr), "Warning: unconnected pin, Inst idx: %d, Pin idx: %d Inst:%s\n",
i, j, xctx->inst[i].instname ) ;
statusmsg(errstr,2);
tcleval("wm deiconify .infotext"); /* critical error: force ERC window showing */
if(!netlist_count) {
xctx->inst[i].color = -PINLAYER;
xctx->hilight_nets=1;