Commit Graph

2903 Commits

Author SHA1 Message Date
Stefan Schippers a10cb2c429 added warnings (Options -> Show info window) if components are missing a name=... attribute / if symbols are missing a type=... attribute; eliminated usage of tcl "file normalize..." statements to avoid symlink dereferencing (if using symlinked libraries), aligned version/file_version tags in support awk scripts 2020-10-06 16:19:52 +02:00
Stefan Schippers 71f23a5242 devices/ symbol fixes 2020-10-06 03:20:56 +02:00
Stefan Schippers 11d664b4a8 fix a memory leak, spatial hash table tuning, better clear find_inst_to_be_redrawn() nodetable 2020-10-05 13:29:57 +02:00
Stefan Schippers 72363cf2d4 better wire bbox calculation in find_inst_to_be_redrawn() 2020-10-05 04:18:31 +02:00
Stefan Schippers 82051a33e5 simplify / break down complex expressions for code readability 2020-10-05 03:00:40 +02:00
Stefan Schippers 051b20c014 code formating, use some intermediate variables for code readability, line length limited to 124 chars 2020-10-04 23:55:43 +02:00
Stefan Schippers 3060217aec simplified complex logical expressions on symbol type by using macros 2020-10-04 19:53:09 +02:00
Stefan Schippers 12f74b1265 split a couple of xinit.c functions 2020-10-04 12:51:34 +02:00
Stefan Schippers 3cf9d53182 comments in code 2020-10-04 11:19:50 +02:00
Christian Svensson ac398820d9 make reload dialog text a bit clearer 2020-10-04 00:09:57 +02:00
Stefan SChippers cd556d4d6e fixed typo in read_line() fscanf... 2020-10-03 19:50:29 +02:00
Stefan Schippers 34a929f2bf fix rlc.sch sample circuit it was changed for debugging 2020-10-03 12:51:31 +02:00
Stefan Schippers f8708d60c7 replace all fscanf(fd, "%*1[\n]"); with fscanf(fd, " "), so CRLF will be handled as well as LF. 2020-10-03 12:49:45 +02:00
Stefan Schippers 39cd1a77ed fix a regression in delete(): instance hash was not updated. removed some redundant drawing in copy operations 2020-10-03 04:33:52 +02:00
Stefan Schippers 5b72e307df fix erroneous slotted instance recognition (confuse U2[3:0] with U3:2) in translate(), breaking in some cases the "net name on instance pin" feature 2020-10-03 01:13:35 +02:00
Stefan Schippers 40d05a2c60 fix erroneous slotted instance recognition (confuse U2[3:0] with U3:2) in translate(), breaking in some cases the "net name on instance pin" feature 2020-10-03 01:04:57 +02:00
Stefan Schippers 657e8d7fff performance boost in edit attribute on multiple objects when "show net name on symbol pins" is active. 2020-10-02 19:09:09 +02:00
Stefan Schippers 164ce52945 performance boost of "show net on symbol pins" feature 2020-10-02 18:19:31 +02:00
Stefan Schippers 6805335a09 regression fix: correctly hash new wires when inserted 2020-10-02 16:12:08 +02:00
Stefan Schippers 72f0031611 mos_power_ampli.sym and solar_panel.sch examples updated to display symbolnet names on pins 2020-10-02 15:45:30 +02:00
Stefan Schippers 621b2157dc more precise bounding box calculation for net highlights (will extend the bbox to cover wide (bus) wires and solder dots) so there are no more "half coloured" connecting dots etc. 2020-10-02 03:51:03 +02:00
Stefan Schippers 8807c7250d various graphic rendering fixes for the new "view instance pin net names" function. Fixed some errors in merge schematic in callback.c and paste.c 2020-10-02 03:21:22 +02:00
Stefan Schippers cf0db629c4 make move operations display updated @#n:net_name attributes after move operation 2020-10-01 02:58:05 +02:00
Stefan Schippers d706e45987 set max width of .c files <=130 chars; Fix netlist regression: if no "lab=value" is given in instance attributes get lab from symbol "template=" string. This was commented out recently and now reverted back. "View->Enable show net names on symbol pins" global menu added: if unset no symbol pin net names will be shown regardless of instance/symbol "net_name=true" and pin @#n:net_name attributes. 2020-09-30 23:55:07 +02:00
Stefan Schippers d0b659c455 fix potential uninitialized rot, flip variables for text rotation in load_sym_def() 2020-09-30 03:26:45 +02:00
Stefan Schippers f0b4ab060a optimized translate() 2020-09-30 03:06:56 +02:00
Stefan Schippers 3f482fd8a4 optimize unselect_all() 2020-09-30 02:53:20 +02:00
Stefan Schippers 6c425e60b8 if component has "net_name=true" and pins have "@#n:net_name" attributes, show "<UNCONN>" if a pin terminal is not attached to any net. 2020-09-30 01:57:38 +02:00
Stefan Schippers 0fe9c1223d doc updates 2020-09-30 01:34:18 +02:00
Stefan Schippers 392e7f9b57 "@#n:net_name" attribute (n = pin name or number) in symbols translates to net name attached to pin. "lab_show.sym" component that shows (does not assign) net name. "highlight=true" attribute can be given on instances in addition to symbols. Set filename in recent history also when given on command line. 2020-09-30 00:55:34 +02:00
Stefan Schippers 91e74fadcb "@#n:net_name" attribute (n = pin name or number) in symbols translates to net name attached to pin. "lab_show.sym" component that shows (does not assign) net name. "highlight=true" attribute can be given on instances in addition to symbols 2020-09-30 00:30:48 +02:00
Stefan Schippers f699d187e6 save embedded components not only on first embeded instance but on all of them. This makes reloading easier and the overall thing much simpler. In LCC schematic allow get_sym_type() to read symbol data from folowing embedded tags "[...]" if any. Fix potential segfault in preview_window() 2020-09-29 11:17:10 +02:00
Stefan Schippers e7b0a5b9a3 better read_line(): handle unextected EOFs (noeol last lines) 2020-09-28 15:21:26 +02:00
Stefan Schippers ebdd4e827c read_line() function improvements, "]" tag recognized also if there is garbage following it 2020-09-28 08:35:00 +02:00
Stefan Schippers 59d4608ac0 completely eliminated match_symbol() (which in turn may call load_sym_def() ) calls from within load_sym_def(), even for aligning LCC schematic pin ordering to symbol. A dedicated "align_sch_pins_with_sym()" together with "get_sym_type()" does the job in O(N) instead of using a sort routine. 2020-09-27 12:41:36 +02:00
Stefan Schippers ac1aa29281 more robust and efficient symbol type probing in get_symbol_type() 2020-09-26 10:30:16 +02:00
Stefan Schippers b5d21e54f1 removed debug messages 2020-09-26 01:29:28 +02:00
Stefan Schippers 16edd087e4 off-loaded some functions from load_sym_def() to make it smaller, avoid overkill recursive load_sym_def() calls to get only the type of a component in LCC schematic instances. 2020-09-26 01:15:33 +02:00
Stefan Schippers 6990d48d1a remove old obsolete comments 2020-09-25 18:09:49 +02:00
Stefan Schippers b2e7c28127 remove old obsolete comments 2020-09-25 17:54:50 +02:00
Stefan Schippers 28e2085e47 just some code cleanups & comments 2020-09-25 17:11:43 +02:00
Stefan Schippers 5e85a87545 Alt-b command toggles bounding box view: 0: view all, 1: bbox view for subcircuits, 2: bbox view for all symbols. 2020-09-25 00:23:34 +02:00
Stefan Schippers c627f21057 optimize previous fix, avod skipping lines after embedded symbol (embed_fd) 2020-09-24 17:46:58 +02:00
Stefan Schippers 66a8eabf7e fix un-graceful termination of load_sym_def() in case of recursive schematics instantiating themselves. It was not allowed to unroll all hierarchy levels cleaning up allocated memory after issuing the max-hierarchy warning. 2020-09-24 15:59:01 +02:00
Stefan Schippers 54a1d9b2c9 fix inaccurate mouse to arc distance calculation for selections 2020-09-24 12:11:55 +02:00
Stefan Schippers 7a0fa15238 add gtkwave_server.tcl hook for gtkwave to listen to a tcp port 2020-09-24 02:28:00 +02:00
Stefan Schippers da74e5ad36 Fixed some flaws in execute/execute_wait/simulate procedures (Simulate button was not cleared after a foreground simulation) 2020-09-24 02:20:09 +02:00
Stefan Schippers b7d724dcab apply visible layers (View->Symbol visible layers) to any object (lines. arcs, text etc),better bounding box calculation for slant text 2020-09-23 22:13:39 +02:00
Stefan Schippers 5bab41e28b add attributes "weight=bold", "slant=italic", "slant=oblique" on text objects for bold/italic/oblique texts, doc updates. 2020-09-23 18:15:26 +02:00
Stefan Schippers 39b7a441b3 fix regression: hilight/rename duplicated instance names was no more functional 2020-09-23 00:58:39 +02:00