Commit Graph

2890 Commits

Author SHA1 Message Date
stefan schippers 376e547c48 find_file and match_file utility functions: do not try to descend unreadable dirs 2023-05-08 12:29:44 +02:00
stefan schippers b233963079 update xschem_library/Makefile to include generators in install 2023-05-06 09:04:06 +02:00
stefan schippers 4baf5f9803 add warnings in my_strdup() and my_strdup2() if src and *dest are the same address 2023-05-05 10:44:04 +02:00
stefan schippers b4b2c91481 fix yet another error in "cmd" string handling in load_sym_def(). Added realloc of freed pointers detection in track_memory.awk 2023-05-05 09:29:30 +02:00
stefan schippers d23388ff71 fix cmd memory leak in load_ym_def(), make copy of returned string in some routines to reduce dependencies 2023-05-04 23:23:54 +02:00
stefan schippers 35f4826198 Fix a corruption found by joanne in load_sym_def() where a static result returned from tcl_hook2() was accidentally freed. 2023-05-04 21:20:58 +02:00
stefan schippers f282a96cec better output formatting in "xschem instance_list" command, fix test_mosgen.sch absolute paths in symbols 2023-05-04 01:59:17 +02:00
stefan schippers 2438d0fa95 translate2(): better handle %xxx tokens in LCC symbols (propagate %xxx to upper level if not assigned to anything in instance) 2023-05-02 23:21:20 +02:00
stefan schippers 7e1f591b18 align TOK_TOKEN state change of translate() and translate2() to all other parsers 2023-05-02 18:54:27 +02:00
stefan schippers 4b9f61612b symbol generators may now take attributes like: "mosgen( @model )", with @model expanded to instance (or symbol template) value. update_symbol() updated to reflect this change. 2023-05-02 17:49:44 +02:00
stefan schippers eb50f9c26a code formatting in update_symbol() 2023-05-02 14:12:37 +02:00
stefan schippers e6224bfb09 when changing a symbol on an instance do not force change prefix (1st name char) if old and new symbol have same prefix 2023-05-02 13:00:14 +02:00
stefan schippers 9533b17a20 Allow to pass instance attributes (via translate() ) to symbol generators 2023-05-02 12:42:53 +02:00
stefan schippers fd0e036492 remove dbg message 2023-05-01 23:20:11 +02:00
stefan schippers a9ffa50ed8 add "ndir" parameter to get_sym_name(), some fixes in sym_vs_sch_pins() 2023-05-01 23:17:57 +02:00
stefan schippers ae8931c788 remove bbox() START/ADD/SET/END from some drawing operations. No observable performance impact and redraw is now more pixel precise, reducing artifacts. 2023-05-01 22:28:56 +02:00
stefan schippers 4c3b4d0321 various tcl_hook2() additions on instance names to handle procedures, fix bbox calculation in xschem replace_symbol command 2023-05-01 14:37:10 +02:00
stefan schippers aeea23a84d load_sym_def(): fix a debug message possibly printing garbage due to uninitialized variable 2023-04-29 11:02:23 +02:00
stefan schippers 3f2e4f2647 yet another small improvement in load_file_dialog to reduce redundant verbosity 2023-04-29 09:09:06 +02:00
stefan schippers 0703f90629 make persistent load_file_dialog work correctly for xschem files, non xschem files and generators 2023-04-29 03:48:20 +02:00
stefan schippers c7c69cc5de invoke myload_place_symbol when leaving .load (instead of leaving .load.buttons_bot.entry) if persistent load dialog is displayed 2023-04-29 02:20:36 +02:00
stefan schippers 67e9e305ec fix persistent insert symbol dialog by not placing anything if selecting multiple times the same symbol. proc myload_place_symbol: add an update statement to resolve race conditions. 2023-04-29 01:59:35 +02:00
stefan schippers a3347710db improve persistent insert symbol dialog (Shift-Insert) by not asking multiple times what to do when selecting a non xschem file 2023-04-29 01:41:02 +02:00
stefan schippers 9593d41f09 persistent load file dialog (Shift-Insert) now correctly handles generator script selection (do nothing until user adds () or (param1,param2,...) to generator name). 2023-04-29 00:28:24 +02:00
Stefan Schippers ee7dc8982a load_sym_def: if loading a symbol reading from a pipe (generator script) do not attempt to seek forward looking for embedded symbols. Assume no embedded symbols exist here 2023-04-28 20:33:57 +02:00
stefan schippers e044ed4c54 proc load_file_dialog: do not clear search pattern (if any) when changing directory in left listbox 2023-04-28 18:19:46 +02:00
stefan schippers b30eda3bb0 remove unused file 2023-04-28 17:58:35 +02:00
stefan schippers 710e694f40 merge_file(): handle generators so generated schematics (pcells) can be merged into an existing schematic 2023-04-28 17:34:04 +02:00
stefan schippers 26e088e729 add graph_linewidth_mult xschemrc variable to set default multiplier for graph line width w.r.t. xschem (current) line width. Add "Line width:" entry in graph_edit_properties dialog box 2023-04-28 10:45:56 +02:00
stefan schippers 410135cf44 align set_thick_waves() to comply with previous commit 2023-04-27 22:49:43 +02:00
stefan schippers 36f71708e6 added linewidth_mult=<double> attribute in graphs for per-graph line width adjustment 2023-04-27 20:55:17 +02:00
stefan schippers 0bb345f764 fix data corruption when netlisting hierarchical symbols with *_stop attribute set, thanks to Joanne Low regression tests, add option in pop_undo() to avoid saving state (push_undo()) for redo. 2023-04-27 11:52:51 +02:00
stefan schippers 52f35e30c2 avoid video updating when loading multiple files in hierarchical ps/pdf export 2023-04-27 08:49:52 +02:00
stefan schippers 2e7eb9e38b instance based schematic selection: place get_additional_symbols(1) after every load_schematic() to consistently add new virtual symbols for every instance based "schematic" attribute across the whole hierarchy. This is done for all netlisting code and hier_psprint() 2023-04-27 01:14:10 +02:00
stefan schippers 2189aaa932 fix unbalanced gsave/grestore in psprint (setting colors of empty text strings) 2023-04-27 00:36:50 +02:00
stefan schippers d9d66c1c90 removed redundant skip_dir(...) (use get_cell(..., 0) ), fix a couple of glitches in postscript export (filled polygons with self-coincident edgs, fix filled arc pies (missing point) 2023-04-26 23:00:20 +02:00
stefan schippers 3e320b56d2 fix wrong pdfmarks in hierarchical pdf export, after changes to handle generated sch/sym 2023-04-26 18:50:39 +02:00
stefan schippers 07fcdfbde4 fix hier_psprint() to handle all previous enhancements 2023-04-26 11:35:32 +02:00
stefan schippers 7a16859702 update tedax netlister with previous enhancements 2023-04-26 10:26:21 +02:00
stefan schippers 10441ef901 allow tcl procedures to generate generator script and parameters, update vhdl and verilog netlisters to handle generator schematic/symbol references 2023-04-26 09:54:35 +02:00
stefan schippers 3142279d02 Add inst_sch_select/ example directory (instance based implementation selection) 2023-04-25 09:15:17 +02:00
stefan schippers a111c116d9 set netlisting type to symbol when descending into a generator-created symbol 2023-04-25 00:27:58 +02:00
stefan schippers 68cf318134 load_sym_def(): removed embedded parameter, recognize generator names and pipe in data from generator instead of loading from file. No more set flags for generated symbols to EMBEDDED 2023-04-24 23:56:56 +02:00
stefan schippers cd6ef78841 schematic generator netlisting seems to work. renamed is_symgen() -> is_generator() 2023-04-24 13:26:04 +02:00
stefan schippers 94d1865127 fix save_inst resetting all symbols EMBEDDED flags, not only the used symbols in current schematic. Created get_generator_command(), will be used also for schematic generators 2023-04-24 11:36:07 +02:00
stefan schippers 7c04b009ec do not ask to save parent schematic containing generator-created symbols even if user tries to modify them, is_xschem_file() now returns SYMBOL|SCHEMATIC|GENERATOR|0 2023-04-24 09:24:17 +02:00
stefan schippers 70ef115a13 do not try to preview generator scripts 2023-04-23 10:29:01 +02:00
stefan schippers 3facbf6428 spice netlisting of schematics with parametrized symbol generators should work 2023-04-23 00:37:31 +02:00
stefan schippers bbb5363da9 removed debug msg 2023-04-22 11:54:16 +02:00
stefan schippers f1ed2bf26f fixed is_symgen() regex, added stup for tutorial_symbol_generators.html 2023-04-22 11:29:44 +02:00
stefan schippers d5aca937ce removed debug messages 2023-04-22 00:55:34 +02:00
stefan schippers 5daf41ca1b removed unused variable 2023-04-22 00:23:11 +02:00
stefan schippers a2de3cd787 unified copy_symbol() and copy_symbol1(), better new symbol allocation policy 2023-04-22 00:21:53 +02:00
stefan schippers f5ce5987c9 fixed memory leak in copy_symbol(), split copy_symbol() to copy_symbol1() in action.c 2023-04-21 23:29:26 +02:00
stefan schippers eb6705d0f4 fixed regression introduced by get_additional_symbols() (memory leak) 2023-04-21 15:31:27 +02:00
stefan schippers 0102438751 fix some unfreed data in recent commits 2023-04-21 13:55:21 +02:00
stefan schippers 9eb4e9440c handle symbol_ref(param1,param2,...) symbol generator scripts, added some utility functions str_chars_replace(), is_symgen(), fix some quoting/backslash subst issues in get_sym_template() 2023-04-21 11:41:20 +02:00
stefan schippers 631fedb11b enabled escape_chars convenience function, added "embedded" parameter to load_sym_def() to better distinguish loading an embedded symbol from loading a regular symbol with a provided file descriptor 2023-04-20 10:44:31 +02:00
stefan schippers 6c364a74cc revert str_replace @symname in print_spice_subckt_nodes() 2023-04-18 00:49:25 +02:00
stefan schippers a5492be752 print_spice_subckt_nodes(): use (improved to handle escape chars) str_replace() to substitute @symname, added xschem str_replace, improved xschem symbols 2023-04-18 00:20:40 +02:00
stefan schippers 88fdc83b34 get_sch_from_sym(): do not replace @symname if @ escaped 2023-04-17 17:44:51 +02:00
stefan schippers a5a8193231 scheduler(): add get_symbol(s), similar as get_instance(s) 2023-04-17 15:55:00 +02:00
stefan schippers ca0708a4c3 added "xschem setprop symbol" command, updated docs 2023-04-17 11:45:59 +02:00
stefan schippers 728cfb22fc print_spice_subckt_nodes(): remove closing bracket in case of tcleval(...) failure 2023-04-17 10:33:45 +02:00
stefan schippers ff9f92646c draw_graph_points() split big XDrawLines requests into smaller chunks to handle raw files with > 4M points 2023-04-14 15:41:00 +02:00
stefan schippers 340b89c58d add base_name field in xSymbol struct to keep track of the base symbol name the "virtual" symbol is inherited from (instance based implementation selection with schematic=... attribute) 2023-04-13 22:25:36 +02:00
stefan schippers fb2500c83f enable spice_sym_def, verilog_sym_def, vhdl_sym_def on instances in addition as globally on symbols, for instance based specific implementations. These attributes must be paired with an instance "schematic=..." attribute that sets the subcircuit name of the alternate implementation. docs updated. 2023-04-13 02:12:02 +02:00
stefan schippers c71c15e967 various enhancements around the new instance based schematic=... attribute, doc updates. 2023-04-13 00:49:38 +02:00
stefan schippers 590bf8b6ec add instance based "schematic=..." attribute. This allows multiple instances of the same symbol to have different implementations. 2023-04-12 18:28:19 +02:00
stefan schippers 5b3b3d0662 function copy_symbol() extracted from undo code for reuse 2023-04-12 12:09:45 +02:00
stefan schippers e6fc1d9fe4 Correct menu accelerator shown for "merge" function (b key) 2023-04-11 09:33:25 +02:00
Stefan Schippers 4482ac3705 do a "xschem redraw" instead of a "xschem save; xschem reload" when use spiceprefix is toggled in menu 2023-04-09 20:05:45 +02:00
Stefan Schippers ebfcde42de change preprocessor defined(HAS_CAIRO) to HAS_CAIRO==1 2023-04-09 15:36:06 +02:00
stefan schippers f3196bbd10 -b option: redirect stdout/stderr to /dev/null, better explain -b in help, update manpage, and docs 2023-04-09 02:12:54 +02:00
stefan schippers 192e873f0c fix lazy list building in "xschem ..." commands (put separator after last item), as some parsers choke on this. 2023-04-08 22:27:59 +02:00
stefan schippers 5e3445a80e implement xschem sch_pinlist command, improve xschem pinlist inst [attr], improve make_sym.awk (no trailing spaces in pin attributes) 2023-04-08 13:19:49 +02:00
stefan schippers c98f0afec5 avoid redundant newline trailer in tcp responses 2023-04-07 23:50:04 +02:00
stefan schippers 705f279a23 xschem tcp interface: accept whole multiline text input from clients, (no more limit to 1 line text input), hier_psprint(): do not descend to subcircuit schematic if file not existing 2023-04-07 23:38:33 +02:00
stefan schippers 34800870fe xschem tcp server: drop connection at end of response to make client reads easier (eof detection) 2023-04-07 11:46:27 +02:00
stefan schippers 07bdb94601 add xschem instance_list command, updated docs 2023-04-06 20:10:57 +02:00
stefan schippers 0bb50ce7ff xschem selected_set command: return instance names properly quoted 2023-04-06 10:55:01 +02:00
stefan schippers 7ac9443f4f further improve execute_fileevent to handle subprocesses that close stdout 2023-03-31 18:08:03 +02:00
stefan schippers e2490034ed better execute_fileevent implementation 2023-03-31 14:28:59 +02:00
stefan schippers e031780f14 fix regression in execute_fileevent (hadling subprocesses that close stdout/stderr, like rxvt) 2023-03-31 12:01:21 +02:00
stefan schippers d0d31a87c8 update src/add_custom_button.tcl to match code refactoring done in r2264 2023-03-29 23:41:28 +02:00
stefan schippers 63d4c55a09 fix missing error setting on sym_vs_sch_pins() in tedax_netlist. 2023-03-28 22:32:28 +02:00
stefan schippers 69277c1066 add use_tclreadline variable that can be set to 0 in xschemrc to avoid using the tclreadline package 2023-03-27 18:25:12 +02:00
stefan schippers eeb71c33bf forgot to update xschem load command description 2023-03-26 11:35:06 +02:00
stefan schippers 3fd24c69c4 improve xschem load command (no warning if opening an already open file, if doing that from script) 2023-03-26 11:33:05 +02:00
stefan schippers e4e2ba37cc xschem load from script: no alert box warning if new file given 2023-03-25 09:41:53 +01:00
stefan schippers 96aa251ca0 fix execute tcl procedure (correctly handle exit status of subprocesses that write to stderr but not as a failure) 2023-03-25 02:00:50 +01:00
stefan schippers fa33aca682 do tilde substitution (with home directory) in xschem tcl commands 2023-03-24 15:37:26 +01:00
stefan schippers f5224ede00 better cleanup execute(callback,...) array members 2023-03-24 13:37:10 +01:00
stefan schippers 6bcb74bdb0 add tcl procedures documentation in developer_info.html 2023-03-24 13:14:27 +01:00
stefan schippers e7b4dcfaae better tilde substitution in some tcl procedures 2023-03-24 00:49:44 +01:00
stefan schippers 2725e0c533 add exit code to xschem netlist command, add execute(error,last) and execute(exitcode,last) to inspect stderr and exit code of last simulation job 2023-03-23 18:34:14 +01:00
stefan schippers 757fd0a378 better range checking for commands "xschem get schname" and "xschem get sch_path" 2023-03-22 11:22:41 +01:00
stefan schippers a0fb4c5ee6 improve xschem check_symbols command 2023-03-19 12:54:46 +01:00
stefan schippers 601a128e37 doc updates (xschem command reference) 2023-03-18 23:38:47 +01:00
stefan schippers 2e61f26be8 fix issues when doing a compare schematics, local vs remote (http[s]) one 2023-03-17 10:03:20 +01:00
stefan schippers b6a8add190 Warn if no application is defined to open html command reference 2023-03-15 09:01:10 +01:00
stefan schippers 4569a0747a fix executing xschem load_new_window from launcher (UI semaphore save/restore) 2023-03-13 12:37:30 +01:00
stefan schippers c38779fb35 refactor descend_schematic() 2023-03-13 11:49:20 +01:00
stefan schippers 6d192023de fix web hierarchy navigation error when returning to web schematic after descending into a local symbol 2023-03-13 11:11:43 +01:00
stefan schippers 6e13f3cd77 handle netlisting remote (http[s]) hierarchic objects 2023-03-12 11:11:11 +01:00
stefan schippers b5852ffc70 print current_dirname in xschem globals command for debug 2023-03-11 11:29:35 +01:00
stefan schippers a75afa56d5 xschem setprop instance: fix flags setting if hide or highlight attributes are given/changed 2023-03-10 23:45:15 +01:00
stefan schippers a8e95e220b if a custom format netlist is given (for example lvs_netlist) and lvs_netlist attribute in instance or symbol is existing but empty device will not be netlisted 2023-03-10 18:36:55 +01:00
stefan schippers d2d9eaa4e8 instance attribute "hide=true" will make the instance display as a bounding box only 2023-03-10 04:42:21 +01:00
stefan schippers 3ec47760a7 xschem logic_get changed to xschem logic_get_net for consistency 2023-03-10 02:54:53 +01:00
stefan schippers af6c01ab44 add command xschem logic_set_net <net_name> <value> [ntimes] to set a specific net instead of selected nets 2023-03-10 02:42:04 +01:00
stefan schippers 847d1df1b3 xschem logic_get: return X instead of empty string if net has never been assigned 2023-03-10 02:14:55 +01:00
stefan schippers 7bc63e0dfd add xschem logic_get command to get logic state of nets 2023-03-10 02:04:08 +01:00
stefan schippers 25f34ee413 add xschemrc variable zoom_full_center, if set to 1 full zoom will center the schematic instead of anchoring to lower-left drawing area corner. 2023-03-09 22:48:25 +01:00
stefan schippers 9de818c8e9 improve Simulation->Monitor current simulation to also display sim stdout after simulation is completed 2023-03-05 01:01:43 +01:00
stefan schippers 947406481a add Simulation->Monitor current simulation to display stdout of running simulation (to get simulation status / ETA and the like... ) 2023-03-05 00:44:56 +01:00
stefan schippers e3d5dc9cd9 added execute(cmd,last), execute(data,last), execute(status,last) for post-mortem inspection of last simulation 2023-03-04 23:22:31 +01:00
Stefan Schippers a01dbcb457 doc updates (better formatting) 2023-03-04 19:09:29 +01:00
stefan schippers 896bb4e317 doc update 2023-03-04 11:09:54 +01:00
stefan schippers bf6b20a1ce In source Documentation (scheduler.c) of xschem commands, html docs updated 2023-03-03 18:29:17 +01:00
stefan schippers ebf4fa1f44 Initialize stack2[] to double 0.0 2023-03-01 18:34:07 +01:00
stefan schippers dbc123e8cc Make joanne fix for SPICE_DATA preprocessor macro comparison apply for unix as well 2023-02-27 22:32:28 +01:00
stefan schippers c908c77351 remove dbg message 2023-02-26 23:46:54 +01:00
stefan schippers 32288e056e fix xschem fullxzoom command (missing setup_graph command) 2023-02-26 23:33:07 +01:00
stefan schippers 3b41a486f6 avoid executing fullyzoom xschem command if no data loaded 2023-02-26 13:56:52 +01:00
stefan schippers 0a015f25db add create_graph.tcl example procedure 2023-02-26 13:39:57 +01:00
stefan schippers 94fee133ca add commands xschem setprop rect 2 <n> fullxzoom and fullyzoom 2023-02-26 13:07:14 +01:00
stefan schippers b162ecdf48 remove unused parameter in setup_graph_data() 2023-02-26 11:22:19 +01:00
stefan schippers f75ed4827b fix xschem load command (dont get fooled by .sym extension, could not be a symbol). Always load as a schematic (sym and sch are the same thing 2023-02-22 23:27:50 +01:00
stefan schippers a3263aca0b refactor some variable names in waves_callback() 2023-02-21 16:47:40 +01:00
stefan schippers a8aaf996e7 use pre-increment where expression is not used 2023-02-18 09:44:11 +01:00
stefan schippers c5261a2ff6 formatting code 2023-02-13 12:18:47 +01:00
stefan schippers 9e7f67aca6 more robust my_atof and my_atod 2023-02-13 10:38:31 +01:00
stefan schippers 67c5cced1e code formatting 2023-02-12 13:41:26 +01:00
stefan schippers 1aaa48a75b 3x faster table_read() on big data 2023-02-12 13:36:03 +01:00
stefan schippers 6c22c47975 added fast newline count routine count_lines_bytes() 2023-02-12 00:53:48 +01:00
stefan schippers f5676f0d16 table_read() optimized for speed 2023-02-11 12:44:38 +01:00
stefan schippers f0a359e65a better xschem table_read command implementation 2023-02-10 18:08:45 +01:00
stefan schippers c51f007da3 table_read(): skip initial empty lines, allow 2 or more blank lines for new dataset 2023-02-10 03:36:29 +01:00
stefan schippers 33c2c2d1b2 Some cleanups in raw_read() and table_read() 2023-02-09 21:17:31 +01:00
stefan schippers 42c3024eda remove debug allocation IDs 2023-02-09 21:06:27 +01:00
stefan schippers 3be9a66aed fix memory leak in table_read() 2023-02-09 21:04:22 +01:00
stefan schippers c882a34825 add table_read() function to read simulation data in ascii tabular form 2023-02-09 20:53:16 +01:00
stefan schippers e5227d6a31 rename top_subckt to lvs_netlist (more appropriate), better tcp interface (redirect stdout to socket in addition to command return value) 2023-02-09 11:30:27 +01:00
stefan schippers 44ee2b593f added "s" bindkey in graphs to swap "a" and "b" cursors 2023-02-08 04:13:50 +01:00
stefan schippers 09868a0782 put a typedef in xschem.h to avoid duplicate declarations. add env tcl to global list in proc simulate 2023-02-06 14:36:24 +01:00
stefan schippers 6e524624e7 fix wrong closest wave finding ("t" keybind in graphs) 2023-02-03 03:35:55 +01:00
stefan schippers b2f1a22936 added command xschem hilight_instname 2023-02-01 17:47:45 +01:00
stefan schippers 29ef08e84b better memory tracking reporting (my_strcat and my_strncat allocations) 2023-02-01 11:38:28 +01:00
stefan schippers baca559ffc refactor some code (use set_text_flags() to avoid repetitive code), add xschem setprop text and xschem getprop text commands to set/get text attributes 2023-02-01 00:23:33 +01:00
stefan schippers 7ebb79c2ea get rid of stdint.h in postscript jpeg export code 2023-01-25 02:25:24 +01:00
stefan schippers 23378b8708 replace u_int32_t with unsigned int in save.c 2023-01-24 01:46:26 +01:00
stefan schippers 48549f1212 update test schematics 2023-01-23 18:23:18 +01:00
stefan schippers 1da5e47d4a remove my*() allocation routines unique IDs and replace with _ALLOC_ID_ macro, to be substituted in debug sessions with create_alloc_ids.awk 2023-01-23 15:42:15 +01:00
stefan schippers 5c59b69865 add _ALLOC_ID_ macro 2023-01-23 15:07:15 +01:00
stefan schippers 41b7bfb580 remove dbg messge in track_memory.awk 2023-01-23 13:27:10 +01:00
stefan schippers 3043989196 fix debug test 2023-01-23 12:17:47 +01:00
stefan schippers fd8f1e6b97 fix a regression in track_memory.awk (did not show leaking source code line) 2023-01-23 12:16:29 +01:00
stefan schippers cffe91146e free paddedData pointer in ascii85_encode() 2023-01-23 11:55:52 +01:00
stefan schippers 9b6b7bc19a Fix some compiler warnings and add a little optimization in ascii85 encoder 2023-01-23 11:49:08 +01:00
rafmag 9e027fc46c Missing #endif after merge 2023-01-22 19:51:38 -07:00
rafmag 898f229c61 Merge branch 'master' of https://github.com/rafmag/xschem 2023-01-22 19:44:58 -07:00
rafmag 9c83801d8f Added Ascii85Encoding for better formated & smaller PS files. 2023-01-22 19:35:10 -07:00
stefan schippers d7ddb17a50 revert and fix regression (graphical artifacts due to wrong change_linewidth() 2023-01-22 00:21:46 +01:00
stefan schippers d3c6bf3c6e add postscript quality attrs to some example schematics 2023-01-21 23:47:43 +01:00
stefan schippers 6af6079084 set line buffering when stderr redirected to file 2023-01-20 18:25:43 +01:00
stefan schippers c8a60b4ee4 better image bbox calculation for svg and ps 2023-01-20 13:25:23 +01:00
stefan schippers 90bc0fa572 "preserve unchanged props" will be automatically checked when editing attributes on multiple object selection and unchecked on single object selection as this is the 99.9% use case 2023-01-20 00:35:24 +01:00
stefan schippers 6f6bd65035 fflush() all stdio buffers before calling fork(). End child processes with _exit() instead of exit() to avoid double fflushing in parent i/o streams 2023-01-19 02:46:45 +01:00
stefan schippers 49135f3f2e added jpeg_quality attribute that can be used in images / graphs to specify the quality factor of jpg embedded images in ps export. If unspecified quality=100 is used. A value of 25 results in 6x smaller files and acceptable results, so it is worth using a quality factor less than 100 2023-01-18 04:09:30 +01:00
stefan schippers 69aef1ffce added libjpeg detection code, so postscript image embedding will be disabled if libjpeg not present 2023-01-18 03:33:28 +01:00
stefan schippers e06bfe5191 remove some debug changes 2023-01-18 01:17:46 +01:00
stefan schippers 03b2b8652e fixed filter_data routine that was clobbering ps export file, now ps output is correct without the need to add fflush() functions, that are thus removed in psprint.c 2023-01-18 00:24:28 +01:00
stefan schippers af0ddb76f0 cleanups, remove redundant png_reader() definition 2023-01-17 01:23:34 +01:00
stefan schippers b6200abb5a removed untracked files 2023-01-16 21:12:46 +01:00
rafmag 023089c0e4 Fixes after merge 2023-01-16 11:54:39 -07:00
rafmag 9194440e3b Merge branch 'master' of https://github.com/rafmag/xschem 2023-01-16 11:54:12 -07:00
rafmag 9105bef5f5 Fixed issues with rotating and fliping images + other bugs 2023-01-16 11:33:59 -07:00
stefan schippers fba0db0c2d fix corrupted postscript generation on test_images3.sch. Need to investigate why fflush()es are needed. in psprint.c 2023-01-16 18:06:50 +01:00
stefan schippers 4c59008bc5 ps/pdf ecxport: dont print rectangle frames around images 2023-01-16 16:46:57 +01:00
stefan schippers 9a59679dcf use cairo_image_surface_write_to_jpeg_mem() instead of cairo_image_surface_write_to_jpeg(), avoid temp files 2023-01-16 16:31:18 +01:00
stefan schippers 2ea5c7af04 use my_free/my_malloc for memory leak checks 2023-01-16 15:26:07 +01:00
stefan schippers 5cae589e33 psprint.c: fix some compiler warnings 2023-01-16 13:51:35 +01:00
rafmag 5faefbdf8d sync changes 2023-01-16 05:47:18 -07:00
Rafmag Cabrera 588fcb22ad
Merge branch 'StefanSchippers:master' into master 2023-01-16 12:37:35 +00:00
stefan schippers 249fdd69a2 temporary fix for building xschem. Some warnings due to rev >c89 to be fixed, and proper detection of libjpeg must be added 2023-01-16 12:21:35 +01:00
stefan schippers 0627791cc1 removed unecessary files 2023-01-16 10:40:12 +01:00
Rafmag Cabrera 0570c5d21b Delete Makefile 2023-01-16 10:35:29 +01:00
rafmag 7aa2379a4a Moved temp.jpg to tmp folder 2023-01-16 10:35:29 +01:00
rafmag 06840efac0 Added png and embedded graphs to ps and pdf export 2023-01-16 10:35:29 +01:00
Rafmag Cabrera 7e3133804b
Delete Makefile 2023-01-15 22:28:34 -07:00
rafmag 7b80287b75 Moved temp.jpg to tmp folder 2023-01-15 22:00:45 -07:00
rafmag e29bfe2c98 Added png and embedded graphs to ps and pdf export 2023-01-15 21:34:43 -07:00
stefan schippers 2fa0155ca6 fix inutile template procedure call 2023-01-12 16:33:59 +01:00
stefan schippers 115f0fdf0c improve cairo draw options 2023-01-11 12:02:21 +01:00
stefan schippers 4c0d5023f5 allow 0 width lines (faster device dependent implementation) if user defined line width is set (to 0), add devices/title-3.sym 2023-01-07 11:28:28 +01:00
stefan schippers 709c37429d Add description for keybinding (Shift-B) of "Properties->Edit header/license text" 2023-01-03 18:27:11 +01:00
Stefan Schippers 479b8ef6e9 add accelerator Shift-B for edit schematic header/license 2023-01-02 19:34:27 +01:00
stefan schippers 329d472d56 add installation of icon.xpm into .../share/xschem installation directory 2023-01-02 12:43:23 +01:00
stefan schippers 19757ddd8a add menu properties -> Edit header/License text, to allow inserting header or license metadata into the sch/sym file. 2023-01-02 03:04:35 +01:00
stefan schippers cee4d218e2 use "configure -cursor {}" instead of "configure -cursor arrow" to switch back mouse cursor to default when exiting graph 2022-12-31 10:22:41 +01:00
stefan schippers aa70d90c46 fix cairo font reference counting 2022-12-25 23:13:59 +01:00
stefan schippers 75fbb76543 optimization: split cairo font creation into create + set 2022-12-25 10:42:07 +01:00
stefan schippers 1f76b297db allow schematic="tcleval([tcl_proc @symname])" for runtime schematic selection when descending into a symbol. tcl_proc might return a schematic candidate associated to @symname depending on some user setting 2022-12-20 02:21:48 +01:00
stefan schippers 9fa05afad9 fix a bug when loading multiple AC sim datasets (wrong nvars calculation, has to be doubled due to Im/Re complex components) 2022-12-20 01:01:58 +01:00
stefan schippers 2cb58c5c5c added generators/ dir, removed redundant variable in load_schematic() 2022-12-19 23:05:09 +01:00
stefan schippers 1a76f89464 added xschem_library/generators directory for future schematic/symbol generator scripts. Handle empty XSCHEM_LIBRARY_PATH (use [pwd]). 2022-12-18 13:03:38 +01:00
stefan schippers e01f545567 --diff option to visually compare two different (versions of) schematics 2022-12-13 13:51:33 +01:00
stefan schippers 5a8e0c9ba2 for hierarchy cellname listing use nolist_libs for exclucing patterns, instead of xschem_libs, which is used for netlisting 2022-12-10 01:15:18 +01:00
stefan schippers 3d5bb6d64a add command "Simulation->Changelog from current hierarchy" that lists schematics from current hierarchy , sorted by modification time 2022-12-10 00:28:59 +01:00
stefan schippers 919cf3b870 more flexible "execute" procedure to handle bidirectional communication with subprocesses 2022-12-09 00:02:34 +01:00
stefan schippers 7629e8e406 fixed xcb detection (but disabled for now) 2022-12-08 14:19:02 +01:00
stefan schippers 888ff17305 for now #undef HAS_XCB until I figure out to make configure detect and work 2022-12-08 13:46:45 +01:00
stefan schippers e54c604087 better recognize unknown commands in scheduler.c, re-enabed XCB detection in scconfig (although not used). 2022-12-07 11:32:40 +01:00
stefan schippers b23988ccdf added commented lines for antialiasing; JL:cairo_set_line_width should only be called with has_x as xctx->cairo_ctx and xctx->cairo_save_ctx is NULL when run with -x; JL:XCopyArea must be called to draw correctly with Cairo on Windows 2022-12-02 16:43:01 +01:00
stefan schippers f18ed49f6f adjust dash line threshold for graphs 2022-12-02 00:13:54 +01:00
stefan schippers babc6d7e82 huge graphic speed improvement for dashed lines (graph grid) on some GPUs 2022-12-01 16:30:02 +01:00
stefan schippers fabace7505 cosmetic code formatting 2022-12-01 14:57:48 +01:00
stefan schippers 7ae10bd7da add macro DRAW_ALL_CAIRO: if set to 1 graphics primitives will use cairo instead of Xlib. Currently work in progress, as of now only the grid and the final XCopyArea done in draw() will use Cairo if macro is set 2022-11-30 00:59:45 +01:00
schippes 9244b33495 When setting Simulation->LVS netlist, use "lvs_format" attribute for netlisting if this attribute is existing, otherwise keep using "format" 2022-11-24 19:32:16 +01:00
stefan schippers 609033e7ca fix regression (not allowing to change text size) 2022-11-23 16:57:21 +01:00
Stefan Schippers e7851d01db "xschem set format <fmt_attribute>" will change netlisting format attribute instead of default "format" (or verilog_format or vhdl_format), however fallback to default netlisting rule attribute if not defined in symbol. add tcl function "from_eng <n>" to convert spice formatted numbers to floating point 2022-11-23 16:16:38 +01:00
Stefan Schippers 1a01114af4 use verilogprefix also when expanding symbol schematics in verilog 2022-11-22 17:13:45 +01:00
schippes 0d2738254a added verilogprefix symbol attribute: will be prefixed to symbol name references in verilog netlists 2022-11-22 16:30:59 +01:00
stefan schippers 9c31682517 test and get reading schematics from the web on Windows working 2022-11-18 16:06:06 +01:00
Stefan Frederik 4d3ede661a cleanup $XSCHEM_TMP_DIR/xschem_web cache on startup 2022-11-15 17:56:56 +01:00
Stefan Frederik e27eea8233 added comments and a fix in descend_symbol() 2022-11-15 15:08:11 +01:00
Stefan Frederik a7066600b4 use tmp subdirectory: better string matching 2022-11-15 13:21:16 +01:00
Stefan Frederik 8f6aaa0ec2 use tmp subdirectory to group web schematics 2022-11-15 12:59:52 +01:00
Stefan Frederik c9380bd8f0 use local name (/tmp/xxx.sch) when displaying schematic name in title, indtead of full url (too long) 2022-11-15 10:25:19 +01:00
Stefan Frederik ea50037b10 update xschem comments (url download) 2022-11-15 02:35:25 +01:00
Stefan Frederik b2f159706c if loading a new schematic (currsch==0) reset current_dirname 2022-11-15 02:10:18 +01:00
Stefan Frederik 6cd9d76f90 initial implementation of fetch schematics from web 2022-11-15 01:17:33 +01:00
Stefan Frederik 349bebda20 more on recognizing web urls 2022-11-13 10:59:36 +01:00
Stefan Frederik 94247770ce when placing symbols user can also type file name (with full path also) inside File/search box instead of clicking in the list box. web URLs will be returned as they are with no further interpretation 2022-11-12 12:16:21 +01:00
Stefan Frederik ca8ffafe8a code refactoring (update_conn_cues()) 2022-11-07 14:23:57 +01:00
Stefan Frederik 8f055ebb5f only_probes: dim toward light grey if light colorscheme is in use 2022-11-07 14:03:27 +01:00
Stefan Frederik faaa79d35a dim schematic to grey if showing only probes, instead of hiding it completely 2022-11-07 13:34:48 +01:00
Stefan Frederik 3d49ca63c9 avoid tcleval() of strings returned by translate2(), show currents of resistors and diodes when annotating. 2022-11-04 13:35:06 +01:00
Stefan Frederik 0b863993b1 correctly translate ngspice diode current ->xyce diode current in ngspice::get_current 2022-11-02 11:59:48 +01:00
Stefan Frederik 98d59cd8e9 better handle xyce nodes in ngspice:: functions 2022-11-02 11:17:22 +01:00
Stefan Frederik 4bb321af68 add @path attribute for spice/verilog/vhdl/tedax backends 2022-11-02 00:47:59 +01:00
Stefan Frederik fe0dc46c81 remove debug msgs 2022-11-01 12:57:29 +01:00
Stefan Frederik b0a88325e7 "@path" will be expanded in symbols with the hierarchy path, so a fully qualified instance name is obtained with @path@name 2022-11-01 12:54:43 +01:00
Stefan Frederik dc6e9e2d9c (JL) update abs_sym_path such that using network drive (ie. //192.168.1.102/test) will return as is, (JL) add example for network drive to add to XSCHEM_LIBRARY_PATH 2022-10-31 23:48:34 +01:00
Stefan Frederik 153929806b fill attribute on rectangles to override layer fill style: fill=false will not fill 2022-10-29 23:49:00 +02:00
Stefan Frederik 04c05a5703 proc set_paths will set initial dirs (set_initial_dirs) so no need to press Home button after reconfiguring XSCHEM_LIBRARY_PATH and running set_paths 2022-10-29 21:17:13 +02:00
Stefan Frederik ed0924e6ca drill_hilight(): propagate only selected bits of bus nets 2022-10-29 11:06:46 +02:00
Stefan Frederik 9c5fc0b266 add option add_all_windows_drives 2022-10-28 08:54:52 +02:00
Stefan Frederik 5fb452f37f Further hardening of source_user_tcl_files against files containing strange characters including ". 2022-10-27 19:32:46 +02:00
Stefan Frederik 6e43afaa46 drill_hilight() refactoring 2022-10-27 12:43:18 +02:00
Stefan Schippers aa213cc103 formatting changes in drill_hilight() 2022-10-26 19:00:05 +02:00
Stefan Frederik 066a65bfef removed some static hashtable declarations in netlisting code 2022-10-25 23:37:28 +02:00
Stefan Frederik 2c9151ea92 set up a tcl event handler if xschem is run without other event loops (no tk event loop, -x option, no tclreadline event loop, -r option) so xschem will respond to tcp connections 2022-10-25 01:00:51 +02:00
Stefan Frederik a236918f5c do not trigger modify status if enter_text dialog box closed with no changes 2022-10-24 16:07:13 +02:00
Stefan Frederik d1aa8a9e42 global properties dialog box: close if clicking outside or pressing Shift-Return 2022-10-24 14:11:34 +02:00
Stefan Frederik a8689becd6 shift-enter/clicking outside ends text insert widget. Entry widget for text properties string replaced with multiline text widget 2022-10-24 13:05:32 +02:00
Stefan Frederik d20ef12b15 put cairo variable declaration inside #if HAS_CAIRO to avoid compiler warnings. 2022-10-23 00:26:43 +02:00
Stefan Frederik cb652adb5f skip NULL or empty texts in draw_symbol, translate2() skip @@... and @#... tokens (return empty) 2022-10-21 17:48:54 +02:00
Stefan Frederik 4e05fe1bab comment some unneeded dbg messages, update install html page 2022-10-21 12:54:02 +02:00
Stefan Frederik a6dc3d47c3 cache embed attribute of instances for faster lookup 2022-10-21 11:04:20 +02:00
Stefan Frederik e34211368f translate2() fix recursive param substitution 2022-10-20 23:31:02 +02:00
Stefan Frederik bc33261f90 better parsing xxx='<expr>' or xxx={expr} patterns in flatten.awk. Doc upcates, test circuit updates. 2022-10-20 20:25:49 +02:00
Stefan Frederik 506cf627cd use rel_sym_path + find_file to place components (pins, labels) in the schematic 2022-10-20 14:23:18 +02:00
Stefan Frederik 0f25befe31 recursive attribute substitution. use also template attribute of parents if not found in instance prop_ptr 2022-10-20 10:30:48 +02:00
Stefan Frederik 59fb225a36 fix potential string overflow. Thanks JL 2022-10-18 08:38:09 +02:00
Stefan Frederik e8e9afb488 match_file. better file list concatenating 2022-10-18 00:48:29 +02:00
Stefan Frederik edd1e3a370 improved find_file proc, added match_file 2022-10-18 00:02:10 +02:00
Stefan Frederik 33d9afd3a1 avoid hardcoded (relative) paths for label/pins searching, use more general find_file method 2022-10-17 17:20:40 +02:00
Stefan Frederik dad83010f0 perf. improvements in plot_raw_custom_data() / ravg_store() 2022-10-17 15:17:47 +02:00
Stefan Frederik b0359d880a use sim_pinnumber for port ordering in simulation netlists and leave pinnumber for package pin position. These two collide, for example in spice port ordering vs (transistor problem) device package pinnumbers. Dont load graphs in lcc symbols 2022-10-17 12:05:54 +02:00
Stefan Frederik cecd205ff7 Faster implementation of previous change 2022-10-17 00:30:20 +02:00
Stefan Frederik 63a27e410e Engineering notation in wave measurement tooltip 2022-10-17 00:26:28 +02:00
Stefan Frederik f6207070d0 translate() --> @spice_get_current(): find last hier.separator occurrentce with strrchr() 2022-10-16 23:57:07 +02:00
Stefan Frederik 78ca99e4bf save symbol with ordered pins if pinnumber is present in all pins 2022-10-16 22:26:35 +02:00
Stefan Frederik 407bac461d sort symbol pins: remove useless debug messages 2022-10-16 16:23:00 +02:00
Stefan Frederik fc576f69ac sort symbol pins if key pinnumber is present on all of them 2022-10-16 16:18:38 +02:00
Stefan Frederik e8b2385f24 update xschemtest hashes, uniquify allocation IDs 2022-10-16 14:21:22 +02:00
Stefan Frederik 91ba5fd1d3 annotation of voltage and currents in (nested) LCC instances 2022-10-16 13:08:52 +02:00
Stefan Frederik 0e6c35f598 translate2(): return @spice_get_voltage* strings unchanged; get rid of "@#..." tokens in translate2 (return empty) 2022-10-15 22:50:18 +02:00
Stefan Frederik 93fe5bf414 fix handling empty return value of translate2() in load_sym_def() 2022-10-15 11:16:36 +02:00
Stefan Frederik 3adb192936 @spice_get_voltage(net) error checking 2022-10-15 10:52:07 +02:00
Stefan Frederik 56b63df2fc added @spice_get_voltage(net) recognize in translate() for voltage value update inside LCC schematics 2022-10-15 10:08:58 +02:00
Stefan Frederik adf477fbcc optimization in translate(): @spice_get_voltage will use the "lab" attribute (if existing) to build up the net name to look up in raw file, before reverting to a call to net_name() to get the net from the attached net 2022-10-15 08:55:32 +02:00
Stefan Frederik 1482279224 better tcl evaluate command dialog 2022-10-14 18:43:10 +02:00
Stefan Frederik 41c62134a2 change_layer() now works also for text objects 2022-10-14 00:08:46 +02:00
Stefan Frederik 3c4d9e99fb allow changing start color in rainbow multi-dataset graphs 2022-10-13 19:33:30 +02:00
Stefan Frederik 4833f126f7 fix axis start label positioning (axis_start() and axis_within_range()) 2022-10-13 17:36:42 +02:00
Stefan Frederik 7c60f37f54 better atof_spice() suffix checking, set xctx->current_dirname to $PWD when creating an empty new tab (untitled schematic) 2022-10-13 16:45:27 +02:00
Stefan Frederik f7738329a5 my_fgets() 2022-10-13 13:43:01 +02:00
Stefan Frederik 86e8ee2aae added rainbow checkbutton for multicolor waves in case of multiple datasets 2022-10-13 01:00:55 +02:00
Stefan Frederik 7a7b49f383 removed debug message in verilog_netlist.c 2022-10-12 18:21:28 +02:00
Stefan Frederik c065996057 fix some unfreed pointers -b vhdl_netlist.c 2022-10-12 17:04:29 +02:00
Stefan Frederik 3729a4b3d1 inst_hilight_hash_lookup(): fix wrong format string in debug message 2022-10-12 16:50:09 +02:00
Stefan Frederik e14c8b9a11 wire labels: default name set to p1 instead of l1, so it will not clash with typical inductor names 2022-10-12 16:36:56 +02:00
Stefan Frederik a820cc2e3f removed (now) duplicated inst_hash_lookup: use int_hash_lookup. Search function does not highlight nets if searching for something that is not "lab" 2022-10-12 13:14:48 +02:00
Stefan Frederik 7a1fbb4809 better check_unique_names() and hash_all_names() implementation (do not skip label instances or instances with no format attr). Button click focuses main drawing window even if autofocus_mainwindow is set to 0, to avoid losing keyboard focus forever if TAB is pressed. 2022-10-12 11:56:02 +02:00
Stefan Frederik 7d016eab28 small netlist syntax fix in token.c (correctly skip VHDL time attributes), tedax backend: avoid printing mapping comments for duplicated pins 2022-10-12 09:32:37 +02:00
Stefan Frederik 4664202d9d hilight.c: remove a couple of redundant lines 2022-10-12 01:26:33 +02:00
Stefan Frederik 662c14143d update xschemtest, more robust spice flatten.awk netlist flattener, specifically when translating expressions containing electrical nodes and parameters, all these need to be translated/substituted. 2022-10-12 01:16:23 +02:00
Stefan Frederik 3f627123b2 persists highlights on instances: remove highlighted instance from hash if user selects and presses ctrl-k as it is done for nets. Avoid instance highlight to also highlight net with identical name (example instance x1 and net x1). Verilog and Vhdl netlists handle duplicated (pass-through) pins 2022-10-11 13:12:17 +02:00
Stefan Frederik 137ca971d3 add cmdline option --preinit <commands> to execute given commands before executing xschemrc file. This can be used to switch library search paths depending on a variable setting. 2022-10-11 00:26:06 +02:00
Stefan Frederik b93c9af97c flatten.awk: allow to specify additional custom devices node number with metacomments inserted in the netlist, like *.nodes[W] = 2, or *. nodes["W"]=2 2022-10-10 17:45:56 +02:00
Stefan Frederik 118e937e7f flatten.awk: derive element pattern list ^[EGHFCMDQRGIV] from nodes[] array, to facilitate addition of new devices. 2022-10-10 15:36:50 +02:00
Stefan Frederik 68bf5e4640 netlister code rewrite to allow any combination of pass-through symbols 2022-10-10 14:54:32 +02:00
Stefan Frederik 150c2663b9 added netlist_options as list of symbols not to load in schematics-as-symbol instances, load_file_dialog: make remember last dir work again 2022-10-09 23:49:28 +02:00
Stefan Frederik c5e7e3be29 cleaner get_unnamed_node() function 2022-10-08 22:16:27 +02:00
Stefan Frederik 03d2e685fe code cleanup 2022-10-08 10:07:59 +02:00
Stefan Frederik 4e6513e713 typo fix 2022-10-08 09:52:54 +02:00
Stefan Frederik 5c2b14ebb8 add generic pointer hash table 2022-10-08 09:46:30 +02:00
Stefan Frederik 6be0fc392b refactoring of netlister code 2022-10-07 23:29:42 +02:00
Stefan Frederik 945a26c8f6 handle pass-through symbols chained with wires and no labels attached to wires 2022-10-06 11:48:22 +02:00
Stefan Frederik c5e91f209e allow to use @pinlist in format string even for symbols with duplicated ports. Duplicated entries will be skipped. Add component_browser_on_top tcl variable in xschemrc (default setting: enabled (1) to enable or disable component browser window always on top 2022-10-05 16:47:34 +02:00
Stefan Frederik 0c590e4f0a allow negative integers in expandlabel() ( xx[6:5:-2:3] ) 2022-10-05 15:34:38 +02:00
Stefan Frederik 47fb2085ff update send_net_to graph() and send_current_to_graph() to use sch_waves_loaded() as the hierarchy level where raw file was loaded, to skip upper path designators 2022-10-05 12:06:37 +02:00
Stefan Frederik 9dbe4343e2 added label notation EN[0:3:6:5]: EN[start🔚offset:repetitions], it will expand to a 20 bit bus: a[0],a[1],a[2],a[3],a[6],a[7],a[8],a[9],a[12],a[13],a[14],a[15],a[18],a[19],a[20],a[21],a[24],a[25],a[26],a[27] 2022-10-05 02:23:37 +02:00
Stefan Frederik 5fe2f1586b refactor str_hash_* and int_hash_* functions 2022-10-05 01:18:45 +02:00
Stefan Frederik 1c407e5dd6 faster implementation of name_pass_through_nets() so almost zero overhead when netlisting big circuits with no pass-thru symbols 2022-10-04 15:39:45 +02:00
Stefan Frederik 9c29324c8a allow nets with no label pass thru symbols with duplicated pins. named nets will propagate through duplicated pins 2022-10-04 12:34:09 +02:00
Stefan Frederik 06fc742e60 doc updates about {verilog,vhdl,spice}_sym_def, fix regression (possible crash) in verilog_block_netlist (thanks to Joanne), fix regression (wrong verilog test netlist) in print_verilog_primitive() (thanks to Joanne) 2022-10-04 00:37:09 +02:00
Stefan Frederik 29d6655a01 use limiting mylog()/mylog10() functions in expression calculator 2022-10-03 18:29:36 +02:00
Stefan Frederik 4bbed85d23 faster jump table in plot_raw_custom_data(), added simulation->add waveform reload launcher 2022-10-03 11:15:14 +02:00
Stefan Frederik 64d947a9dd fix extra and verilog_extra handling in instance lines (verilog netlists) 2022-10-03 09:10:58 +02:00
Stefan Frederik d174306880 added verilog_extra attribute for list of implicit node connections to symbol in verilog netlists. extra attribute still used in verilog as a list of attributes NOT use as component attributes / symbol parameters. 2022-10-03 01:20:33 +02:00
Stefan Frederik 28c644fba7 doc updates (new graph functions) 2022-10-02 20:52:17 +02:00
Stefan Frederik 9acbf3fb41 added prev(), del() function in graph processing. Extend calculation 1 or 2 point beyond viewport for exact deriv/integ/prev/del calculation at left edge 2022-10-02 11:05:29 +02:00
Stefan Frederik 5a39f7be40 cleanups in plot_raw_custom_data() 2022-10-01 10:38:27 +02:00
Stefan Frederik db94f9fb25 @pinlist will be comma separated in verilog netlists 2022-10-01 09:46:58 +02:00
Stefan Frederik d06310deae cleanups and faster branch tables in scheduler.c 2022-09-30 18:12:17 +02:00
Stefan Frederik 08aff09cf9 scheduler.c cleanup 2022-09-30 13:08:53 +02:00
Stefan Frederik fc16997d0c switch dispatcher instead of if-else in scheduler.c 2022-09-30 00:19:27 +02:00
Stefan Frederik f26d082389 cleanups(2) in scheduler.c 2022-09-29 22:52:15 +02:00
Stefan Frederik b20ca9b501 cleanups in scheduler.c 2022-09-29 22:35:44 +02:00
Stefan Frederik f45278ebe3 cleanups in scheduler.c 2022-09-29 19:16:03 +02:00
Stefan Frederik 6296bbc1c6 compile option for 2nd order 3-point backward derivative calculation formulaes for graph expressions 2022-09-29 18:22:55 +02:00
Stefan Frederik 6b4ce14e7d some refactoring of tcl globals, engineering format in cursor display (on unscaled axes) 2022-09-29 14:22:33 +02:00
Stefan Frederik b7c7c336dd added vhdl_sym_def, spice_sym_def, verilog_sym_def attributes for symbols. If defined and not empty the corresponding netlister will insert the content of the attribute instead of the subcircuit schematic implementation. Typically used to include a definition file. Updated documentation 2022-09-29 11:59:43 +02:00
Stefan Frederik ae4b74f2d8 graph axes in engineering notation (20u, 10p, 3k), fix an issue in graph panning with button1 mouse; ngspice:: get_current, get_voltage, get_diff_voltage, get_node embedded into xschem.tcl, to_eng tcl procedure to convert number to engineering form. 2022-09-28 19:14:31 +02:00
Stefan Frederik 9d9a4826fc (Joanne) update to be clearer on how to compile xschem (from scratch vs using XSchemWin.sln) on Windows using VS2022. font.sch micro edits 2022-09-28 11:33:48 +02:00
Stefan Frederik 6d17797d0b add Highlight->Select overlapped instances command 2022-09-27 18:35:42 +02:00
Stefan Frederik 472751dfc0 better file globbing in load_file_dialog 2022-09-27 13:15:04 +02:00
Stefan Frederik d4b6986e24 added File -> Component browser, clicking recent component buttons displays preview 2022-09-27 12:28:54 +02:00
Stefan Frederik 25f0334110 resize some widgets, add femto and tera for x/y axis units 2022-09-27 10:09:51 +02:00
Stefan Frederik 3e6815ccc5 recent components are in paned window (can be resized) 2022-09-27 09:27:39 +02:00
Stefan Frederik 0bb4c9f2e0 New option for non blocking file selector, so it will remain open allowing to pick multiple components (Shft-Insert). Aborted place symbol operation will no more set schematic status to modified 2022-09-26 18:38:19 +02:00
Stefan Frederik 3f11b5fdf6 fix wrong positioning of hash_string 2022-09-25 21:26:22 +02:00
Stefan Frederik fd72e72dba test and got svg_embedded_graph(...) to work on Windows with Cairo (Joanne). added some #ifndef __unix__ guards to avoid compiler warnings about defined and not used functions, initial implementation of "Recent components" browser. 2022-09-25 21:11:52 +02:00
Stefan Frederik 314acbabda allow tabs and newlines in graph expressions in addition to spaces; updated example schematics 2022-09-23 02:18:51 +02:00
Stefan Frederik 48d1b44220 allow spice multipliers in numbers (20u, 10k, 20p) in graph expressions 2022-09-22 21:12:40 +02:00
Stefan Frederik 3e2bc9f95e added "Annotate operating point" into Simulation menu 2022-09-22 19:47:25 +02:00
Stefan Frederik 9dc1fde024 remove dbg messages 2022-09-22 17:40:36 +02:00
Stefan Frederik e61ef2eabf fixed a potential parse error in edit_prop if list_tokens returns a non list due to malformed input. Added @spice_get_diff_voltage to get a voltage difference between 2 nodes. 2022-09-22 17:35:14 +02:00
Stefan Frederik 03842a3e4a new added graphs will have dataset attr set to -1 to include by default all datasets 2022-09-22 14:55:51 +02:00
Stefan Frederik 2487ee98e2 do not set time_last_modify (set to 0, undefined) when loading a schematic that does not exist (untitled) 2022-09-22 14:46:52 +02:00
Stefan Frederik d473e8b1ab updated docs with additional video on graphs and Xyce sim 2022-09-22 13:45:55 +02:00
Stefan Frederik 6f907b5430 updated test schematics to use new xschem annotate_op instead of ngspice::annotate 2022-09-21 18:38:53 +02:00
Stefan Frederik 9c89a08111 better backannotation info placement in net labels, fixes in translate() for @spice_get_voltage and @spice_get_current, fixes in ngspice_backannotate routines. 2022-09-21 17:24:16 +02:00
Stefan Frederik 931c1520e3 make op backannotation in schematic work also if raw file loaded at hierarchy level > 0 2022-09-21 13:58:01 +02:00
Stefan Frederik e67ff344c8 cleanup/rename some xctx variables and graph-related functions, avoid drawing graphs using data file loaded from from schematics that are unmatched with current schematic or up in the hierarchy levels 2022-09-21 11:25:45 +02:00
Stefan Frederik c5c4d48729 fix expandlabel.y, avoid producing a[7],a[5],a[3],a[1],a[-1] when expanding a[7:0:2] 2022-09-20 23:58:29 +02:00
Stefan Frederik ea702976ee cleanup/free data in read_dataset() on malformed input file 2022-09-20 23:16:59 +02:00
Stefan Frederik 933faceabf some cleanups in scheduler.c "xschem annotate_op" command. 2022-09-20 23:07:50 +02:00
Stefan Frederik c695c435d2 move initialization of s=0 outside the loop in backannotate_at_cursor_b_pos(). If only_probes is set do not display graphs and images. 2022-09-20 17:59:01 +02:00
Stefan Frederik af475e00df xschem raw_read accepts an optional type argument after file name (tran, ac, dc, op, ...) to select type of simulation to load from raw file. New command xschem annotate_op will replace ngspice::annotate tcl procedure. 2022-09-20 16:49:42 +02:00
Stefan Frederik 8169196b35 bypass tcl for voltage and current backannotation in schematic from cursor b positon in graph 2022-09-20 03:12:46 +02:00
Stefan Frederik 7abceb3344 fix regression in ngspice::get_current, simplified voltage reporting in net label symbols 2022-09-20 00:12:27 +02:00
Stefan Frederik f73166efd1 better number formatting in backannotation. Alt-e if nothing selected opens another copy (tab/window) of current schematic (after warning) 2022-09-19 22:27:42 +02:00
Stefan Frederik e8b7714eca fixes in ngspice_backannotate.tcl to work with Xyce as well as ngspice 2022-09-19 12:54:56 +02:00
Stefan Frederik 73e8b440c8 if sweep variables are defined on X axis (instead of default index 0) use first sweep X-axis var in live cursor backannotation 2022-09-19 12:19:39 +02:00
Stefan Frederik 6f102ff05a make cursor live backannotation work on logscale X axes 2022-09-19 12:08:07 +02:00
Stefan Frederik 53dc7fe3bf add backannotation info (as hidden text) in lab_pin.sym, lab_wire.sym, transitioning example schematics from old (push) backannotation model to new pull model. 2022-09-19 11:22:04 +02:00
Stefan Frederik 09f2727168 fix: update backannotation data in schematic if changing dataset with "t" key 2022-09-19 02:04:14 +02:00
Stefan Frederik ad6cbb4df6 let cursor graph backannotation work for multiple sweeps (implicit datasets) 2022-09-18 23:29:48 +02:00
Stefan Frederik 7afbd6a51d various small fixes for cursor b backannotation, updated xschemtest netlist hashes 2022-09-18 12:25:09 +02:00
Stefan Frederik c06034e33e performance optimization in live cursor b backannotation 2022-09-18 11:06:48 +02:00
Stefan Frederik 96f80d1d33 Alt-a in graph annotates schematic with values at cursor b position. Simulation->Live annotate option to automatically update schematic probes if cursor moved. Some improvements and fixes in ngspice_annotate.tcl. Fix xschem setprobe command. Added missing housekeeping_ctx when a new tab is created. housekeeping_ctx: added more variables to sync. 2022-09-18 05:29:16 +02:00
Stefan Frederik 5dc0b14de4 fix a crash due to reentrant call of preview schematic drawing caused by an Expose event if an alert box is displayed due to errors in schematic to preview 2022-09-17 11:27:42 +02:00
Stefan Frederik 52405a29c7 restructured graph dialog box, added min/max x, adjusted sweep variables vertical aligmnent, added atof_spice() that recognizes spice suffixes (12p, 4.2MEG etc) 2022-09-16 17:01:59 +02:00
Stefan Frederik f286b376f7 do not show bboxes of hidden texts while moving objects if global option "show hidden texts" is not set; documentation updates 2022-09-16 13:19:26 +02:00
Stefan Frederik 7d6b33cda8 limit max size of embedded graph bitmaps in svg export. added deriv0() graph function, does derivative w.r.t. index 0 (sweep) variable, regardless of graph sweep (x axis) variable. 2022-09-16 12:16:26 +02:00
Stefan Frederik 5305e593ff correct full zoom when swicthing full screen 2022-09-16 08:43:01 +02:00
Stefan Frederik 3866dc914e xschem print command: if w and h are set to 0 compute image size automatically 2022-09-16 00:04:51 +02:00
Stefan Frederik decf7d9d2e add #if conditions for svg_embedded_graph() 2022-09-15 20:16:35 +02:00
Stefan Frederik f644ce58a6 graphs are now rendered (as detailed png bitmaps) in svg exports 2022-09-15 19:39:16 +02:00
Stefan Schippers 87937a5add full zoom applied when going to true fullscreen 2022-09-14 20:59:38 +02:00
Stefan Frederik f40a3d9b7e remove redundant extern declaration 2022-09-14 13:36:37 +02:00
Stefan Frederik e5d60bb92a tuning of is_xschem_file proc to avoid misdetecton of valid files 2022-09-14 11:37:39 +02:00
Stefan Frederik 6655a4a616 add more informative message (name of schematic with error) in case of parselabel failing to recognize an identifier (net name or instance name usually) 2022-09-14 09:11:40 +02:00
Stefan Schippers f6e9ec3233 removed useless code left over after previous commit 2022-09-13 19:06:01 +02:00
Stefan Schippers 66bcc876a7 look for inutile stimuli files in schematic directory instead of in simulation directory 2022-09-13 18:53:17 +02:00
Stefan Frederik 6effda2bfc fix find_closest_dataset() if log scale axes are used 2022-09-13 13:39:25 +02:00
Stefan Frederik d4fe981525 ngspice_backannotate.tcl: handle Xyce operating point data, removed hspice_netlist (no more existent) 2022-09-13 12:01:58 +02:00
Stefan Frederik 835b420df1 tclpropeval2(): hierarchy separator replacement for Xyce no more necessary 2022-09-13 00:53:47 +02:00
Stefan Frederik 75db846e58 ask confirmation if pressing "s" for simulate; node lists in graph dialog box are returned as they are with no tcleval() resolution; poweramp.sch now can be simulated unchanged with Xyce 2022-09-13 00:31:20 +02:00
Stefan Frederik e2846daca5 inst_hash_lookup() will insert and lookup only instance basename (x1[3:0] --> x1) so better and stronger uniquenes of instance names is ensured. ngspice_backannotate accepts a filename (if not given assume as before <circuit_name>.raw) 2022-09-12 12:01:26 +02:00
Stefan Frederik cd083c91e8 improve xyce netlist processing hooks (save ammeter currents), cmos_example.sch can now be simulated in ngspice and xyce 2022-09-11 13:21:24 +02:00
Stefan Frederik 9e7930c8e0 fix regression in raw_query list command, store all waveform names in lowercase and with ":" path sep translated to ".", so looking them up is faster (no need to try multiple searches) 2022-09-11 10:52:52 +02:00
Stefan Frederik 50539069ff faster xschem raw_query values; fixed xchem raw_query not resetting previous result before returning infos 2022-09-10 22:33:28 +02:00
Stefan Frederik 1ad524829b enabled (empty) custom completer for tclreadline 2022-09-10 09:29:45 +02:00
Stefan Frederik 9c636cbee1 fixed a possible out of bound array writing (crash) on malformed graph bussed nodes in get_bus_idx_array() 2022-09-10 01:39:30 +02:00
Stefan Frederik 193cf397bd more Xyce integration, transform .save in .print tran, transform x1.x2.node to X1:X2:NODE in Xyce lookups, more checks for malformed raw files 2022-09-09 18:57:34 +02:00
Stefan Frederik d4e29db770 added command "xschem get netlist_name fallback" that returns user set netlist name or fallback name derived from circuit filename. simulate and waves procedures handle user netlist name if set 2022-09-09 12:02:56 +02:00
Stefan Frederik d05926e0ca better template for Xyce parallel launcher 2022-09-09 08:41:00 +02:00
Stefan Frederik 3ef32a1eef try more upper/lower case combinations in get_raw_index() function, removed some debugging messages 2022-09-09 02:11:09 +02:00
Stefan Frederik 6baeb53a51 added template for parallel Xyce run in Configure simulators and tools dialog box, added sim_is_ngspice convenience procedure. This allows (together with sim_is_xyce and may be others) to differentiate commands depending on simulator type 2022-09-09 01:46:46 +02:00
Stefan Frederik f78fc5494d set_text_custom_font xctx->cairo_ctx can be NULL when netlisting without X with 0_examples_top.sch; net_name(..) doesnt work on duplicate pin for test_doublepin.sch so added back the condition in rev 2243; added HAS_CAIRO directive to compile on Windows that dont have CAIRO turned on.
remove some old unused variables
2022-09-08 20:58:12 +02:00
Stefan Frederik 9efacd8a8b Revert r2272; zoom by area plots reverse x axis if done with Shift key pressed 2022-09-07 09:31:09 +02:00
Stefan Frederik 503f080db1 balloon tooltip procedure made more general. Easy to reuse for any widget 2022-09-05 18:06:57 +02:00
Stefan Frederik ecca24191e fixes in fullscreen code (restore zoom lavels) 2022-09-04 14:16:38 +02:00
Stefan Frederik f022fae205 correctly reset size of 1st tab if other tabs are closed and the window size was changed meanwhile 2022-09-04 09:39:19 +02:00
Stefan Frederik 02c1dce486 zomm area in graphs: if dragging backward (in x direction) reverse x axis. 2022-09-04 01:09:05 +02:00
Stefan Frederik c7501d4a28 fix UI lockout (can not switch tabs) if a tab is closed with bindkey ctrl-q 2022-09-03 22:19:49 +02:00
Stefan Frederik 2095995b51 apply [t]rack operation to all locked (instead of selected) graphs 2022-09-03 09:46:22 +02:00
Stefan Frederik b7bf351801 [t]rack bindkey applied to digital graphs if they are selected, although track does not work if pointing in digital graphs 2022-09-02 18:19:39 +02:00
Stefan Frederik 5c808505b3 [t]rack bindkey applied to all selected plots in addition to graph where mouse is pointing 2022-09-02 18:09:51 +02:00
Stefan Frederik ae1bed65f4 added [t]rack bindkey in graph to display the wave closest to mouse in multiple dataset plots 2022-09-02 17:11:50 +02:00
Stefan Frederik ad152b24a3 fixed and simplified toggle_fullscreen() 2022-09-02 12:09:56 +02:00
Stefan Frederik b065986c87 reduce tcl global namespace pollution, better widget packing in main window (toolbar/tabs/menubar/statusbar) 2022-09-02 10:41:06 +02:00
Stefan Frederik f7336e9064 better placement and layout of the 5 main window parts: .menubar, .toolbar, .tabs, .drw and .statusbar, specifically w.r.t. runtime changes (toolbar H/V, toolbar on/off, tabs on/off ... 2022-09-02 01:21:51 +02:00
Stefan Frederik e7c4111f8e simplified print_tedax_subckt, some optimizations in netlisting code (avoid some strdups) 2022-09-01 17:25:25 +02:00
Stefan Frederik 9e9660c562 no trailing spaces in saved xschem files (there was one in version strings "v {...}" 2022-09-01 15:10:00 +02:00
Stefan Frederik 77d76e1a8f add commands "xschem set format ..." and "xschem get format" to change format attribute used for netlisting, overriding defaults 2022-08-31 10:47:16 +02:00
Stefan Frederik adc4eb96c8 fix net_name() crashing if inst[i].node==NULL. This may happen when pasting a component that contains a @@xxx token, that needs to be expanded to attached netname, however since we are moving the component no net name is defined --> .node==NULL. 2022-08-30 02:44:28 +02:00
Stefan Frederik f5b0cd933c compacted a bit the ctxmenu 2022-08-29 18:06:56 +02:00
Stefan Frederik 11babab5cf faster toolbar creation, 2px reduction in toolbar height, better add_custom_button.tcl and add_custom_menu.tcl example codes 2022-08-29 13:24:43 +02:00
Stefan Frederik 4c849c44fa force setting line width if window geometry changed and fixed/non variable line width was set. 2022-08-29 09:27:23 +02:00
Stefan Frederik bd64f86dbc no filled circles if layer has no fill (fill_type[c] == 0) 2022-08-28 23:50:57 +02:00
Stefan Frederik 050807ebe4 yet another fix in svg export code for solid/stipple/no-fill options 2022-08-28 23:11:55 +02:00
Stefan Frederik 75147ab8cc if solid pattern fill is selected globally do solid pattern fills in svg export too.; enforce 24 pixel toolbar button heights, remove border width to gain space. 2022-08-28 22:08:18 +02:00
Stefan Frederik 8be273b9f7 fix regression on menu fullscreen command 2022-08-28 11:23:51 +02:00
Stefan Frederik 1519afa241 various fixes in compare_schematics() 2022-08-28 10:23:32 +02:00
Stefan Frederik eebd2b38fa add sample add_custom_button.tcl script to add custom toolbar buttons 2022-08-28 00:27:52 +02:00
Stefan Frederik 3434331f2f add better error reporting in case of tcp port conflicts 2022-08-27 14:14:06 +02:00
Stefan Frederik 4136f7cf10 return loaded filename in xschem load command 2022-08-27 13:30:30 +02:00
Stefan Frederik 41acfd91dd some small code refactoring, allow multiple selected (bold) waves, one per graph, store the bold waves into file 2022-08-27 12:56:33 +02:00
Stefan Frederik 53efa4c381 if ALt-x (compare schematics) is given before setting a compare filename, schematic is compared with saved version of itself 2022-08-26 15:56:48 +02:00
Stefan Frederik 3c980ce956 compare schematics does not require to save schematic 1, so a comparison with the saved version of itself is possible, showing the differences after editing. 2022-08-26 15:29:10 +02:00
Stefan Frederik 5100803673 translate() optimization 2022-08-26 09:20:30 +02:00
Stefan Frederik a53fc67404 save schematic before doing schematic compare as it will be reloaded from disk at end. 2022-08-25 23:01:56 +02:00
Stefan Frederik 279e4604ea compare_schematics() do not hash wire prop_ptr (unnecessary) 2022-08-25 14:19:19 +02:00
Stefan Frederik d279783faa added menu entries to set and conmpare with schematic. 2022-08-25 13:59:36 +02:00
Stefan Frederik a2de3e9c1b Added compare_schematics() function. Empty graphs (no data loaded) are not editable. Set window title if opening a non-existent file. 2022-08-25 00:25:29 +02:00
Stefan Frederik 67ff8844f5 add xschem get zoom to query zoom factor 2022-08-24 11:22:26 +02:00
Stefan Frederik dffc266e0d improve test_backannotated_subckt.sch example, remove dbg messages 2022-08-23 10:44:00 +02:00
Stefan Frederik 0f5881cd61 print_spice_subckt(): check for tcl_hook2() errors, check for NULL in strtoupper/strtolower, fix unitialized local variable 2022-08-23 10:01:32 +02:00
Stefan Frederik bd5cb7b9df add license info on traversal.tcl 2022-08-21 13:35:37 +02:00
Stefan Frederik c99282e463 fix typo in src/Makefile.in 2022-08-21 13:21:31 +02:00
Stefan Frederik a14c541d9e allow "xschem descned -<n>" (n=number) to descend into nth rightmost instance; added traversal.awk script 2022-08-21 13:18:39 +02:00
Stefan Frederik 0dfbc9ded9 added return status from descend_schematic() 2022-08-21 12:24:26 +02:00
Stefan Frederik 20d1080171 improve uniqueness name checking (do not consider non netlist elements, like pins, title, etc) 2022-08-21 11:55:34 +02:00
Stefan Frederik ef2e059c59 instance names (refdes) are hashed as uppercase, so collision check will be case insensitive, if enabled 2022-08-21 10:22:56 +02:00
Stefan Frederik 9ed7d3b039 remove ## from netlist if "#@attribute\\#@name" is used in format string and "attribute" is undefined or empty 2022-08-20 13:51:20 +02:00
Stefan Frederik 2502208671 if a subcircuit has spiceprefix set in template string do not consider it as an attribute to dump in netlist as a subckt parameter (.subckt xxxx A B C spiceprefix=X) 2022-08-20 11:23:18 +02:00
Stefan Frederik 5df286bec5 spice netlister code was incorrectly resetting spiceprefix to 1 2022-08-20 09:23:38 +02:00
Stefan Frederik 6c8d20fdc2 better bbox hashing to avoid false overlap positives 2022-08-19 12:46:35 +02:00
Stefan Frederik c134175687 better overlap detection hash calculation 2022-08-19 12:00:02 +02:00
Stefan Frederik d3cc957fa3 warning and highlight perfectly overlapped symbols 2022-08-19 10:56:26 +02:00
Stefan Frederik 84f9497755 fix graph zoom by area with mouse drag and absolute x positioning of locked graphs that are not vertically aligned 2022-08-19 01:23:45 +02:00
Stefan Frederik 3419db3601 remove extra blank in .subckt spice netlist lines 2022-08-18 12:14:23 +02:00
Stefan Frederik 9b3251b85e clear "Simulate" button background if new window/tab is created while simulation running in original window 2022-08-18 11:26:41 +02:00
Stefan Frederik c1d229b917 better str_replace() implementation 2022-08-18 10:21:14 +02:00
Stefan Frederik a3828e6641 redo r2216 change in a different way to avoid regressions 2022-08-18 01:45:02 +02:00
Stefan Frederik 15d8b8f1c8 reverted 2216 changes as these cause regressions. token.c back to r2215 2022-08-17 20:37:29 +02:00
Stefan Frederik 6e8af5410b all get_tok_value() calls in netlisting code will do tcl substitution (if attributes wrapped into tcleval()) to allow full conditional symbol netlisting 2022-08-17 09:09:00 +02:00
Stefan Frederik cc49909282 better clip off-graph data 2022-08-14 15:05:08 +02:00
Stefan Frederik 2e37724959 add "Plotname: constants" to the list of recognized ngspice plots in raw file 2022-08-14 14:14:19 +02:00
Stefan Frederik 86311f8d47 focus main window when mouse leaves SNAP or GRID text entries 2022-08-14 08:17:44 +02:00
Stefan Frederik dda7cb40db better recognize Xyce plot headers (Plotname: lines) 2022-08-12 00:06:14 +02:00
Stefan Frederik fb8a1560c6 added xschemrc variable `autofocus_mainwindow` (default setting: enabled (1) ), if this variable is set moving the mouse to the main drawing area when a dialog box is open (typically while editing a component attribute list) will focus the main window, so user can move / zoom/pan the schematic using the usual commands, for example to look at a different part of the schematic while editing the component. If this variable is unset a click is needed to focus the main window. This will thus not allow to move / zoom, but allows to type into the dialog box if the mouse goes out of it. 2022-08-11 10:58:57 +02:00
Stefan Frederik ce4bd4837a changed @schname to @schname_ext and added @schname that expands to the schematic name containing the instance, with no extension (no .sch) 2022-08-10 08:38:49 +02:00
Stefan Frederik 0e25935254 added @topschname predefined attribute that expands to the toplevel schematic name (no path) with no .sch extension 2022-08-10 01:45:07 +02:00
Stefan Frederik bd35e177f1 unselect_all() before inserting wire label or text from the menu to avoid moving previously selected objects 2022-08-09 23:08:00 +02:00
Stefan Frederik ae0ffa926d set reasonable subdiv[xy] value when user switches from linear to log axis, as 8 subdivisions are used in log axes in 99.99% of the cases. 2022-08-08 12:37:44 +02:00
Stefan Frederik 89afd902ea get_raw_value(): return plain value, no implicit log calculation if log scale on axis. Zoom full scale X and X axis pan: use 1st sweep X variable, do not assume spice sweep variable (idx==0) 2022-08-08 09:52:33 +02:00
Stefan Frederik edf185616b Y log axis option in graphs 2022-08-08 01:18:42 +02:00
Stefan Frederik de5eb7446d scheduler.c "place_symbol" : analyze selected symbol and set INITIALINSTDIR before doing unselect_all() 2022-08-06 23:42:43 +02:00
Stefan Frederik 9177bcf8bc unselect objects when inserting a symbol using menu or toolbar to avoid moving them together with the inserted symbol 2022-08-06 23:19:26 +02:00
Stefan Frederik ecd006ad5d disable `Log Y scale` checkbutton in graph dialog box until function is implemented 2022-08-05 19:29:08 +02:00
Stefan Frederik 8383030afa remove printing `[Mag]` on wave labels in AC plots. 2022-08-05 19:07:42 +02:00
Stefan Frederik 15e367ba73 user selectable log X scale instead of assiming log X for AC analyses only 2022-08-05 00:57:03 +02:00
Stefan Frederik 7a0b5f3589 fix ngspice_backannotate.tcl: correctly backannotate ammeter currents; correctly handle multipoint Operating point data in graphs 2022-08-04 11:39:41 +02:00
Stefan Frederik 3b0589d2d1 store just magnitude and phase of AC vectors instead of dB and phase. Add db20() function to get dB values from magnitude in graph RPN expressions. 2022-08-03 17:44:53 +02:00
Stefan Frederik bd8c1fd6eb do not accept 0 in graph `X div` and `Y div` textboxes, as this will cause an endless loop 2022-08-03 10:44:34 +02:00
Stefan Frederik 9e888b8b44 Button 1 Double click does edit object attributes 2022-07-31 09:06:10 +02:00
Stefan Frederik 31646cf357 Windows fix: run ngspice in $netlist_dir; add res3.sym into Windows package, update instructions for compiling Cairo`s debug version 2022-07-29 23:00:34 +02:00
Stefan Frederik 62b4db861b rawtovcd.c: better description if -h is given 2022-07-29 14:31:54 +02:00
Stefan Frederik 83d44842cc remove COPYING (use LICENSE), do not install rawtovcd in SHAREDIR 2022-07-29 14:09:47 +02:00
Stefan Frederik 56d3d8f5f3 recognize \r\n sequences on windows rawfiles in "Binary:" lines, just in case ngspice developers want to add it someday. Quote ROUT ('ROUT') values for output resistors in ngspice_logic gates 2022-07-28 00:36:09 +02:00
Stefan Frederik 5af2b8eb7a fix read_dataset() for windows 2022-07-27 11:06:54 +02:00
Stefan Frederik d86a422c59 do not segfault if reading ascii raw files. print error message and tell user to generate binary rawfile. 2022-07-26 12:05:28 +02:00
Stefan Frederik a7202ddee2 avoid panning interfere with constrained (horiz/vertical) copy or move 2022-07-25 10:09:35 +02:00
Stefan Frederik baabac5fb7 bump version to 3.1.0 (candidate #1) 2022-07-19 09:25:34 +02:00
Stefan Schippers b72d8387b2 fix xschemrc grid/snap variables 2022-07-16 18:26:43 +02:00
Stefan Frederik 7d971f1f6c remove dbg message 2022-07-16 08:24:49 +02:00
Stefan Frederik e7f31cf3ee allow each window (in tabbed or window interface) to run its own simulation, preventing spawning another simulation process for same tab/window if previous not finished 2022-07-15 12:32:57 +02:00
Stefan Frederik b5662fe551 Added sweep textbox (linked to graph sweep attribute) in graph edit attributes dialog box 2022-07-12 10:57:56 +02:00
Stefan Frederik c9d16d6008 use 5 significant digits in graph (time) measures 2022-06-29 11:47:10 +02:00
Stefan Frederik cd7eb3ab54 update license info 2022-06-24 00:36:12 +02:00
Stefan Frederik 7401f1d8eb add menu "Symbol -> Search all search-paths for schematic associated to symbol". Default: not enabled. Variable: search_schematic. If enabled xschem does not assume the schematic is in the same directory of the symbol but looks in all libraries defined in XSCHEM_LIBRARY_PATH for a match. 2022-06-23 13:42:56 +02:00
Stefan Frederik be43fe41b0 added bit blasting option (default: disabled) in menu for verilog netlists: group bit slices in instance net assignments. Doc updates (FSiC-2022) 2022-06-14 10:20:06 +02:00
Stefan Frederik 28cc187b56 when placing components with lock=true set in template attribute allow to move it to its final position like any other unlocked symbol. Code in place in verilog.awk to do bit unblasting in net-> port associations, but not enalbed it for now as icarus verilog does not handle some bus slices (for example if bus slice direction is different from declared bus direction) 2022-06-09 09:32:34 +02:00
Stefan Frederik 4cb0eb0491 better check for availability of -justify option in listboxes 2022-05-29 00:36:19 +02:00
Stefan Frederik 2f3d6e0c88 fix #if __unix__ --> #ifdef __unix 2022-05-21 07:13:13 +02:00
Stefan Frederik f2097bac0b Correct background color for monochrome svg exports, close stdin if xschem started with -b to avoid blocking when spawning ngspice batch tasks 2022-05-12 23:32:57 +02:00
Stefan Frederik 15e67e04b7 added missing (src/utile/) utile.bat and utile3.bat 2022-05-06 23:42:00 +02:00
Stefan Frederik d0b273c2c5 add "--command" command line option to execute commands after initialization (whereas "--tcl" executes commands before initialization) 2022-05-06 23:19:41 +02:00
Stefan Frederik 21a8885b65 regression fix: attempt to write into target netlist even if fopen() failed 2022-05-05 22:42:25 +02:00
Stefan Frederik eff273dd08 fix in spice.awk: do not clobber user or device format generated .save lines (no ?n tag); add devices/device_param_probe.sym 2022-04-30 10:58:15 +02:00
Stefan Frederik f882918931 more conversion warnings suppressed 2022-04-28 10:12:16 +02:00
Stefan Frederik 97911fe9fc text routines: longest_line made double (from int) for consistency 2022-04-28 00:00:51 +02:00
Stefan Frederik 23102433c2 fixed lot of conversion warnings/ bugs (int/double/size_t) 2022-04-27 13:18:45 +02:00
Stefan Frederik 9b46db7341 module parameter declaration follow verilog2001 format if enabled ( #( parameter aaa=1, bbb=2, .... ) list before port list) 2022-04-25 11:23:28 +02:00
Stefan Frederik 89f538ffa1 added bindkey "s" for running simulation 2022-04-25 08:39:51 +02:00
Stefan Frederik bcb1f57b27 allow spiceprefix in subcircuit format strings 2022-04-24 13:59:35 +02:00
Stefan Frederik d57f8e60ee do not allow switching tabs if some editing operation ongoing to avoid incosistent states 2022-04-23 13:43:12 +02:00
Stefan Frederik eb6eeebe7f do not error out if netlisting for xyce simulator with hspice/ngspice syntax option turned off 2022-04-18 08:58:36 +02:00
Stefan Frederik 19d9d8a8f1 global Options menu "show hidden texts" to show or not show texts with attribute "hide=true" 2022-03-09 00:29:16 +01:00
Stefan Frederik a3b7ec1810 do not crash on malformed recent_files 2022-03-07 11:05:20 +01:00
Stefan Frederik 069017e07c recursively resolve parameter passing throughout hierarchy and show resolved value in leaf cells if possible 2022-03-07 01:42:53 +01:00
Stefan Frederik 00de54c582 Honor hide attribute for texts in ps/pdf and svg exports 2022-03-01 19:36:08 +01:00
Stefan Frederik c1a92ab5dc revert pro floaters. black hole, wrong approach 2022-02-22 12:09:04 +01:00
Stefan Frederik 2a205d298a TEXT_TRANSLATE flag: pro-floaters addition 2022-02-22 01:28:19 +01:00
Stefan Frederik 8be5ae7eb0 hide attribute for text items, not only if embedded in symbols 2022-02-21 10:53:06 +01:00
Stefan Frederik d457565c2d declared more functions static where possible and appropriate 2022-02-19 14:31:55 +01:00
Stefan Frederik 414cba1623 smaller threshold for minimum polygon size drawing 2022-02-19 03:59:00 +01:00
Stefan Frederik 1d8fe237ce add test_extracted_netlist circuit example 2022-02-18 15:11:44 +01:00
Stefan Frederik 609f216f8d avoid redundant cleanup call (ravg_store()) 2022-02-17 01:37:04 +01:00
Stefan Frederik fc6268395b dedicated function for calculating y extent of custom wave equations 2022-02-17 01:22:15 +01:00
Stefan Frederik 798ecd74f3 running average ravg() wave processing operator 2022-02-16 20:24:22 +01:00
Stefan Frederik f4ff14fbd8 fix bus msb nibble calculation in case of incomplete MSB nibble. Add sigma delta adc example 2022-02-16 02:27:57 +01:00
Stefan Frederik a9987b9be2 better y label alignment in digital graphs 2022-02-15 23:50:50 +01:00
Stefan Frederik 1ba83016c6 better digital graph label positioning (margin to y axis) 2022-02-15 18:57:40 +01:00
Stefan Frederik ce136d8f00 cleared some comments 2022-02-15 18:00:31 +01:00
Stefan Frederik b5eb8777c5 check for incomplete/missing/wrong attributes when drawing images 2022-02-15 17:59:45 +01:00
Stefan Frederik 9dd68436cf Handling of duplicated pins in spice netlists, added test_doublepin.sch in examples/ 2022-02-15 12:28:23 +01:00
Stefan Frederik f66f81649d fix add nodes to graph (alt-G) if quoted nodes/expressions are in graph 2022-02-15 00:43:07 +01:00
Stefan Frederik e3fe1029cd switch statements vs if-else-if in plot_raw_custom_data(); do not try to measure non existing waveforms due to expression syntax errors 2022-02-14 22:32:45 +01:00
Stefan Frederik c08cc359f3 plot_raw_custom_data() returns idx or -1 in case of expr syntax errors to avoid plotting junk 2022-02-14 19:28:24 +01:00
Stefan Frederik 59fe63cb68 swap evaluation order in if() 2022-02-14 18:56:51 +01:00
Stefan Frederik 4ebf3ea601 allow wave alias naming, fix off-by-one errors in plot_raw_custom_data() calls 2022-02-14 17:51:18 +01:00
Stefan Frederik b95d78734f allow ";" in addition to "," for separator in nodes to be plotted. ";" will be used for node alias. Fix potential uninitialzed data in get_bus_idx_array() 2022-02-13 22:54:28 +01:00
Stefan Frederik b697ec448d fix find_nth if multiple / leading separators are present 2022-02-13 12:12:37 +01:00
Stefan Frederik 13aca67a4d find_nth() generalized to accept multiple separators 2022-02-13 11:24:38 +01:00
Stefan Frederik 1a1c6371cc better bg selectcolor in graph editprop dialog textbox 2022-02-13 03:32:06 +01:00
Stefan Frederik a6b4d998d1 better node color tagging in graph edit property dialog 2022-02-13 02:51:14 +01:00
Stefan Frederik fbeae175dd refactor some variable usage in plot_raw_custom_data() 2022-02-12 13:29:18 +01:00
Stefan Frederik c6a7d8f9bb optimize custom data plots and expression evaluation, added avg() 2022-02-12 13:20:24 +01:00
Stefan Frederik c0d2951883 better expression parsing in plot_raw_custom_data() 2022-02-12 11:04:39 +01:00
Stefan Frederik defd2a92a7 rpn expressions in graphs 2022-02-12 04:55:02 +01:00
Stefan Frederik a24fbc3645 lock attribute for rect shapes 2022-02-10 11:28:47 +01:00
Stefan Frederik 164ea94743 fix --rcfile and --no_readline options not working due to a refactoring mistake 2022-02-09 17:09:35 +01:00
Stefan Frederik a0e7a9ed78 same refactoring for bus wave drawing (set_thick_waves()) 2022-02-07 16:21:06 +01:00
Stefan Frederik f08d980558 graph function refactoring (set_thick_waves()) 2022-02-07 16:14:52 +01:00
Stefan Frederik e37d5a28b8 more flexible my_strtok_r (handle quoting and escapes), allow quoted expressions in graphs for doing math on vectors 2022-02-07 03:52:42 +01:00
Stefan Frederik 798e4a20b2 removed event handling code repetitions 2022-02-05 14:35:33 +01:00
Stefan Frederik 62766fd618 cleanup test code for custom plots 2022-02-05 02:16:27 +01:00
Stefan Frederik 178d235de6 fix: check for empty xctx->graph_names 2022-02-05 00:38:05 +01:00
Stefan Frederik d6d932e730 fix save simconf (thanks mkk). put template code for custom function plots 2022-02-05 00:28:06 +01:00
Stefan Frederik d7c35a0a3d code comments added 2022-02-04 18:21:25 +01:00
Stefan Frederik d7b45bfbf9 cleanup raw_query sub command, added "values" opcode, speedup some "xschem" subcommands 2022-02-04 17:35:07 +01:00
Stefan Frederik 6fb20b8c5e (only) on fat32 or similar case insensitive FS and if case_insensitive is set to 1 in xschemrc do not consider case in symbol lookup 2022-02-04 02:56:11 +01:00
Stefan Frederik 1cb9645e9f xyce quircks/integration for ac analysis, refuse to stretch unscalable images, more example schematics 2022-02-03 00:40:59 +01:00
Stefan Frederik 008b289e4f ac analysis in graphs (mag + phase, log axis) 2022-02-02 18:33:16 +01:00
Stefan Frederik 5f82f63580 rename variable so tcc wont complain 2022-02-02 03:30:07 +01:00
Stefan Frederik 77b900569b correctly save embedded symbol attributes in embeeded symbols, do not save multiple times the same embedded symbol definition 2022-02-02 02:14:23 +01:00
Stefan Frederik a8e1a6c047 fix regression (tcl context was not saved/restored correctly) 2022-02-02 00:11:46 +01:00
Stefan Frederik 200f4210d0 renamed struct member function pointer to x_strcmp 2022-02-01 18:31:23 +01:00
Stefan Frederik bc03dedbca fix a function pointer usage not accepted on some compilers 2022-02-01 12:30:10 +01:00
Stefan Frederik 83f745accd doc updates for viewing simulation data inside xschem 2022-01-31 17:48:02 +01:00
Stefan Frederik 7e78f0994e fixes in fullscreen code 2022-01-31 02:42:52 +01:00
Stefan Frederik e7ebb2c2af Xyce support for node/current probing to graph 2022-01-31 00:14:34 +01:00
Stefan Frederik a79af0c7e5 send currents to graph 2022-01-30 14:39:11 +01:00
Stefan Frederik faa210fb2f code cleanup, removed code redundancy, itoa(), dtoa() functions, removed unnecessary tcl graph_* global vars, mstrcat function. 2022-01-30 03:10:09 +01:00
Stefan Frederik 4ec5d2ce9e send selected nets to last selected graph if graph configure dialog not open 2022-01-29 12:27:54 +01:00
Stefan Frederik 552bfcac4e better label text size calculation in digital graphs 2022-01-29 02:52:26 +01:00
Stefan Frederik c083491738 probe nodes from xschem into its own wave viewer 2022-01-29 02:36:54 +01:00
Stefan Frederik 4c174d2311 Graph UI: unlock X-axis checkbox 2022-01-28 05:25:50 +01:00
Stefan Frederik 0b0e749801 Graph UI improvements. Persistent bold waves. Graph UI bug fixes 2022-01-28 04:44:07 +01:00
Stefan Frederik ee263197d8 bold clicked wave for better visibility if multiple waves 2022-01-27 21:14:52 +01:00
Stefan Frederik 038ef39bb5 UI improvements for graphs, change colors, insert waves etc 2022-01-27 20:47:27 +01:00
Stefan Frederik bf624cfc77 fix typos 2022-01-26 15:31:32 +01:00
Stefan Frederik f5fd1ef352 use cairo png export if Xrender extensions present (alpha), editprop code for graph node list 2022-01-26 15:20:00 +01:00
Stefan Frederik 904439d751 embedded raster images in symbols rendered to svg export with correct matrix transform 2022-01-25 11:14:19 +01:00
Stefan Frederik e6f3f9898d correct size calculation when inserting new unscaled image 2022-01-25 00:52:49 +01:00
Stefan Frederik b978bd90fa images (rotated,flipped as the symbol) in symbols 2022-01-24 22:58:30 +01:00
Stefan Frederik ff1888b207 alpha (opacity) setting in raster png/jpg within svg exports 2022-01-23 23:16:31 +01:00
Stefan Frederik 348802c655 fix clipping for image redraw speed-up, embedded raster png/jpg in svg exports 2022-01-23 22:41:24 +01:00
Stefan Frederik c8ec7a77f2 allow embedding all image formats if a xxx-->png filter shell command is provided as attribute 2022-01-23 04:51:41 +01:00
Stefan Frederik 90f1a00a6f add filter_data() generic file conversion function 2022-01-23 01:21:36 +01:00
Stefan Frederik 81a612d5a3 menu entry for adding pictures, added alpha parameter for opacity 2022-01-22 04:55:59 +01:00
Stefan Frederik 320ad6e2aa embedded raw file storage 2022-01-21 19:17:43 +01:00
Stefan Frederik 609d0d0fdf windows lack regexp search--> use substring search 2022-01-21 03:27:32 +01:00
Stefan Frederik 7ee2c1bbc9 protect more new cairo code with #if HAS_CAIRO==1 2022-01-21 03:00:23 +01:00
Stefan Frederik 694bda1250 protect new cairo code with #if HAS_CAIRO==1 2022-01-21 02:51:58 +01:00
Stefan Frederik 42703b020d fix wave panning if a non graph added, better error reporting in png writer function, better flags option names for special objejcts (image and graphs) 2022-01-21 02:18:07 +01:00
Stefan Frederik e66abe36fa fix wave panning if a non graph added, better error reporting in png writer function, better flags option names for special objejcts (image and graphs) 2022-01-21 02:16:51 +01:00
Stefan Frederik a3ccc094f5 handle errors in image data, modified base64 decode to handle white space 2022-01-20 18:28:29 +01:00
Stefan Frederik 6fcdd46022 reordering of some function calls to prevent memory leaks 2022-01-20 01:57:53 +01:00
Stefan Frederik 3958faf1aa optimizations in image display, resolved some false leak report due to untracked mallocs 2022-01-20 00:47:15 +01:00
Stefan Frederik c3af523559 better data struct for embedded image 2022-01-19 23:28:19 +01:00
Stefan Frederik f7b6bdb937 useful coments added 2022-01-19 18:44:13 +01:00
Stefan Frederik d22245b33a show and store embedded (png) images in schematics 2022-01-19 18:39:23 +01:00
Stefan Frederik 03c5330c94 fix wrong #ifdef instead of #if in psprint 2022-01-19 12:15:33 +01:00
Stefan Frederik 98bfb90e11 fix ps/pdf printing if started with no X or no graphics 2022-01-19 10:44:15 +01:00
Stefan Frederik 41738166e3 various fixes in add net when separating components 2022-01-19 10:15:52 +01:00
Stefan Frederik 0ab2a9631a fix connect by kissing undo function 2022-01-19 04:12:34 +01:00
Stefan Frederik 881b32a689 fix selection of merged instances done b4 calculating bbox (uninit. values) 2022-01-19 02:05:05 +01:00
Stefan Frederik 1fb23208bc remove all xrender and all xcb code, remove detection as well. Fix a couple of potentially uninitialized variables 2022-01-19 00:49:46 +01:00
Stefan Frederik 6941451d9b fix crash when graph (bottom)x-scaling if dataset given > raw file datasets 2022-01-18 04:21:32 +01:00
Stefan Frederik 2e8bd72faf reverted xcb since text quality is slightly better 2022-01-18 03:37:54 +01:00
Stefan Frederik 12f9af62b8 reverted xcb since text quality is slightly better 2022-01-18 02:49:28 +01:00
Stefan Frederik 6dca33e716 xschemrc updated 2022-01-18 02:27:56 +01:00
Stefan Frederik 3c1603ea5e add wire also if separating component from a running wire (not connected at endpoints) 2022-01-18 02:10:56 +01:00
Stefan Frederik 74ebc3d887 add "connect by kissing (edit menu)" option, whereas separating with a move operation touching pins creates a net in between 2022-01-18 00:58:53 +01:00
Stefan Frederik f0d856560f removed useless old pan command 2022-01-17 22:41:36 +01:00
Stefan Frederik 2d6a0fea52 remove XCB code (HAS_XCB=1 macro), align find_gl_fb_attachment() prototype declaration to match other functions, avoiding warning in dep_add() 2022-01-17 17:40:07 +01:00
Stefan Frederik 6b97846985 fix crashing bug in split netlist mode for spice (fprintf-ing global nodes on closed netlist file) 2022-01-17 17:14:39 +01:00
Stefan Frederik 159b362c9f removed useless global tcl var token 2022-01-17 12:10:06 +01:00
Stefan Frederik 264b602b8d fix initialfile handling in load_file_dialog 2022-01-16 22:18:06 +01:00
Stefan Frederik 4379a68a19 HILIGHT_CONN macro 2022-01-16 14:49:59 +01:00
Stefan Frederik 51889e524a fix regression in zoom full with hidden graphs, reset globfilter if user clicks a file, so next directory listing will list all 2022-01-16 13:53:25 +01:00
Stefan Frederik ecf07e6761 better handling of glob patterns in save/load dialog, recognize floater label tags in files 2022-01-16 12:42:55 +01:00
Stefan Frederik c44673b2ac refactored some global var names, used only in command option processing 2022-01-16 01:12:43 +01:00
Stefan Frederik abce61655f do noop if a switch context into itself is called 2022-01-16 00:51:12 +01:00
Stefan Frederik c7b9e8206f various checks to prevent multiple file loading if no X or -x option used, put xpm header in icon.c so it can be opened by image viewers 2022-01-15 23:35:37 +01:00
Stefan Frederik 3f017074be load multiple files from command line, in tabbed or foating windows mode 2022-01-15 13:19:06 +01:00
Stefan Frederik 1167b97f2e fix regression in tabbed window WM_DELETE_WINDOW protocol handler 2022-01-15 03:09:18 +01:00
Stefan Frederik 158186a9c4 better WM_DELETE_WINDOW protocol handler in case of multiple windows 2022-01-14 19:37:01 +01:00
Stefan Frederik 231660989a fix undo regression on embedded examples due to prev commit 2022-01-14 17:07:17 +01:00
Stefan Frederik 627d122937 correctly skip embedded symbol info in file if not matching instance reference 2022-01-14 16:59:40 +01:00
Stefan Frederik 9f64e87b34 comments in source files 2022-01-14 14:56:13 +01:00
Stefan Frederik 3260d438c1 better selection of closest objects 2022-01-14 13:36:17 +01:00
Stefan Frederik 622fb168c1 obsolete comments scrub 2022-01-13 17:24:04 +01:00
Stefan Frederik acae16d106 left anchor window title in tab buttons 2022-01-13 15:40:20 +01:00
Stefan Frederik 6c85ceaad8 "hide(=true)" attribute to hide specific text items in symbols 2022-01-13 12:46:55 +01:00
Stefan Frederik e0eb450881 drop zero-size elements when opening a file 2022-01-13 03:09:45 +01:00
Stefan Frederik c3ad08fdd4 sourcing of user specified tcl scripts in xschemrc done after all graphics setup complete so we can autoload multiple tabs on startup, among other funny things 2022-01-13 02:08:36 +01:00
Stefan Frederik 54f3211d51 show modify status (*) in tab names, master tab has red foreground 2022-01-13 00:58:00 +01:00
Stefan Frederik 772a6c9f39 button press on a tab, hold button and drag onto another tab --> swap tabs 2022-01-12 23:55:46 +01:00
Stefan Frederik 88945158e2 button press on a tab, hold button and drag onto another tab --> swap tabs 2022-01-12 23:44:52 +01:00
Stefan Frederik a8d3cb814b globpattern "pat" search in file selector implicitly assumed to be "*pat*" 2022-01-12 00:17:10 +01:00
Stefan Frederik da27141112 fix left/right arrow keys for tab switching on Windows and Linux 2022-01-11 22:57:55 +01:00
Stefan Frederik aec7d02c4d tedax: do not generate __UNCONNECTED_PIN__%d names for unconnected instance pins in tedax netlist, do not highlight in red instances with unconected pins, still print ERC warning just in case designer forgot a connection 2022-01-11 14:40:43 +01:00
Stefan Frederik d273d5131e doc updates 2022-01-11 12:17:15 +01:00
Stefan Frederik 54fcf126f6 doc updates (sym attributes) 2022-01-11 04:17:17 +01:00
Stefan Frederik 659217148d fix error if tabbed_interface variable set in xschemrc 2022-01-11 02:01:11 +01:00
Stefan Frederik 7d3c19441d cleanup in tabbed/multi-context code, remoevd redundant functions, more tests in xschemtest 2022-01-11 01:09:56 +01:00
Stefan Frederik d6b513e1e2 issue warning if opening same circuit in different tabs, if tabbed if is active edit sch/sym in new window will do in a new tab 2022-01-10 18:54:07 +01:00
Stefan Frederik b81ce64c0c ctrl-left arrow / ctrl-right arrow to quickly move between tabs 2022-01-10 04:30:51 +01:00
Stefan Frederik a19bdc01a6 followup of previous commit: better set window title when swicthing context 2022-01-10 03:07:57 +01:00
Stefan Frederik 19398e8162 update window title/icon title when switching in tabbed interface 2022-01-10 03:00:33 +01:00
Stefan Frederik b93fa4794c fix regression in set_modify function 2022-01-09 23:44:43 +01:00
Stefan Frederik 01d9ba58c5 Tabbed windows: menu typo 2022-01-09 22:21:14 +01:00
Stefan Frederik 1360641d75 Tabbed windows interface option added 2022-01-09 22:19:58 +01:00
Stefan Frederik 84662451ae tabbed interface almost done 2022-01-09 14:58:45 +01:00
Stefan Frederik e238f571b0 code added for tabbed window interface 2022-01-09 05:14:25 +01:00
Stefan Frederik 536ff68143 optimizations in waves measure function 2022-01-08 01:16:13 +01:00
Stefan Frederik ef7effab69 separate bindkey (ctrl-shift-F) to zoom full selection 2022-01-08 00:00:13 +01:00
Stefan Frederik 0eaf884039 modularized usage of simconf`s scrollable frame so it can be reused 2022-01-07 12:45:18 +01:00
Stefan Frederik d9a51e4b1a bus value viewer show transitions (`X`), adding some query commands to get/set waveform attributes/plot data 2022-01-07 01:54:41 +01:00
Stefan Frederik 71a98e78f5 don`t try bring up the info ERC window if xschem is used in cli mode without X; filter out some events from graph event callback 2022-01-06 22:38:00 +01:00
Stefan Frederik 6297d1ac15 fix bus value calculation 2022-01-06 12:57:31 +01:00
Stefan Frederik 6f83b0cae5 code cleanup 2022-01-06 07:41:15 +01:00
Stefan Frederik 7c91b691ac remove dbg info 2022-01-06 07:38:59 +01:00
Stefan Frederik fdf93666b4 fix the hardest bug ever in master graph x-axis zooming (f**k!) 2022-01-06 07:37:44 +01:00
Stefan Frederik 8eae5398c5 fix clipping cursor texts 2022-01-06 05:34:42 +01:00
Stefan Frederik 9bdac2d854 fix horizontal alignment when panning multiple graphs 2022-01-06 05:00:24 +01:00
Stefan Frederik bff65b662a performance improvements (2) in draw_graph functions 2022-01-06 04:17:16 +01:00
Stefan Frederik c3f59beec1 performance improvements in draw_graph functions 2022-01-06 03:56:11 +01:00
Stefan Frederik 7f1a085656 performance improvements in draw_graph functions 2022-01-06 03:49:18 +01:00
Stefan Frederik 223b9dc0a6 various regressions due to refactoring fixed 2022-01-06 01:10:06 +01:00
Stefan Frederik c35d7b5d22 created Graph_ctx for graph data access; code refactoring 2022-01-05 23:07:08 +01:00
Stefan Frederik 09d8474a2c fix measure data in multiple sweep/wraps graphs 2022-01-05 17:38:01 +01:00
Stefan Frederik 4a705de9d0 better top/bottom clipping of waves 2022-01-04 06:21:50 +01:00
Stefan Frederik 31ba4ce0d6 added wave @ cursor measurement feature 2022-01-04 05:54:25 +01:00
Stefan Frederik 625495e27a measurement tooltip in graphs 2022-01-03 18:43:34 +01:00
Stefan Frederik 27a8e2246a full vertical resize applied only on active graph 2022-01-03 04:20:45 +01:00
Stefan Frederik 6aeb5ce4f8 nodes to plot are accepted without v(): v(nnn) --> nnn 2022-01-03 04:02:41 +01:00
Stefan Frederik 96f3914788 better zooming vertical axis of digital waves 2022-01-03 03:05:15 +01:00
Stefan Frederik 177f38ec2f better zooming vertical axis of digital waves 2022-01-03 02:38:38 +01:00
Stefan Frederik 55ad045669 checks for zero range axes, removed some unused function params 2022-01-03 02:30:10 +01:00
Stefan Frederik 33ecb08c4f checks for zero range axes, removed some unused function params 2022-01-03 02:28:34 +01:00
Stefan Frederik 2c09982e5a resolve a race condition in context menu (mouse click and immediately destroy menu by exiting the area) 2022-01-03 01:38:15 +01:00
Stefan Frederik 66152c33a5 better vertical scrolling of digital graphs 2022-01-03 00:29:05 +01:00
Stefan Frederik 81cbbfa39f better vertical scrolling of digital graphs 2022-01-03 00:27:15 +01:00
Stefan Frederik 104d0f8cc3 fixes for digital waves y axis scaling 2022-01-02 22:24:44 +01:00
Stefan Frederik 2a3e9ddea4 graph UI improved (unlock xaxis flag) 2022-01-02 04:42:15 +01:00
Stefan Frederik 2bbf967729 remove dbg message 2022-01-02 00:06:22 +01:00
Stefan Frederik 01764bc929 reset globfilter to {*} after using it 2022-01-02 00:05:05 +01:00
Stefan Frederik 1c27e4cc0a speed optimizations in draw_graph() 2022-01-01 21:47:17 +01:00
Stefan Frederik 81a7041c9f faster graph drawing by direct graph->screen transformation, avoiding double graph->xschem->screen scaling. File entry box is also a glob-search pattern in file open dialog 2022-01-01 15:46:03 +01:00
Stefan Frederik c42f37909c various fixes in multi trace/multi dataset graphs 2022-01-01 04:22:23 +01:00
Stefan Frederik 5ac44c11ea hierachical pdf export: avoid adding links to symbols that are not subcircuits 2021-12-31 12:37:28 +01:00
Stefan Frederik 06e84deb96 fix setting pdfmarks with directories in hierarchical pdf exports 2021-12-31 11:58:28 +01:00
Stefan Frederik 7600985557 fix various graph event handling issues 2021-12-30 23:22:13 +01:00
Stefan Frederik 9beda72ebb fix various graph event handling issues 2021-12-30 20:52:15 +01:00
Stefan Frederik c0ab0f1a61 hierarchy pdf prints have links to pdf pages of sub blocks 2021-12-30 20:11:41 +01:00
Stefan Frederik 6b8807e003 hierarchy pdf prints have links to pdf pages of sub blocks 2021-12-30 19:06:22 +01:00
Stefan Frederik a36ce82161 add page title: fix missing newline 2021-12-30 17:19:11 +01:00
Stefan Frederik 11dc5458af add page title in ps/pdf prints, ps and svg skip graphs if they are hidden 2021-12-30 17:15:50 +01:00
Stefan Frederik 5707b18aba wave view: added cursors for delay/time measurements 2021-12-30 15:45:38 +01:00
Stefan Frederik acb0489fcc graphical improvements for better graph scaling 2021-12-29 06:32:02 +01:00
Stefan Frederik 8cc6315e09 graphical improvements for better graph scaling 2021-12-29 06:21:51 +01:00
Stefan Frederik d6c197d108 fix BadDrawable regression in free_rawfile(): after deleting data a draw() was called, but since this function is called also in exit handler all windows are already closed. Added digital waveforms and bussed signal display 2021-12-29 05:11:39 +01:00
Stefan Frederik a0e057a52d added typedefs on used structs, updated xschemtest with new hashes 2021-12-28 01:33:01 +01:00
Stefan Frederik 2ec66255e3 perf optimization in graph drawing 2021-12-28 00:44:59 +01:00
Stefan Frederik 5dd3f5c15d digital wave graphs, handle multiple sweep dc simulations 2021-12-27 18:42:56 +01:00
Stefan Frederik e111b2b9d6 even with multiple selected graphs apply y axis pan/zoom only on master graph. Better checks/cleanups for load/unload raw file 2021-12-27 14:12:55 +01:00
Stefan Frederik 505801c49d fix edit rect attributes crashing (due to missing param to proc text_line) 2021-12-27 05:37:56 +01:00
Stefan Frederik 547097f176 graph UI refinement and various fixes. Zoom in/out keeps value under mouse fixed 2021-12-27 05:22:19 +01:00
Stefan Frederik 7a286e5466 graph UI improvements (no require shift + mouse for global x-axis sliding) 2021-12-26 15:13:57 +01:00
Stefan Frederik 214070bb1c graph UI improvements (x-axis slider, do not force mouse motion to be inside graph after starting operation) 2021-12-26 14:57:12 +01:00
Stefan Frederik eff02f5f02 graph UI improvements (global x slider), various fixes 2021-12-26 14:35:13 +01:00
Stefan Frederik 30ce222b68 graph UI improvements (global x slider), various fixes 2021-12-26 14:33:54 +01:00
Stefan Frederik 37575e9404 allow button1 in addition to button2 for panning / zooming waveforms, add menu commands to insert graph, display/hide empty graphs, load raw file 2021-12-26 04:09:55 +01:00
Stefan Frederik 8fb4c9ee55 Inutile stimuli translator integrated: some fixes 2021-12-26 00:41:21 +01:00
Stefan Frederik 163cdd72e5 Inutile stimuli translator integrated in xschem.tcl, no more EXEC-uted as external process 2021-12-26 00:35:56 +01:00
Stefan Frederik f3526a5a08 Inutile stimuli translator integrated in xschem.tcl, no more EXEC-uted as external process 2021-12-26 00:33:57 +01:00
Stefan Frederik 554c1666b8 schematic_waves_loaded(): look for waveforms in parent hierarchies 2021-12-25 15:01:22 +01:00
Stefan Frederik f5a737159d axis zoom: updated examples 2021-12-25 14:43:26 +01:00
Stefan Frederik 842bcb0b93 implement zoom/move/full on y axis graphs 2021-12-25 13:44:14 +01:00
Stefan Frederik 1f44a960cb implement zoom/move/full on y axis graphs 2021-12-25 13:37:49 +01:00
Stefan Frederik 0d6a6c488b handle spice simulation files with multiple datasets 2021-12-25 05:15:52 +01:00
Stefan Frederik 21d723e1a2 if user specifies start, end and only one division in a graph, don`t try to do any magic, just do what user asks, even if numbers are `ugly` 2021-12-24 23:15:36 +01:00
Stefan Frederik d423545ccc fix: missing graph borders 2021-12-24 21:17:52 +01:00
Stefan Frederik 70adb61410 Better axis label placement, smooth waves move/zoom with mouse, compile option to store sim data as floats instead of doubles, option for axis scaling (p,n,u,m,k,M,G), load waveforms command is a toggle (load / free) 2021-12-24 12:17:00 +01:00
Stefan Frederik ddb4c048bd add \n to allowed separators in list of nodes to be plotted 2021-12-23 18:35:12 +01:00
Stefan Frederik c30ff852a2 fix missing check for loaded data when user tries a "full" zoom in a graph window (segfault) 2021-12-23 13:01:18 +01:00
Stefan Frederik 62e71a8bbe draw_graphs(): add flag to avoid copying secondary buffer areas to screen if called from main draw(). This makes things faster and removes an annoying "tearing" effect when moving around 2021-12-23 11:59:39 +01:00
Stefan Frederik b11955a3aa [experimental] better wave labels positioning in graphs 2021-12-23 03:43:34 +01:00
Stefan Frederik 8a0fc1c1df mouse actions (move, zoom) on waveforms 2021-12-22 18:25:15 +01:00
Stefan Frederik 673eb243e7 update test schematic 2021-12-22 14:15:43 +01:00
Stefan Frederik 7cec1d3725 allow multiple sweep variables in overlayed graphs 2021-12-22 12:59:41 +01:00
Stefan Frederik 1b24e6fcb0 [experimental] added configurable sweep parameter for x-axis 2021-12-22 12:31:26 +01:00
Stefan Frederik ab1fdce64e [experimental] added configurable sweep parameter for x-axis 2021-12-22 12:22:11 +01:00
Stefan Frederik e0cad38f17 updated xschemtest.tcl with new hashes 2021-12-22 11:11:46 +01:00
Stefan Frederik 76b537a587 [experimental] add waveform display of ngspice simulation data directly in xschem drawing area 2021-12-22 04:39:23 +01:00
Stefan Frederik 969f4ec1c7 removed some dead code (what & START) in draw.c, paste/merge of lines/polygons/arcs/lines did not correctly restore dash attributes. Boiler plate code for draw waves 2021-12-20 00:01:10 +01:00
Stefan Frederik 61e9c0e4e3 add flags member field in xRect struct for future additions 2021-12-19 20:53:52 +01:00
Stefan Frederik 382cba1fda added missing quotes on return value in abs_sym_path 2021-12-19 10:11:54 +01:00
Stefan Frederik 86ac93c369 some "box" vars changed to "rect" for consistency 2021-12-19 01:28:39 +01:00
Stefan Frederik b0af12d529 better layout of load_file_dialog widget; better handling of (strange) pathnames in abs_sym_path 2021-12-19 00:20:20 +01:00
Stefan Frederik ead63f5c39 Fix regression: in load_file_dialog make "Current file dir" button work again 2021-12-18 13:11:21 +01:00
Stefan Frederik a397d936dc if a schematic references a symbol name as "./xxx.sym" (instead of just "xxx.sym")force searching in directory of current schematic first, then in XSCHEM_LIBRARY_PATH directories. 2021-12-18 12:29:17 +01:00
Stefan Frederik e2db38c881 statement reordering for faster execution in my_round() 2021-12-17 23:56:25 +01:00
Stefan Frederik 0c9eff16d9 my_round() function instead of ROUND() macro 2021-12-17 15:40:19 +01:00
Stefan Frederik 993c3a24c2 rename xschem_simulator/ n.sym and p.sym to ntrans.sym and ptrans.sym to avoid confusion with symbols in rom8k/; place tk_messageBox above right xschem window when using multiple (single process) windows. 2021-12-17 03:29:53 +01:00
Stefan Frederik 72f365f995 fix regression in tclgetvar() not returning NULL for non existent variables (place text dialog box did not show text size) 2021-12-16 23:09:23 +01:00
Stefan Frederik fd5e6caf13 preserve line ordering regardless of awk hash implementation in tedax netlists as done for vhdl and verilog; include a couple of tedax netlist checks in xschemtest 2021-12-16 00:39:09 +01:00
Stefan Frederik ba15e21b24 preserve ordering in verilog/VHDL signal/wire/reg declarations for consistent netlist hashing/checking 2021-12-15 15:17:45 +01:00
Stefan Frederik 95ea920faf do not hash the comments containing absolute paths in xschemtest netlist check, since these vary on different systems 2021-12-14 12:40:32 +01:00
Stefan Frederik b7af31d38c fix regression in tcl execute procedure ("execute 0 prog" blocking if prog closes stdout/stderr file descriptors) 2021-12-13 01:52:18 +01:00
Stefan Frederik 875581a4fb avoid "rb" fopen in hash_file() on windows, who cares, code handles \r (or missing \r) to have consistent results 2021-12-10 15:19:24 +01:00
Stefan Frederik 5a3ea573cd more modularized xschemtest, use stdlib file functions for hash_file() 2021-12-10 13:17:21 +01:00
Stefan Frederik 5270d41d8d better hash_file function (more precise cr/lf scanning) 2021-12-10 03:05:53 +01:00
Stefan Frederik deec11851b C 32 bit hash_file accessible from tcl for faster hash calculatons 2021-12-10 01:08:31 +01:00
Stefan Frederik 9e2f3816fd xschem paste command: allow set x and y on cmdline to avoid interactive placement 2021-12-09 20:31:06 +01:00
Stefan Frederik d44c733fae find_inst_to_be_redrawn(): avoid unneeded call to int_hash_free() if no show net name option active; inst_hash_lookup(): store only pointers to instnames, avoiding strdups 2021-12-09 18:01:54 +01:00
Stefan Frederik 5b01b0c4f1 xctx->inst[].instname set (whenever changing it) directly in new_prop_string() 2021-12-09 17:25:27 +01:00
Stefan Frederik b0010322ec remove redundant assignment 2021-12-09 14:07:26 +01:00
Stefan Frederik 8eaada23f0 static function rename 2021-12-09 13:43:00 +01:00
Stefan Frederik 6458fdc5bd unsigned char cast in hash functions 2021-12-09 00:34:43 +01:00
Stefan Frederik e45e3caa84 avoid allocating 0 byte objects in hash_iterator.c, some fixes in xschem subcommands ("clear", "get lastsel", "align", "wire") 2021-12-08 02:38:56 +01:00
Stefan Frederik fa25edabec fix 3 potential (small) memory leaks 2021-12-08 00:38:19 +01:00
Stefan Frederik 9f99a31fac hash_inst_pin(): avoid reporting erc messages if for_netlist==0 2021-12-07 20:40:33 +01:00
Stefan Frederik 5a91aec3ff translate() refactoring/cleanup 2021-12-07 20:33:11 +01:00
Stefan Frederik 5503786979 translate(): recognize @@ and @# token patterns to avoid useless get_tok_value() calls 2021-12-07 19:43:57 +01:00
Stefan Frederik 1e2983483f comment out a couple of dbg lines in inner loops for performance 2021-12-07 19:15:37 +01:00
Stefan Frederik 989388e14b allow panning schematic even if dialog box displayes or xschem simulation ongoing; update example simulate_ff.sch 2021-12-07 14:07:36 +01:00
Stefan Frederik 0636b04d0e better find_inst_to_be_redrawn() usage in copy/move/delete operations 2021-12-07 12:53:13 +01:00
Stefan Frederik e3077c6f90 fix copy/move operation with flips/rotations: correctly restore object bboxes for correct drawing deletions (move) and restoration of originally selected component bboxes (copy) 2021-12-07 12:00:54 +01:00
Stefan Frederik 19f0fd3c6e optimizations in calc_drawing_bbox() (less get_tok_value() calls), optimizations in bus_hilight_hash_lookup() (less expandlabel() calls) 2021-12-07 02:18:23 +01:00
Stefan Frederik 4cd8642362 handle error conditions in tclget*var() functions 2021-12-06 02:00:58 +01:00
Stefan Frederik 31ff86557e single global array var `execute` instead of multiple execute_* arrays for `execute` process handling 2021-12-06 00:58:06 +01:00
Stefan Frederik 506d9683d5 no newline print on exit 2021-12-05 22:32:56 +01:00
Stefan Frederik de1db1e87a main.c do not spawn a child closing std file descriptors if -b option is given, just start xschem without interactive tcl shell, handle error condition in setup_tcp_gaw 2021-12-05 15:31:26 +01:00
Stefan Frederik e449543805 tclvareval() wrapper 2021-12-05 12:39:05 +01:00
Stefan Frederik 05f176045b remove propagate_hilights() from prepare_netlist_structs() (call explicitly when needed). Fix hilight_parent_pins()/propagate_hilights() in go_back() (some UNhilighted pins did not propagate to parent) 2021-12-05 01:34:19 +01:00
Stefan Frederik 9afce9efee report compile options in `xschem globals` command, more precisely calculate deleted object bboxes (recalculate at current zoom level due to text size roudings) to avoid some small leftover graphics after deletion 2021-12-04 11:23:38 +01:00
Stefan Frederik 8832830d91 implement option `-b` for `x` hot key (to open a new xschem`s process) on Windows. (Joannne) 2021-12-04 01:50:05 +01:00
Stefan Frederik e3ab569f35 fix: xctx->inst_redraw_table can not be static, must be dinamically allocated. 2021-12-04 01:45:26 +01:00
Stefan Frederik a7277acfda some more brace protected filenames in C tcl calls 2021-12-03 23:59:46 +01:00
Stefan Frederik 954979e200 brace filenames (to protect spaces) in Tcl_VarEval() calls from C as per Joanne findings. 2021-12-03 19:37:59 +01:00
Stefan Frederik 629917cfcd new find_inst_to_be_redrawn() implementation to recalculate area to be redrawn with/without show net names on symbol pins, simplified new_window() call in callback `x` command, code formatting in globals.c, added xschem get [xy]origin commands 2021-12-03 19:15:07 +01:00
Stefan Frederik 02173373cb some little optimizations, redundant code removed, better formatting in globals.c 2021-12-02 13:28:40 +01:00
Stefan Frederik cb8ffce9cf fix save() function usage, in case user cancels save 2021-12-01 17:00:01 +01:00
Stefan Frederik f466ce5ad4 better menu text 2021-12-01 12:42:40 +01:00
Stefan Frederik d98c855135 remove calls to ngspice::resetdata in C code, done in ngspice annotator when reading a new file and in xinit.c when exiting the program. Some File menu item reordering 2021-12-01 00:35:52 +01:00
Stefan Frederik 6cf6c58841 add menu command to restore all colors to default, deleting "colors" config file 2021-11-30 00:38:02 +01:00
Stefan Frederik e2197844ca fix infowindow (wrong window path) 2021-11-29 19:14:24 +01:00
Stefan Frederik 40803e47c5 Add Dismiss button to infowindow 2021-11-29 18:41:13 +01:00
Stefan Frederik 053d06c0f6 use tclgetvar for XSCHEM_TMP_DIR 2021-11-29 18:26:52 +01:00
Stefan Frederik 1c18211894 use tclgetvar for XSCHEM_TMP_DIR 2021-11-29 18:26:20 +01:00
Stefan Frederik 0ebe36bc8f avoid quitting the program for some serious but non fatal errors, add some error reporting, some documentation updates (faq.html) 2021-11-29 17:29:09 +01:00
Stefan Frederik d4fb14a0bb store server socket descriptors so they can be closed at will 2021-11-29 14:56:34 +01:00
Stefan Frederik 887c546d00 more consistent naming for some xschem subcommands, added and updated "xschem help" command (still wip) 2021-11-29 14:37:39 +01:00
Stefan Frederik fe549c0f5c readable function pointer call syntax 2021-11-29 11:52:32 +01:00
Stefan Frederik d3ef2038ed "xschem change_colors" to "xschem build_colors" in tcl command language for consistency 2021-11-29 11:27:11 +01:00
Stefan Frederik 1963669c3f xschemrc update (undo_type) 2021-11-29 04:14:35 +01:00
Stefan Frederik 2442a3dfc0 runtime menu option to set undo stack on disk or in memory 2021-11-29 02:47:37 +01:00
Stefan Frederik 03f973e203 use undo function pointers 2021-11-28 14:35:55 +01:00
Stefan Frederik 88b00fd546 add undo function pointers 2021-11-28 13:29:13 +01:00
Stefan Frederik 01b3401e43 in memory undo now saves / restores all symbol definitions, so no re-link to instances operation is needed 2021-11-28 13:16:01 +01:00
Stefan Frederik 1cbfc16cd9 better simconf help text 2021-11-27 03:49:39 +01:00
Stefan Frederik 965d2f3ec1 Restore default (delete simrc file) button in simulation configuration dialog 2021-11-27 03:37:36 +01:00
Stefan Frederik 551bbcec0c Windows does not recognize XPending, fix typo for verilog_format`s port name: g instead of f 2021-11-26 13:16:52 +01:00
Stefan Frederik f9b6389942 cosmetic changes ([xschem get version] print format) 2021-11-25 19:26:43 +01:00
Stefan Frederik 39a27e856e fix pcb_current_protection_embed.sch with up to date embedded symbols (previous had very old symbols with errors), fix pmos.sym (make pin names and verilog_format string consistent). All other schematics with embedded symbols updated with current library symbol. Some code in place for saving/restoring symbols in in-memory undo. This code is not compiled so does not affect xschem operation at all. 2021-11-25 04:00:01 +01:00
Stefan Frederik f67ec47f82 added some comments, commented out xctx->prep_* = 0 in save_schematic() 2021-11-24 13:52:59 +01:00
Stefan Frederik 9d38cb3823 removed debug messages 2021-11-24 04:19:32 +01:00
Stefan Frederik e7aa7b9d04 fix netlisting errors on schematics with embedded symbols. When purging unused symbols schematic was re-linked with library symbols instead of embedded symbols, leading to errors if the symbols differ. Fixed popping schematic from undo stack instead of calling link_symbols_to_instances() 2021-11-24 03:47:04 +01:00
Stefan Frederik 364c2f1f3a moved functions containing X calls: now only callback.c, xinit.c and draw.c contain xorg-specific function calls. 2021-11-24 01:07:33 +01:00
Stefan Frederik e77b72df9c old_winpath[] removed from globals, put as static string into callback(), fix ngspice::annotate netlist_dir fetching. 2021-11-23 23:20:10 +01:00
Stefan Frederik 9f33230f44 removed unneeded tcl global "simulate_bg" 2021-11-23 17:16:21 +01:00
Stefan Frederik 78934d363f removed duplicate netlist_dir global var in C code, use tcl netlist_dir variable, some widgets now display on top of current schematic window instead of xschem`s master window (use [xschem get topwindow] instead of ".") 2021-11-23 17:02:36 +01:00
Stefan Frederik d03147dce1 more consistent naming convention for hash table functions 2021-11-23 15:03:51 +01:00
Stefan Frederik d6d3ab502c some comments in the code, avoid potential memory leak in netlisting code 2021-11-23 01:14:49 +01:00
Stefan Frederik 88d64136a6 fix remove_symbols() not first deleting instance .node[] fields on instances 2021-11-22 21:47:13 +01:00
Stefan Frederik 14e94eb615 remove_symbols() and remove_symbol(): some symbol fields were not correctly cleared when removing all symbols. Ensure inst[].name and sym[].name are not strdup`ed as NULLs 2021-11-22 12:42:33 +01:00
Stefan Frederik 4c17e2251e undriven net warning has higher priority over open net 2021-11-22 01:32:49 +01:00
Stefan Frederik 9bca5b3f5b fix descend_symbol regression due to previous commit 2021-11-22 00:42:53 +01:00
Stefan Frederik 1c37e7eeee when descending from a modified schematic with highlight nets and not saving schematic before descending, clear highlights to avoid inconsistent state when returning back. save() and save_schematic() have more decent return values 2021-11-22 00:26:49 +01:00
Stefan Frederik fddd3f84fb avoid force-saving changed schematic before doing netlist (use push/pop undo instead of load_schematic() to restore circuit after traversing hierarchy) 2021-11-21 23:04:48 +01:00
Stefan Frederik 7f9ee9fc2a add "xschem check_symbols" and "xschem reload_symbols" for future checking of symbols that are newer wrt to schematic. set mtime of newly created schematic (that does not exist on disk) to current time. Add verilog attributes to devices/pmos4.sym 2021-11-21 12:28:36 +01:00
Stefan Frederik 608912078f fix "untitled" window title setting 2021-11-21 02:08:27 +01:00
Stefan Frederik 4b228737f4 fix long standing typo in file selector right listbox (-selectmode browse) 2021-11-21 01:56:54 +01:00
Stefan Frederik 10114ec838 add missing braces in update recent file submenu, fix file selector improperly setting main window title, added logic/test_mos_verilog.sch depletion mode verilog example 2021-11-20 23:44:19 +01:00
Stefan Frederik e4f4c75e9a fix stat missing arg 2021-11-20 13:47:25 +01:00
Stefan Frederik a495ada2ed When saving a schematic issue a warning if disk file has been changed since opening 2021-11-20 13:33:40 +01:00
Stefan Frederik 9ceb25716e auditing of static in-function variables, remove unnecessary, add notes for allowed ones 2021-11-20 02:37:56 +01:00
Stefan Frederik 83746efbe9 some other static data eliminated from functions (edit symbol_property), in_memory undo structure moved into schematic context 2021-11-19 23:22:54 +01:00
Stefan Frederik 4cb0a12d64 resolve a race condition between Configure event delivery, window creation, and wm hints setting for icon 2021-11-18 03:06:22 +01:00
Stefan Frederik bbba3b9c02 check for max number of subwindows, better way to set icons for windows 2021-11-18 03:01:28 +01:00
Stefan Frederik d1a922643d Bunch of function static variables moved into xctx struct for safety 2021-11-18 01:55:01 +01:00
Stefan Frederik eecc81437c flat_netlist and only_probes moved into xctx struct 2021-11-17 23:12:17 +01:00
Stefan Frederik daf90b0645 fix icon pixmap on child schematic windows 2021-11-17 22:15:36 +01:00
Stefan Frederik dcae02e8c4 remove dbg messages 2021-11-17 17:56:32 +01:00
Stefan Frederik e27c5dc21a separate pack_widgets and set_bindings 2021-11-17 17:53:18 +01:00
Stefan Frederik 1ce2d71e95 add File menu to open new recent schematic windows 2021-11-17 16:02:29 +01:00
Stefan Frederik 043e83e18f fix correct drawing of new schematic window if schematic not found 2021-11-17 13:32:32 +01:00
Stefan Frederik 7fcda987c0 proc new_window add abs_sym_path so full path is resolved if necessary 2021-11-17 11:47:12 +01:00
Stefan Frederik 59fccdee14 proc new_window remove file normalize as it messes up symlinks 2021-11-17 11:34:58 +01:00
Stefan Frederik ed87f28b23 fix typo in proc edit_vi_prop 2021-11-17 11:08:25 +01:00
Stefan Frederik 2604db125a fix typo in proc edit_vi_prop 2021-11-17 11:01:44 +01:00
Stefan Frederik f7fa39a975 track_memory.awk: option to disable source line display 2021-11-17 04:06:36 +01:00
Stefan Frederik dfc8031786 add File menu to open another schematic window in same xschem process 2021-11-17 03:49:32 +01:00
Stefan Frederik 937261807b fix setting snap and grid values in statusbar 2021-11-17 01:30:37 +01:00
Stefan Frederik bd626427fd fix status bar info correctly swicthing when focusing multiple xschem child windows; multiple schematic window handling within one xschem instance is now working 2021-11-17 01:12:55 +01:00
Stefan Frederik ad05513838 some parameter checks in xschem commands, global var removal in simulation help window - No use for production yet 2021-11-16 22:28:10 +01:00
Stefan Frederik 290fc3c793 fix missing escaping of "[" and "]" in tcl command bound to simulate button. Thanks to Mayank Gupta for pointing out the issue 2021-11-14 11:49:12 +01:00
Stefan Frederik dfb4821ef8 2 more global window declarations removed 2021-11-10 14:11:27 +01:00
Stefan Frederik 59198f2dda removed a whole bunch of global UI-related variables and tcl/C redundancies 2021-11-10 13:43:08 +01:00
Stefan Frederik c3c1b39cb5 (2) full widget creation for xschem new windows, code cleanup, removed old stuff 2021-11-09 19:05:56 +01:00
Stefan Frederik c6a6d1b1dc Motion and Enter events regain focus even it toolbar is displayed and user pressed "Tab" to focus a button; toolbar button focus ordering matches display ordering 2021-11-08 16:27:07 +01:00
Stefan Schippers b1f7a7a277 update bindkey description ("\" fullscreen) 2021-11-07 18:41:30 +01:00
Stefan Frederik fce2c9a292 more consistent ctx menu label texts 2021-11-07 12:57:02 +01:00
Stefan Frederik 05b8447846 better copy/paste button images 2021-11-07 12:54:15 +01:00
Stefan Frederik b175050843 gif toolbar images now with transparent background 2021-11-07 12:07:13 +01:00
Stefan Frederik 9fd56b8f91 fix waves toolbar image 2021-11-07 02:24:33 +01:00
Stefan Frederik 1b8920f3f0 more comments in resources.tcl 2021-11-07 01:32:03 +01:00
Stefan Frederik bb8ccce4d1 comments in resources.tcl, license info 2021-11-07 01:26:31 +01:00
Stefan Frederik f96ff46afc better ctx menu font on old 8.4 tcl-tk 2021-11-07 01:12:04 +01:00
Stefan Frederik 9e10a67fd1 yet another 2 pngs converted to gifs 2021-11-07 01:04:14 +01:00
Stefan Frederik e3b440f237 toolbar image data converted to gif89a. since older tcl-tk dont support png. 2021-11-07 00:59:19 +01:00
Stefan Frederik b62f8b57f7 removed useless assignments xctx->m[xy]_save = m[xy] in contexts where its unnecessary 2021-11-06 03:34:14 +01:00
Stefan Frederik 7985e8d22c fix some positioning glithes in UI when placing text via bindkey or menu or context menu 2021-11-06 03:24:45 +01:00
Stefan Frederik 173450edde fix wrong toolbar "Push schematic" action 2021-11-06 02:09:32 +01:00
Stefan Frederik 7efc446dae Escape key (instead of Simulation menu entry, now removed) stops ongoing xschem internal simulator engine if running 2021-11-04 23:52:24 +01:00
Stefan Frederik 4908152d99 break.awk: chop trailing white space on lines 2021-11-04 23:31:15 +01:00
Stefan Frederik 8281c67aed fix some UI glitches (place text/symbol and aborting operation during move will now delete placed objects) 2021-11-04 15:08:54 +01:00
Stefan Frederik 7490c80a9c fix UI bug when placing text and immediately deleting it (did not delete) 2021-11-04 13:30:50 +01:00
Stefan Frederik 966ebdc26e fix deletion of ctxmenu if user keeps right button pressed and exits window, icons in ctxmenu 2021-11-04 12:57:41 +01:00
Stefan Frederik fdf198d71e remove commented toolbar items in list 2021-11-04 09:30:43 +01:00
Stefan Frederik f5f6b681e2 removed rarely used toolbar buttons, added Abort context menu command 2021-11-04 02:07:41 +01:00
Stefan Frederik aadc37c2a8 More consistent context menu texts 2021-11-04 01:50:18 +01:00
Stefan Frederik 6ab004ec4b More consistent context menu texts 2021-11-04 01:43:43 +01:00
Stefan Frederik b720423eb3 comment typos 2021-11-04 01:23:40 +01:00
Stefan Frederik e85559efec context menu added in drawing area (right mouse button) 2021-11-04 01:13:44 +01:00
Stefan Frederik 5482cd0c2a redesign search toolbar button 2021-11-03 17:16:57 +01:00
Stefan Frederik c74e7fdb40 redesign of some toolbar buttons 2021-11-03 17:10:13 +01:00
Stefan Frederik 4dcb2c61a1 redesign of some toolbar buttons 2021-11-03 17:02:52 +01:00
Stefan Frederik 3ec3add6c0 redundant code elimination in new_schematic(), fixed a memory leak in update_symbol() 2021-11-03 00:31:08 +01:00
Stefan Frederik 6dbd952910 code cleanup in new_schematic(), error checks to make new window creation safe and simpler (proc new_window what path filename) 2021-11-02 02:23:45 +01:00
Stefan Frederik afa8a2d2d7 simpler yet better hash function 2021-10-31 23:38:52 +01:00
Stefan Frederik c8f6b66fdd new string hash function 2021-10-31 22:34:31 +01:00
Stefan Frederik 52c508423e eliminated duplicated string hash functions 2021-10-31 13:35:06 +01:00
Stefan Frederik 1fa2486e44 remove dbg messages in propagate_logic() 2021-10-30 21:33:12 +02:00
Stefan Frederik ebf0f0cf95 fixed simulation engine, no more bidirectional devices allowed 2021-10-30 03:12:06 +02:00
Stefan Frederik 8dbe8b7771 simplified simdata struct 2021-10-28 10:36:23 +02:00
Stefan Frederik e7d28947c1 removed redundant "valid" member in simdata struct 2021-10-27 22:56:33 +02:00
Stefan Frederik 45a567a405 fix compiler warnings (unused return value check on some function calls, missing %s on non literal string printf args) 2021-10-27 10:12:16 +02:00
Stefan Frederik fe5d2efc59 fix false positive in double-free detection, reported by updated track_memory.awk; fix missing free on allocated string 2021-10-26 01:18:16 +02:00
Stefan Frederik 04e670b3cf fine tuning of previous commit 2021-10-26 00:04:13 +02:00
Stefan Frederik b81325ea00 code cleanup, comments, more globals in Xctx context structure 2021-10-25 17:05:43 +02:00
Stefan Frederik 19f8939347 scconfig test for dup2() availability 2021-10-25 01:53:00 +02:00
Stefan Frederik 3f9e255a90 added symbols xnor2_1.sym, xor3_1.sym, xor4_1.sym in xschem_library/xschem_simulator 2021-10-24 01:41:01 +02:00
Stefan Frederik 0070498eb4 avoid printing "**** end_element" in spice netlist if current instance is skipped (no format or spice_ignore set); spice_probe_vdiff.sym will print .save v(n1) v(n2) instead of .save v(n1,n2) since this is how ngspice saves nodes (no differential voltage is saved) 2021-10-21 00:00:54 +02:00
Stefan Frederik 6223698b0b eliminated usage of flatten_savenodes.awk in spice netlist generation as hierarchical node saving (from inside subcircuits) is now a working feature of ngspice. 2021-10-20 01:50:26 +02:00
Stefan Frederik 18e78a754c token prefix for LCC embedded schematics changed from $ to %. LCC schematics saved with embedded symbols should need to be edited (replace $ with %) 2021-10-17 22:31:07 +02:00
Stefan Frederik 95c0ad1572 better identify commented pieces of code 2021-10-17 22:05:55 +02:00
Stefan Frederik a2779fab3c misc fixes in gschemtoxschem.awk 2021-10-14 02:35:43 +02:00
Stefan Frederik 2f47dfaaab updated gschem conversions, add tutorial documentation about geda translation to xschem 2021-10-12 18:03:39 +02:00
Stefan Frederik 0791a99165 updated geda translation, some additional allowed syntax in parselabel.l 2021-10-12 15:03:23 +02:00
Stefan Frederik 41419350ac gschemtoxschem.awk: make backslash insertion in gsub commands portable across awk implementations 2021-10-12 11:53:13 +02:00
Stefan Frederik fa3be90aa3 added comments in gschemtoxschem.awk converter; recognize "clk" pintype pin direction; parselabel.l: do not complain on U? refdes labels. 2021-10-12 10:52:48 +02:00
Stefan Frederik 04eee411f3 better implementation of prevous commit 2021-10-10 00:44:01 +02:00
Stefan Frederik 86dcb4cafa Do the update (process pending X events) only if a filename is given on cmdline, to avoid losing an Expose event if no file given 2021-10-09 13:30:44 +02:00
Stefan Frederik 4f8120cd2d add "update" after binding creation in xinit.c, to avoid incomplete initialization of event binding if xschem called with non-existent file 2021-10-09 10:25:24 +02:00
Stefan Frederik 205bda387a Add File menu commands to open empty schematic or symbol in new window 2021-10-09 00:41:39 +02:00
Stefan Frederik 813f80e955 renamed --batch option to --detach as it is more appropriate. Short option -b remains unchanged 2021-10-05 22:24:38 +02:00
Stefan Frederik 945368db9c xschem simulation doc updates 2021-09-27 16:41:32 +02:00
Stefan Frederik e8e56aa025 mux simulation operator: set "X" instead of "Z" if select not "0" or "1" 2021-09-27 10:56:23 +02:00
Stefan Frederik 42de7dcf1f comments 2021-09-27 10:50:03 +02:00
Stefan Frederik 22715bf505 change mux behavior to avoid simulation deadlocks 2021-09-27 03:01:59 +02:00
Stefan Frederik 72b356df3c some simulation fixes in eval_logic_expr() 2021-09-27 02:47:23 +02:00
Stefan Frederik f00b27d97d interrupting xschem digital simulation with "Simulation->Forced stop tcl scripts" was leaving "tclstop" variable set, causing following simulation to produce erroneousr results. Any new sim resets the flag to 0. 2021-09-25 16:16:30 +02:00
Stefan Frederik fbe18fe279 some refactoring/cleanups in move.c 2021-09-24 10:20:23 +02:00
Stefan Frederik 3573fcdafb redraw / update all nodes that might change in copy/move operations if net_name=true 2021-09-24 00:39:56 +02:00
Stefan Frederik 6210f60232 fix erroneous removal of get_tok_size initialization to 0 in get_tok_value() (thanks to Joanne Low) 2021-09-23 21:06:14 +02:00
Stefan Frederik 2d054898f0 better remove rubber drawing garbage after copy/move 2021-09-23 11:47:02 +02:00
Stefan Frederik efef711d32 reverted last accidental change 2021-09-23 11:19:28 +02:00
Stefan Frederik 3ebb9566ec removed drawing redundancies in move/copy operations 2021-09-23 11:15:21 +02:00
Stefan Frederik 44f27ce79f removed drawing redundancies in move/copy operations 2021-09-23 11:13:56 +02:00
Stefan Frederik 5113b5727c fix garbage on screen when copying components that dinamically change their bbox after copy (example: net annotator ngspice_probe symbols, same fix as already done for move operation). 2021-09-22 23:33:50 +02:00
Stefan Frederik 08b5a3c87a fix tcleval(...) evaluation in spice netlist. it was disabled 2021-09-22 09:49:59 +02:00
Stefan Frederik 83c3814aa1 brace all remaining tcl "expr"essions for performance and security 2021-09-21 10:31:08 +02:00
Stefan Frederik 240cbfa935 do not call tcl_hook2() in "xschem get_tok" calls in xschem.tcl 2021-09-20 18:43:29 +02:00
Stefan Frederik f9ef05eabe execute tcleval(...) wrapped attributes in global tcl context, fix a bug (chopped newlines) in tclpropeval2 tcl proc 2021-09-20 12:08:24 +02:00
Stefan Frederik 46f5f9356a fix print_spice_element() for correct netlisting when tcleval(...) is used in some component attributes 2021-09-20 02:36:25 +02:00
Stefan Frederik 434e0f012b Any attribute embedded in a tcleval(....) construct will be passed by get_tok_value() down to tcl for evaluation. This generalizes what was done for the "schematic" attribute in 20210617 2021-09-20 00:55:33 +02:00
Stefan Frederik 090cc5052e added xschem X-probe to bespice (from Analog flavor) waveform viewer. Works with eval version too. 2021-09-19 00:21:20 +02:00
Stefan Frederik ccbd77b9d6 edit text label 2021-09-16 18:19:24 +02:00
Stefan Frederik 8e4a6250ac added spice waveform template configuration for Analog Flavor`s bespice wave (bspwave) 2021-09-16 18:07:12 +02:00
Stefan Frederik f574539e21 bump version to 3.0.0; prepare for 3.0.0 release 2021-09-11 07:53:11 +02:00
Stefan Frederik 113f25a19b commented empty assignments of xschem_libs and noprint_libs in xschemrc since by default they are empty anyway 2021-09-02 22:42:16 +02:00
Stefan Frederik 771123550e added "place=header" (in addition to "place=end" attribuite value) to print code block as a header in spice netlists 2021-09-02 10:24:30 +02:00
Stefan Frederik 5abe48f24e fix compiler warnings about unitialized variables (they arent, but ...) 2021-08-19 09:08:43 +02:00
Stefan Frederik c22039105f update license info (2) 2021-07-27 16:53:08 +02:00
Stefan Frederik 00311e7ff1 update license info 2021-07-27 16:42:54 +02:00
Stefan Frederik 25d7d323a4 force ERC info window showing in case of critical errors during netlist (unconnected nodes, shorted nodes, pin mismatch between sch and sym and similar) 2021-07-14 23:32:59 +02:00
Stefan Frederik e5208e2d99 refactoring: "plotfile[]" global moved into xctx struct 2021-07-14 01:43:29 +02:00
Stefan Frederik df0fc572f3 Talk To Gaw (ttg) improvement: use "sel" instead of "p0" for panel selection, meaning "selected panel (or 1st panel if no selected)" for waveform display 2021-07-03 08:34:38 +02:00
Stefan Frederik 03a97df404 correctly redraw schematic at end of hierarchical pdf export (full zoom and draw) 2021-06-21 19:11:36 +02:00
Stefan Frederik 9cdfad3abb do a tcl evaluation of the "schematic" attribute of a symbol if the attribute is within a tcleval(...) expression. This way tcl variables/expressions can be used to determine the schematic to descend into when traversing/netlisting. example: schematic=tcleval(poweramp_${::mode}.sch). 2021-06-17 00:25:39 +02:00
Stefan Frederik 242523cb9f typo fix 2021-06-16 07:15:31 +02:00
Stefan Frederik 36bc95ef7f add sample of to_pdf definition in xschemrc with -dAutoRotatePages=/None option to ps2pdf 2021-06-15 09:42:33 +02:00
Stefan Frederik 04d72db05f add description of xschem_libs and noprint_libs in xschemrc 2021-06-15 08:05:43 +02:00
Stefan Frederik b9f4c7aed8 remove debug message 2021-06-15 01:23:17 +02:00
Stefan Frederik e16e54d851 new list variable "noprint_libs" to specify patterns of cells NOT to print in hierarchical export. "xschem_libs" does the same thing for netlisting. 2021-06-15 01:15:32 +02:00
Stefan Frederik 6bc66fe0e7 netlist/print export: items contained in xschem_libs are matched as regular expression patterns 2021-06-14 08:42:19 +02:00
Stefan Frederik f251918a0e fix usage of "xschem_libs", list of libraries/schematics NOT to netlist / export 2021-06-14 00:35:20 +02:00
Stefan Frederik 5880e23f94 added hierarchical ps/pdf export (File menu) 2021-06-13 23:55:17 +02:00
Stefan Frederik dfef332fb5 Replace *.ipin/*.opin/*.iopin info lines with *.PININFO.... if LVS netlist is selected. Use absolute path of symbols in check_lib function. Make PNG export work if destination path contains spaces. 2021-06-12 00:54:09 +02:00
Stefan Frederik 88456ca382 add draw() at end of make_schematic_symbol_from_sel() to update schematic with generated lcc symbol 2021-06-07 00:15:00 +02:00
Stefan Frederik ddaa431144 make_sym_lcc.awk: declare "value" as local variable inside process_box_line() to avoid clashes with global "value" 2021-06-05 08:58:38 +02:00
Stefan Frederik c1909334cb fix typos in debug messages 2021-05-31 07:39:23 +02:00
Stefan Frederik a1077329d8 -m declare local "a" variable in make_sym_lcc.awk/endfile() 2021-05-29 09:46:59 +02:00
Stefan Frederik bda3d9d426 Added new feature "Make schematic and symbol from selected components" with command "xschem make_sch_from_sel" and function make_schematic(..)
added proc make_symbol_lcc and make_symbol_lcc.awk
sch and sym components to specially process dash in prop_ptr.
2021-05-29 00:45:01 +02:00
Stefan Frederik 6929cc896e use "-b" option when spawning new xschem windows, instead of redirecting i/o to /dev/null 2021-05-21 10:36:50 +02:00
Stefan Frederik fd6e5a6015 if bussed symbol ports are unconnected generate array of unconnected nets to match port multiplicity 2021-05-11 11:16:13 +02:00
Stefan Frederik ce5d9e40a6 pdf and png export: handle filenames with spaces in output filters 2021-04-16 16:27:32 +02:00
Stefan Frederik 99b0ab2ee2 if an XSCHEM_LIBRARY_PATH item contains "../" somewhere in the directory path apply [file normalize ... ] to resolve the ../../path/ path to an absolute location. 2021-04-16 13:31:20 +02:00
Stefan Frederik 7d4c208027 Save file dialog: added delete file/dir button 2021-03-18 17:16:46 +01:00
Stefan Frederik 447fca1b66 Save file dialog: added delete file/dir button 2021-03-18 17:13:36 +01:00
Stefan Frederik c5adb8a312 export images: seed text box with filename taking current schematic name; mkdir option in file / save dialog box; search dialog box: if token not found just repeat 2021-03-18 16:28:09 +01:00
Stefan Frederik ba31530e87 fix wrong displayed menu accelerator in Properties->View 2021-03-17 00:52:33 +01:00
Stefan Frederik 500feade8d Joanne fixes for potential crash in align_sch_pins_with_sym() if there is a sym/sch pin number mismatch. Moved box declaration to beginning of scope block for C89 compatibility 2021-03-07 00:15:16 +01:00
Stefan Frederik 0d3ebf7da9 add simulation menu option to create simulation/ dir under current schematic dir (local_netlist_dir) 2021-02-14 23:18:25 +01:00
Stefan Frederik df4aa83b01 fix "load most recent file" if file contains spaces. better handling of missing editor 2021-02-14 15:04:14 +01:00
Stefan Frederik 9825349f0d report error if editor not found while opening/editing with editor (netlist, stimuli file attributes) (xschemrc editor variable) 2021-02-14 13:05:11 +01:00
Stefan Frederik 9828c132ad better xschem.help formatting 2021-02-12 18:03:30 +01:00
Stefan Frederik fd561a9101 add as comments in netlist absolute paths for .sch and .sym of all expanded subcircuits 2021-02-09 23:04:26 +01:00
Stefan Frederik 238c9f592d fix -N option for output netlist filename 2021-02-09 17:19:37 +01:00
Stefan Frederik b7686bfe5c ngspice annotator: avoid adding "x" to node path names if not in spice netlist mode 2021-02-08 02:15:15 +01:00
Stefan Frederik 3d5e859766 ngspice_annotator: implicitly add "x" to subcircuit instance names that do not begin with "x" or "X" 2021-02-08 01:57:37 +01:00
Stefan Frederik 906dc4212e windows png/pdf export 2021-01-28 23:09:37 +01:00
Stefan Frederik 7bdc33d8c1 dont break .write in addition to .include lines 2021-01-24 04:23:06 +01:00
Stefan Frederik 1c19976ff5 dont break .inc in addition to .include lines 2021-01-24 04:19:52 +01:00
Stefan Frederik ac99227365 fix a bug when pasting / ctrl-v into an empty schematic (instances not selected for moving) 2021-01-22 01:03:16 +01:00
Stefan Frederik 4fd65005a1 new_wire(): update connecting bubbles when inserting new wires and no one is highlighted 2021-01-19 13:32:45 +01:00
Stefan Frederik e25f8c308a debug messages 2021-01-17 18:06:02 +01:00
Stefan Frederik 34a664e62f Fix: set_replace_key_binding was not working due to missing global array declaration. 2021-01-17 18:01:19 +01:00
Stefan Frederik 934e16ab87 uniquify __UNCONNECTED_NODE__ by appending a unique number to avoid shorting multiple missing connecting nodes 2021-01-14 18:12:02 +01:00
Stefan Frederik e332008fa8 removed/updated obsolete keybinding descriptions, removed status check on Delete key events 2021-01-13 13:44:57 +01:00
Stefan Frederik afef3e059f better handle simulation interruption 2021-01-12 22:07:27 +01:00
Stefan Frederik 6bb6553ea6 add simulation driver in switch_level_sim.sch 2021-01-12 18:35:19 +01:00
Stefan Frederik 7efc069117 fix regression in merge_polygon() after adding fscanf validity checks 2021-01-12 16:14:43 +01:00
Stefan Frederik f1b3a2d3b1 sample schematic updates 2021-01-12 03:07:20 +01:00
Stefan Frederik dddaae5099 removed redundant update_conn_cues() in some graphic operations; lower priority mux operator for logic sim, Dont change logic value added ("U"), ability to simulate bidirectional switches and simple logic MOS transistor networks. added sample circuits. 2021-01-12 00:47:56 +01:00
Stefan Frederik 50028baa9f added Hi-Z in logic values 2021-01-11 19:31:47 +01:00
Stefan Frederik 990647f4fa check all fscanf return codes, for better broken file handling and to eliminate utterly-smart-compiler warnings ons some platforms 2021-01-10 16:11:34 +01:00
Stefan Frederik cea1069656 add "mux", "tristate" functions to logic expressions 2021-01-10 12:53:10 +01:00
Stefan Frederik 2063b42613 fixed a hypotetical integer overflow issue, do increment and modulo of hilight_color , remove some spaghetti code (use propagate_hilights() ) 2021-01-08 21:25:11 +01:00
Stefan Frederik d9bfbff26f move_objects(): clear lab_show.sym symbols if nets get unhilight after wire deletion 2021-01-08 05:39:43 +01:00
Stefan Frederik db4b372719 delete(): clear lab_show.sym symbols if nets get unhilight after wire deletion 2021-01-08 05:26:37 +01:00
Stefan Frederik a7831ce972 some fixes regarding restore of areas when hilights are present, move_objects and copy_objects(): ELEMENT move/copy out of cadlayer loop. 2021-01-08 03:09:29 +01:00
Stefan Frederik c806289bee almost eliminated draw_hilight_net(1); draw() takes care of it faster 2021-01-07 18:46:39 +01:00
Stefan Frederik acb1c28921 find_inst_to_be_redrawn() fix speed issue when auto-net name showing is enabled: evaluate out of any operation loop, using hash table of changed nodes 2021-01-07 16:35:57 +01:00
Stefan Frederik 5cc1f04588 move.c: removed redundant drawing, now all areas are restored from pixmap by draw(). Postscript print: addition of (limited) unicode characters (0xC2 and 0xC3 2-byte sets are recoded to fit into the 256 slot postscript core font dictionaries). When editing multiple text objects with "preserve unchanged attrs" set do not change individual text dimensions. 2021-01-07 04:33:19 +01:00
Stefan Frederik f0256fce90 added draw() im move.c 2021-01-06 13:50:31 +01:00
Stefan Frederik c2b1edd2ab typo 2021-01-06 13:48:34 +01:00
Stefan Frederik 78b348c206 typo 2021-01-06 13:32:05 +01:00
Stefan Frederik fa2c55ba16 correctly unhilight instances after changing net labels 2021-01-06 13:29:14 +01:00
Stefan Frederik 7fc5b4cf1a various fixes for corner cases where changing labels of hilight nets (update inst[].color), update symbol bboxes when toggling show_pin_net_names 2021-01-06 05:47:05 +01:00
Stefan Frederik b25bd1d06d saving to file made 4x faster, this implies less latency due to undo buffer savings on freaking big schematics. 2021-01-06 03:01:14 +01:00
Stefan Frederik d64c8abb40 add -pg also in LDFLAGS if --profile is requested; add little more margin in ps page exports 2021-01-06 00:12:04 +01:00
Stefan Frederik 63f266c905 add sample file for custom menu additions 2021-01-05 15:55:12 +01:00
Stefan Frederik 229241c4a4 fix uncommented line (xschem start window) in xschemrc and link in doc main html page 2021-01-05 03:53:55 +01:00
Stefan Frederik ef1f297290 more flexibility in constrained move operations (draw wires, lines, copy/move), pressing h/v again toggles constrained / unsonstrained move 2021-01-05 01:24:45 +01:00
Stefan Frederik 8eb2147b18 removed obsoleted commands (shift/ctrl Del) 2021-01-04 18:21:29 +01:00
Stefan Frederik ce7f1d7dbf added rotate operator in logic function description 2021-01-04 17:24:57 +01:00
Stefan Frederik 2e0aa85408 more comments in sample xschemrc 2021-01-04 15:42:38 +01:00
Stefan Frederik 6cac6f2291 cleanups in sample xschemrc comments 2021-01-04 15:19:08 +01:00
Stefan Frederik 89f32313c3 doc updates; only hilight connected instances (when doing a net highlight) if symbol (or instance) has highlight=true attribute set. 2021-01-03 17:34:08 +01:00
Stefan Frederik b272080637 bind select "connected wires" to alt/ctrl-right button click 2021-01-03 12:37:15 +01:00
Stefan Frederik b63d3bec09 finalizing "select nets up to junctions" 2021-01-03 01:26:54 +01:00
Stefan Frederik 65fc659129 prepare(3) for delete connection implementation 2021-01-03 00:08:43 +01:00
Stefan Frederik 61fcefa987 prepare for delete connection implementation 2021-01-03 00:06:41 +01:00
Stefan Frederik cf5813970c prepare for delete connection implementation 2021-01-02 23:42:22 +01:00
Stefan Frederik 044892a7b3 documentation updates 2021-01-02 22:18:46 +01:00
Stefan Frederik cc993bfe44 added in the menu the (undocumented) "propagate-highlight" function (propagate through conductive elements) 2021-01-02 20:33:34 +01:00
Stefan Frederik 1fe6508704 ngspice_probe type set from "probe" to "ngprobe" to avoid clashes 2021-01-02 19:44:01 +01:00
Stefan Frederik b76dcb0d95 moved couple of selection functions from hilight.c to select.c 2021-01-02 19:28:51 +01:00
Stefan Frederik d6b9740c4b specify state==0 (no modifiers) for Delete keypress events 2021-01-02 19:15:59 +01:00
Stefan Frederik 3528634124 Add Shift-Delete command that selects all nets/labels/probes physically attached to current selected wire segment/label/pin/probe 2021-01-02 18:56:42 +01:00
Stefan Frederik 46e986cc62 added "auto join/trim wires" menu option since now the trim operation is doing fast even on big designs 2021-01-02 03:24:26 +01:00
Stefan Frederik 6c98d34c65 make in_memory_undo work again (some variable changes missing after code refactoring) 2021-01-02 02:05:13 +01:00
Stefan Frederik 94cd0d0c7d hash_hi() made faster by caching sch_path_hash[] 2021-01-02 01:55:01 +01:00
Stefan Frederik a3d2b0c162 optimized bus_hilight_lookup() in case of non bussed nets (avoid expandlabel) 2021-01-01 21:43:08 +01:00
Stefan Frederik 304f7eee08 removed code duplication in logic_set() 2021-01-01 21:08:02 +01:00
Stefan Frederik 5f48a0ffe9 some comments in hilight routines 2021-01-01 16:32:50 +01:00
Stefan Frederik ec8eb99388 code cleanups, eliminated dead code 2021-01-01 15:43:27 +01:00
Stefan Frederik 8cd8542299 code cleanups, eliminated dead code 2021-01-01 15:25:30 +01:00
Stefan Frederik b6b6bb4f27 Fix: add symbol to space-hash in place_symbol() must be done before invoking symbol_bbox(); optimized eval_logic_expr() 2021-01-01 01:10:43 +01:00
Stefan Frederik a5c4bf8aae adjust comments 2020-12-31 18:06:54 +01:00
Stefan Frederik f18125a943 fix debug message potentially causing a crash in copy operations 2020-12-31 04:46:59 +01:00
Stefan Frederik 14d6cdc548 debug message on unconnected output in sims 2020-12-31 04:19:08 +01:00
Stefan Frederik c57b8f41ac unused data removed 2020-12-31 03:19:09 +01:00
Stefan Frederik a9d7d93e40 caching simulation data into "simdata" struct for performance 2020-12-31 03:08:24 +01:00
Stefan Frederik 14ead18ea4 "propagate_to" attribute for pins renamed to "goto" 2020-12-30 21:26:58 +01:00
Stefan Frederik c6bb28332e small perf. optimization in propagate_logic() 2020-12-30 02:21:46 +01:00
Stefan Frederik 92ba91042f fixes and comments in annotation schematic examples 2020-12-29 23:17:00 +01:00
Stefan Frederik 8cb3172f42 remove dbg msg 2020-12-29 15:42:45 +01:00
Stefan Frederik abce6ac29c fix make_sym.awk duplicating name= attribute in generated symbol 2020-12-29 15:41:15 +01:00
Stefan Frederik 7ba3001066 fix make_sym.awk duplicating name= attribute in generated symbol 2020-12-29 14:14:32 +01:00
Stefan Frederik ebaa2d932b redraw wire/line/rect/arc/poly rubbers after changing zoom/panning; do not wait for Motion events 2020-12-29 03:45:12 +01:00
Stefan Frederik 921885d654 make lookup of logic attributes faster in symbol examples 2020-12-29 00:14:23 +01:00
Stefan Frederik 17d8db59ff num parameter to logic_set() to perform "num" toggling operations 2020-12-28 20:20:45 +01:00
Stefan Frederik 78da56aec5 added oldvalue in hilight hash table to track differences 2020-12-28 15:50:00 +01:00
Stefan Frederik 1773a2e8d2 Some more global state into Xctx 2020-12-28 14:01:03 +01:00
Stefan Frederik bcf8986314 Some more global state into Xctx 2020-12-28 13:44:10 +01:00
Stefan Frederik 4687133b5f fix unfreed pointer in get_logic_value() 2020-12-28 12:29:57 +01:00
Stefan Frederik 47ed76374e fix value for "non hilight condition" on instance .color field as small negatives are used for simulation 2020-12-28 04:47:26 +01:00
Stefan Frederik 41d9e17527 option for transparent background in svg export; added ngspice backannotation tutorial 2020-12-28 02:52:44 +01:00
Stefan Frederik 9e9cac0516 remember last directory in export png/svg/pdf/ps, added missing symbols 2020-12-27 22:59:15 +01:00
Stefan Frederik 5917cd9717 added flip-flop simulation capabilities. added examples: merry xmas greeter and 7 segment display driver and counter. 2020-12-27 19:20:24 +01:00
Stefan Frederik 625b378bdd comments in the code 2020-12-27 02:04:42 +01:00
Stefan Frederik 5295a6281c fix a regression in sort_labels.awk after moving tmpfile to /tmp; added oldvalue (for simulation) in hilight hash table 2020-12-26 23:53:26 +01:00
Stefan Frederik 40eaefbb82 removed logicx() obsoleted function 2020-12-26 23:05:07 +01:00
Stefan Frederik 9b4534d6b0 A change_linewidth(-1.0) is added after resetwin() creates a new pixmap (example: after a window resize) . This sets colors, backgrounds fill styles for the new pixmap. 2020-12-26 22:29:45 +01:00
Stefan Frederik b71199c5b8 added "xschem_simulator" sample example directory for trying logic propagation of probed nets 2020-12-26 19:26:33 +01:00
Stefan Frederik 9604b8cc82 removed redundant code in calc_drawing_bbox(),removed trim_wires, push & pop undo in print export routines, exported images should be wysiwyg 2020-12-25 21:31:15 +01:00
Stefan Frederik 10e47b980b folding long lines 2020-12-25 15:37:26 +01:00
Stefan Frederik 3f452beb8e Fix: search() "unselect" function was not updating drawing 2020-12-25 15:14:41 +01:00
Stefan Frederik 582863f825 added menu option to load most recent file: ctrl-shift-o, fix menu entry "unhilight selected nets" (did unhilight all); removed a wire[].node clear in hash_wire() that caused broken connectivity. this data is cleared in delete_netlist_structs when needed. 2020-12-25 04:37:53 +01:00
Stefan Frederik 6e8486bbf2 add mising parameter in text_bbox() needed if compiling without cairo, tedax_netlist updated to be in line with other backends. 2020-12-24 12:23:48 +01:00
Stefan Frederik fe42f65ec0 some adjustments to make xschem work without warnings if compiled with 18 years old tcl-tk 8.4, check for unconfigured simulators/viewers (example: running a simulation on tedax netlist), various fixes for the drill_hilight() function 2020-12-24 05:18:50 +01:00
Stefan Frederik 5bd6d565d1 propagate_hilights does a prepare_netlist_structs() to ensure consistent connectivity and avoid crashes when returning from lower level symbols; specialized there_are_hilights() function that tells if there still are hilights in the hash table. Checking hilights in current level of hierarchy only is an error since there might be hilights in other hierarchies. 2020-12-24 01:13:37 +01:00
Stefan Frederik b7b9d666a9 fix: avoid doing any erc checking/highlights if a schematic is explicitly loaded without linking components to symbols. This is done for instances with (spice|verilog)_stop=true attributes set to prevent unwanted symbol expansion 2020-12-23 18:16:53 +01:00
Stefan Frederik 02f0a416cc -a -m check for unbound instances (Joanne fix) 2020-12-23 15:57:28 +01:00
Stefan Frederik 5f39beab1d code formatting 2020-12-23 12:06:04 +01:00
Stefan Frederik 69b465805a eliminated unused var 2020-12-23 05:09:14 +01:00
Stefan Frederik d0fb5f94e0 eliminated some global vars 2020-12-23 05:07:39 +01:00
Stefan Frederik 11a054946b better gsave/grestore in ps/pdf export 2020-12-23 02:59:44 +01:00
Stefan Frederik c58645b8e6 fix connection bubbles not updated when adding "2 segment manhattan lines" , svg export draws highlighed nets if any 2020-12-23 02:14:27 +01:00
Stefan Frederik 26b5b67262 code formatting 2020-12-22 22:37:39 +01:00
Stefan Frederik 1cfea4d1d3 svg_draw(): do not print unused layer stylesheets, error check when opening file for printing 2020-12-22 18:31:08 +01:00
Stefan Frederik 0783ff7002 fix error in link_symbols_to_instances(): potential call of symbol_bbox() -> translate() -> prepare_netlist_structs() before completing xctx->inst[i].lab assignments 2020-12-22 16:10:27 +01:00
Stefan Frederik 9b262299ba typo in svgdraw.c 2020-12-22 14:05:51 +01:00
Stefan Frederik 5e0ba4766b use Sans-Serif for svg default font instead of SansSerif that is unrecognized on some browsers 2020-12-22 13:08:11 +01:00
Stefan Frederik ae11f27db0 make svg/ps font naming consistent between tcl/c. Filter out some code if X not available (command mode) 2020-12-22 11:35:42 +01:00
Stefan Frederik 779c789100 better "xschem print" command accepting viewport and image dimensions, better zoom_full (with margin), good for embedding in script and do automatic export generation 2020-12-22 00:13:25 +01:00
Stefan Frederik 4ddc9654e8 add xschem commands for specifying image size for png and pdf: xschem print svg file.svg 800 600; svg background color taken from svg_colors variable so it can be changed like any other color 2020-12-21 04:38:57 +01:00
Stefan Frederik d46abbeec1 use SansSerif default font instead of Helvetica: more general and better matching with browser display 2020-12-20 22:28:10 +01:00
Stefan Frederik 0970555869 removed obsolete --a3page command option 2020-12-20 20:42:07 +01:00
Stefan Frederik 35efb0228a speed up draw selection for big datasets, make "drill_hilight" work again after hilight infrastructure changes, fix hilight elements with errors after netlisting, after hilight changes 2020-12-20 19:48:37 +01:00
Stefan Frederik dfa58a0a08 spaghetti code removal, more reused code 2020-12-20 15:56:29 +01:00
Stefan Frederik 43f6dc03a4 fixed typo in spice.awk 2020-12-20 12:46:00 +01:00
Stefan Frederik 63a6a8767e resolved a slow path introduced in commit db6bee26 / r1406 ( rebuild xctx-<inst[].color after undo/load ) 2020-12-20 02:09:38 +01:00
Stefan Frederik a737e53be4 after a paste schematic / ctrl-v leave ui_state to SELECTION so objects can be deleted without having to re-select them 2020-12-19 23:21:47 +01:00
Stefan Frederik db6bee268a Fix: paste/ctrl-v was not leaving elements selected; select highlighted elements was not setting ui_state to SELECTION making delete not functional. After an undo rebuild xctx-<inst[].color field of labels/pins from bus_hash_lookup info. 2020-12-19 23:11:26 +01:00
Stefan Frederik f3a3c2d10d clean up of search() function (removed spaghetti drawing code, use available functions) 2020-12-19 19:58:30 +01:00
Stefan Frederik bcedaa6bc5 various drawing optimizations to speed up full zoom views 2020-12-19 17:12:46 +01:00
Stefan Frederik 1184312527 various fixes around the highlight speed improvements 2020-12-19 05:06:57 +01:00
Stefan Frederik a837682731 caching "lab" and "highlight" attributes for speed 2020-12-19 03:22:38 +01:00
Stefan Frederik 41c46bd84b fix hilights when descending / going back 2020-12-18 19:43:45 +01:00
Stefan Frederik 821ebf06f2 optimizations in instance (connected to wires/net labels) highlights 2020-12-18 19:22:08 +01:00
Stefan Frederik 3611b95444 fix debug message causing a crash when doing a net highlight if design contains cells with no pins (filler, taps, etc) and highlight=true attr is set on symbols 2020-12-18 12:38:09 +01:00
Stefan Frederik 2e18119645 remove "m=1" in xyce spice netlists as xyce does not handle m param. Translate spice_probe ".save" to xyce ".print tran", handle different hierarchical expansion of voltage/current nodes in xyce for hierarchical ammeter/spice_probe probes 2020-12-17 18:26:46 +01:00
Stefan Frederik e46033f0bb fix regression due to r1395, updated Changelog, fix set initial window size when doing ps/pdf export from cli 2020-12-17 03:48:34 +01:00
Stefan Frederik 2e20b2c6d6 escape parenthesis in postscript texts 2020-12-17 02:49:37 +01:00
Stefan Frederik c13ca9218d fix correct version syntax when saving in file 2020-12-17 02:01:38 +01:00
Stefan Frederik a438d436bf xschem page aspect ratio decides if postscript or landscape for ps/pdf 2020-12-16 23:16:43 +01:00
Stefan Frederik 887280d8a2 better postscript page align 2020-12-16 18:56:38 +01:00
Stefan Frederik 5b4d6ab640 postscript fonts in ps/pdf export 2020-12-16 18:30:33 +01:00
Stefan Frederik 1bb59cf41a cleanup in postscript print 2020-12-16 10:48:15 +01:00
Stefan Frederik f22f7a26f5 allow to specify fixed, user defined line width (does not change on zoom) and allow specify if grid points should be same size as line width 2020-12-14 19:11:24 +01:00
Stefan Frederik ce5adbffdb added flatten_savenodes.awk for flattening in-subcircuit .save instructions 2020-12-14 16:31:20 +01:00
Stefan Frederik 5af6a38d2e allow ! in net names, it got deleted after the parselabel rework. 2020-12-13 20:26:39 +01:00
Stefan Frederik e89f0e4505 code formatting; xschem(): check for command not found 2020-12-13 00:00:48 +01:00
Stefan Frederik 03c42d3ecd code formatting 2020-12-12 22:48:25 +01:00
Stefan Frederik fc5b1a9616 code formatting 2020-12-12 20:50:06 +01:00
Stefan Frederik a3e1564c48 option for variable-width grid points for better visibility on hyper-resolution monitors 2020-12-12 13:36:39 +01:00
Stefan Frederik a642d6e05e if cadlayers set in xschemrc reduce / pad color lists accordingly; handle the case of insufficient number of layers set. Sorted "xschem" command "get" substrings for later lookup optimizations 2020-12-08 12:35:21 +01:00
Stefan Frederik 0ca9464f8f "Edit Attr" combobox in edit symbol attributes and edit global attributes was adding unnecessary quotes around the attribute 2020-12-07 21:08:13 +01:00
Stefan Frederik 89da7d9ffd use #if HAS_CAIRO!=1 indtead of HAS_CAIRO==0 2020-12-07 20:12:52 +01:00
Stefan Frederik bb64297b6e better #if/#endif configuration of various xrender/xcb/cairo combinations 2020-12-07 20:04:57 +01:00
Stefan Frederik e80896dbf9 added render_format assignment that got deleted after xinit code refactoring 2020-12-07 18:51:15 +01:00
Stefan Frederik c5c729fc89 tcl code indentation fixes, cleanup, some global vars removed 2020-12-07 15:46:20 +01:00
Stefan Frederik 4d56fcc72d indentation cleanups 2020-12-06 22:07:33 +01:00
Stefan Frederik c3ba3112e0 remove some redundant warnings in memory allocations, since all alloc calls have an ID and wrapper issues warnings in case of failures. Use some Tk wrapper functions to get X11 related data since all windows are already opened by tcl-tk. 2020-12-06 20:52:35 +01:00
Stefan Frederik 17124c761c each schematic windows has its own "current later" (rectcolor) 2020-12-06 16:40:08 +01:00
Stefan Frederik 4d26ce66a8 more state variables into xctx: move / create new objects 2020-12-06 16:10:22 +01:00
Stefan Frederik e7e5ad190b more schematic context in xctx: cairo surfaces and context, save buffer graphic context (GC), hilight hash tables and data, node name hash tables. Refactoring of resetwin , resetcairo routines (also used in xinit to avoid code duplication), switching schematics seems almost complete now 2020-12-06 02:10:53 +01:00
Stefan Frederik fe1f7c57a7 "lazy man" (good enough for schematics) aproximated polygon clipping using the underlying xorg 16 bit integer poly clipping engine, by projecting outer vertices to the 16 bit signed coordinate system edges 2020-12-05 13:58:44 +01:00
Stefan Frederik f9f9de3371 added "PWD" button in file load/place component dialog box that brings back to the directory containing current schematic. Selecting a component before doing "place component" will make the file load dialog start from the directory containing the selected component 2020-12-05 05:18:35 +01:00
Stefan Frederik f138db5aba fix linewidth when done with preview, also avoid to destroy & create main pixmap since it was saved 2020-12-05 04:12:56 +01:00
Stefan Frederik 780b994aeb use short data type for small integer data: rot, flip, dash, bus etc... 2020-12-05 03:16:01 +01:00
Stefan Frederik 4e08f347da Tcl_SetResult() used in place of Tcl_AppendResult() in xschem() whenever possible 2020-12-05 01:20:35 +01:00
Stefan Frederik e6d522bf69 xschem() tcl extension function (scheduler.c) command lookup made much faster by ordering command strings 2020-12-05 00:01:09 +01:00
Stefan Frederik c3aad2fbfc remove dbg messages 2020-12-04 13:02:19 +01:00
Stefan Frederik e5205cfd1e Split mode netlisting in different formats got bitrotten due to a regression. Fixed. 2020-12-04 12:45:50 +01:00
Stefan Frederik 29d8b0c3a8 resetwin(1,1,1) instead of resetwin(1,1,0) in preview_window so save_pixmap is reset to correct size when switching back to main window 2020-12-04 02:27:35 +01:00
Stefan Frederik 1268a6faae removed redundant XSetTile in preview_window() 2020-12-04 01:38:48 +01:00
Stefan Frederik 76ef664757 undo data structures into xctx context 2020-12-04 00:30:13 +01:00
Stefan Frederik 2b7e31e0d6 add utility functions to create new schematic window 2020-12-03 23:17:13 +01:00
Stefan Frederik 2f3025cf3f rm debug msgs 2020-12-03 19:48:15 +01:00
Stefan Frederik 70cf1e8dfb fixed big performance issue when bulk-changing attributes on a big schematic and show_pin_net_names is enabled 2020-12-03 19:47:25 +01:00
Stefan Frederik ead42c17fa raise_dialog above main window 2020-12-03 18:43:48 +01:00
Stefan Frederik 3732bd8d01 put cairo save surface and context into xctx, faster and smoother preview (avoid unload/load if no filename change) 2020-12-03 18:21:23 +01:00
Stefan Frederik 66a73e4e99 cleanup in preview code 2020-12-03 11:49:29 +01:00
Stefan Frederik 4322101f9b cleanup in preview code 2020-12-03 11:46:00 +01:00
Stefan Frederik 9588a859da cleanup in preview code 2020-12-03 11:42:06 +01:00
Stefan Frederik a64d69ed7a some code refactoring, more globals in xctx context, fixed unnoticed shift-reduce conflict in expandlabel 2020-12-03 04:20:05 +01:00
Stefan Frederik 8902f3b56b more state in xctx context 2020-12-02 19:35:42 +01:00
Stefan Frederik fe46725c0c in case of vector instance names and spiceprefix attr set apply spiceprefix to all members, not only on first one 2020-12-02 17:33:01 +01:00
Stefan Frederik e279262f00 more globals into xctx context struct 2020-12-02 15:10:47 +01:00
Stefan Frederik 2dc28726d3 turn off dbg messages 2020-12-02 12:50:08 +01:00
Stefan Frederik aef66d6ff6 clear debug msg 2020-12-01 14:39:02 +01:00
Stefan Frederik 83ae1c01b6 ERC checks: do sch/sym node equivalence check on expandlabel()'ed nodes, avoid flagging DATA[5,3,1] != DATA[5:1:2] != DATA[5],DATA[3],DATA[1] 2020-12-01 13:43:15 +01:00
Stefan Frederik 08e179e588 better cmdline filename path parsing 2020-12-01 13:25:00 +01:00
Stefan Frederik 2bd8a93889 preserve backslashes in instance name after doing an editprop(). get_tok_value() fix: do not eat "\" if called with with_quotes=1 2020-12-01 12:00:18 +01:00
Stefan Frederik 1055fdbf36 bounding box fix while copying objects done in r1224 was not correct. Object rotation fixed now 2020-12-01 00:03:29 +01:00
Stefan Frederik 7da61bc054 draw wide lines (bus=true attribute) in svg export 2020-11-30 23:20:06 +01:00
Stefan Frederik c8dc48f916 fix: load_wire() was using storeobject() for storing data, causing unwanted modify=1 flag (this has various side effects including changing window title) 2020-11-30 22:48:08 +01:00
Stefan Frederik 3f6a9ab1f8 allow new lines in net names (!) 2020-11-30 22:12:31 +01:00
Stefan Frederik 4ea2dde800 add ":" allowed char in instance names , this disappeared during the parselabel.l rewrite 2020-11-30 21:07:42 +01:00
Stefan Frederik db8186c213 fix mapping issue in hiertEDAx code. Thanks to Hannu for pointing it out. Allow newlines in (quoted) long vector labels, like: "AAA,BBB,\nCCC,DDD,EEE" 2020-11-30 21:01:33 +01:00
Stefan Frederik b726eb27a6 more verbose ERC message about missing attrs on pins while netlisting 2020-11-30 17:33:15 +01:00
Stefan Frederik b910d74d56 expandlabel.y: allow meaningless syntax without botching. Let the user rule 2020-11-30 14:04:38 +01:00
Stefan Frederik 7548e7a21b added some more allowed characters in node naming (parselabel.l) 2020-11-30 12:15:05 +01:00
Stefan Frederik 5533ca87a4 updated parselabel.l to allow more generic node names and/or spaces: these are now valid "a a,bb[3 : 0] , ccc", "1,2,3" and various other improvemenst and "ugly" code removals 2020-11-30 01:36:28 +01:00
Stefan Frederik eda64b7ee1 removed event_reporting feature 2020-11-29 03:27:45 +01:00
Stefan Frederik eb2d143e77 more consistent get_tok_value() regarding escaping 2020-11-29 01:59:17 +01:00
Stefan Frederik b1a1442012 allow spaces in bussed nodes (A B,CC,D\ C, A B[3:0]), dont dump double quoted net names in netlists 2020-11-29 00:00:55 +01:00
Stefan Frederik d95eb0f871 fix repeated character in RE, fix changed syntax in verilog example 2020-11-28 20:08:40 +01:00
Stefan Frederik 9a03923b4e switch LC_ALL to "C" locale 2020-11-28 16:54:15 +01:00
Stefan Frederik d47a569f9f bussed nets/pins in hierTEDAx netlists 2020-11-28 16:41:35 +01:00
Stefan Frederik 0e35d65cac "xschem replace_symbol instance instname" --> "xschem replace_symbol instname", "xschem inst_pin_coord" made slot-aware, added comments in query functions 2020-11-26 13:31:42 +01:00
Stefan Frederik ad3059dd83 added some comments 2020-11-26 04:01:11 +01:00
Stefan Frederik 7a7868318b Added various procedures to select flat / hierarchical instances and re-route a terminal to a different net. reroute_inst -> change a pin connection, reroute_net -> change net updating all connected components. "xschem instances_to_net", "xschem instance_nodemap", "xschem instance_pin_coord" new query commands added. "xschem get expandlabel node" renamed to "xschem expandlabel node". 2020-11-26 03:46:55 +01:00
Stefan Frederik 01077ea162 Tell user to check ~/gaw/gawrc setting if tcp send waves to gaw fails 2020-11-25 01:46:26 +01:00
Stefan Frederik 8fe0553f96 fix crashing netlister crashing bug if required schematic files are missing (null hier path). fix hierEDAx when netlisting empty blocks 2020-11-24 17:37:27 +01:00
Stefan Frederik d7b0c27775 hiertEDAx: don\t split on escaped white space. test schematic with weird instance/net names 2020-11-24 15:25:37 +01:00
Stefan Frederik a9a3538a71 FIX: error after recursive expansion leading to wrong netlist 2020-11-24 13:30:42 +01:00
Stefan Frederik e1110a2c98 comment hashes in column 1 for hiertEDAx according to syntax rules 2020-11-24 11:57:57 +01:00
Stefan Frederik 9c5739b0f2 allow tEDAx (flattened) netlisting of hierarchical schematics; added pcb/hierarchical_tedax example 2020-11-24 02:54:45 +01:00
Stefan Frederik 7d2875649f fix $tok_list --> [list $tok_list] in text_line proc, so weird input does not cause issues in token parsing 2020-11-23 02:15:34 +01:00
Stefan Frederik d93826f61c wrap long lines in source code, set default direction of pins to "B"(idirectional) if not specified in spice netlist (no *.PININFO information) 2020-11-22 00:51:24 +01:00
Stefan Frederik 427bce91e7 use get_tok_size instead of returned value from get_tok_value() to decide if token was existing or not in attribute string 2020-11-21 01:23:00 +01:00
Stefan Frederik 84134e0d97 fix: make a copy of returned string to avoid overwrites 2020-11-20 22:02:43 +01:00
Stefan Frederik 0d59d01170 allow to pass down to tcl evaluation (via tcleval( ....) wrap) instance parameters: example of a mos transistor : name=m1 w=2 l=0.13 model=net ad="tcleval([expr @W * 0.29])" --> in netlist: m1 d g s b nfet w=2 l=0.13 ... ad=0.58 2020-11-20 18:46:27 +01:00
Stefan Schippers 759c44078e optimization: avoid calling get_tok_value in storeobject() if no attributes are given 2020-11-19 16:48:44 +01:00
Stefan Schippers 71fd1bcb68 comments about color handling in source code, set_cairo_color() function 2020-11-19 15:08:40 +01:00
Stefan Schippers 25cc006ffe removed a stray "closepath" for open polygons in postscript output 2020-11-19 11:28:04 +01:00
Stefan Schippers 20afce9ab6 code cleanups and small fixes in the svg export code 2020-11-19 01:17:22 +01:00
Stefan Schippers 070ec71800 reduce svg size by avoiding redundant attributes in elements, fix a regression in scheduler.c (missing else clause) 2020-11-18 23:20:50 +01:00
Stefan Schippers 4f53cd8dbd remove noop code after cleanups 2020-11-18 18:54:41 +01:00
Stefan Schippers bf183f0d20 Option (default now) to export svg images using the svg <text> element. This makes generated SVGs much smaller and in most cases faster to render. 2020-11-18 18:29:14 +01:00
Stefan Schippers 3c86f4ec64 more consistent function parameter names in svgdraw.c and draw.c 2020-11-18 12:46:57 +01:00
Stefan Schippers 78a82a9bc0 fix regression: ps and svg exports were broken due to enable_layer[] used for enabling selections 2020-11-17 02:17:34 +01:00
Stefan Schippers 7a67663330 fold long lines 2020-11-17 01:29:47 +01:00
Stefan Schippers 1634414b11 code comments 2020-11-16 16:59:55 +01:00
Stefan Schippers f6e85bc90c replaced select_connected_nets() with faster select_hilight_net(), net_name() used only for displaying net names will not trigger erc messages 2020-11-16 15:44:51 +01:00
Stefan Schippers fac9cfe26b folded long lines 2020-11-16 12:33:06 +01:00
Stefan Schippers 90f6d7ee90 cleanup debug messages 2020-11-16 02:25:43 +01:00
Stefan Schippers 2d01eee04b trim_wires() made 2 O.O.M. faster on big wire meshes; rects, lines, polys, arcs on hidden layers (View -> Visible Layers) not selectable by area or by mouse click 2020-11-16 01:28:19 +01:00
Stefan Schippers d22b4c9ea0 guard against extended ascii characters in nocairo/svgdraw/psprint function 2020-11-13 12:54:07 +01:00
Stefan Schippers f3c9160cc5 keep frequently allocated memory chunks cached in get_tok_value() for better performance 2020-11-11 19:01:22 +01:00
Stefan Schippers 7f771d6329 added variable "S" containing full schematic path in "Simulations->Configure simulators and tools". This can be used to add search paths to simulators. 2020-11-10 17:59:33 +01:00
Stefan Schippers 9b5bd75ec8 allow tcl commands ( [..cmds..] ) in Simulation->configure simulators and tools (useful to retrieve needed information about current dir etc.). 2020-11-10 17:48:26 +01:00
Stefan Schippers 61dd4e99b0 better xschem icon: added shapemask for "transparent" background 2020-11-10 13:17:25 +01:00
Stefan Schippers f837353429 simpler glob expressions in xschem.tcl 2020-11-09 11:49:24 +01:00
Stefan Schippers e6808f844a better syntax for timeout cancel in gaw_cmd 2020-11-08 18:06:55 +01:00
Stefan Schippers ec6ad39acc synchronize command sending to gaw with gaw replies so at the end the tcp channel is closed gracefully (avoid port in use error messages). Timeout whatchdog is set to prevent forever waits/deadlocks. 2020-11-07 21:07:16 +01:00
Stefan Schippers 3f76397522 better synchronization of gaw_cmd so multiple commands are sent to gaw. However tcp file descriptor remains active for subsequent commands. Next improvement: count replies from gaw client and close file descriptor when last reply read. 2020-11-07 14:40:49 +01:00
Stefan Schippers 24dd02b713 Fixed Windows Xschem running from VS2019 without installing Xschem to find (Root)/xschem_library/devices as XSCHEM_LIBRARY_PATH, so that viewing schematics through VS2019 will find all symbols in xschem_library/devices. Moved doc and xschem_library XML files to its own *.wxs. Cleaned up Product.wxs by taking out doc and xschem_library files; fixed spacings in License.rtf; added condition that proper version of Active TCL is required to install 2020-11-07 10:52:50 +01:00
Stefan Schippers 191b4d8ed3 added m parameter to npn.sym and pnp.sym, text attribute edit dialog box renamed from .t to .dialog so it will be always raised on top of xschem window 2020-11-06 19:29:09 +01:00
Stefan Schippers 2a5e5a80cc put braces around "expr" tcl statements as this boosts speed 2020-11-05 00:57:16 +01:00
Stefan Schippers 957b9888d1 Removed all static/global name conflicts, avoided global conflicts with flex/bison generated code so xschem (as a test bench) can be compiled as a single big file that includes all other sources 2020-11-03 12:10:55 +01:00
Stefan Schippers 34a1cb8950 execute_fileevent: do not reset pipe to blocking mode before closing if no status is requested: this avoids close blocking if executed process closes its stdout / stderr file descriptors before ending 2020-10-31 01:45:59 +01:00
Stefan Schippers 01ed63275b do not set dircolor(...) default item colors if dircolor array defined in xschemrc 2020-10-30 01:22:25 +01:00
Stefan Schippers 73bab32aa9 __unix__: do simple tilde subst ( ~/ --> /home/user) just in case this was not done by the shell 2020-10-27 22:56:53 +01:00
Stefan Schippers 5706b12ad9 do not execute tcl proc "build_windows" in xinit.c if no X or -x option given 2020-10-27 12:00:34 +01:00
Stefan Schippers b24c9ed763 fix an issue if "xschem ./sch_file.sch" is given on commandline, in this case load_file() will set current_dirname to /some/path/., this confuses abs_sym_path, so remove trailing /. in this case. 2020-10-26 02:31:47 +01:00
Stefan Schippers 24370cb752 updated "xplot" file syntax according to recent ngspice changes 2020-10-26 01:50:45 +01:00
Stefan Schippers 460ebe561d sqwsource.sym: better labels, various fixes, comments and more debug messages in tcleval() stuff, some fixes (error checks) in "device_model" related model_name() function 2020-10-25 03:03:23 +01:00
Stefan Schippers 679348b7f8 "Delete files" menu command added 2020-10-24 23:46:19 +02:00
Stefan Schippers 8602fa7bb6 added Shift-I bindkey as an alternative to Insert key (missing on Apple machines) to insert a component 2020-10-24 23:07:45 +02:00
Stefan Schippers 367810f6dc add some hideen commands in menu: "place net label(2)", "highlight net/pin name mismatches of selected instances", "Flip", "Rotate" 2020-10-24 23:00:41 +02:00
Stefan Schippers 6d4c8881f2 regression fix: unselect all when placing a component, to avoid dragging selected stuff with the new object 2020-10-24 20:06:42 +02:00
Stefan Schippers 41e5d02edb error check for strrchr() NULL return value in print_spice_element() 2020-10-24 03:15:08 +02:00
Stefan Schippers 032bbf6f24 fixed error in tripping off "eval(...)" wrapper from string in print_spice_element 2020-10-24 03:11:37 +02:00
Stefan Schippers 27d1a9e477 get_tok_value: even if called with "with_quotes=2" do not skip unescaped backslashes that are outside "quotes". Added dynamic netlisting test circuit in examples 2020-10-23 23:17:55 +02:00
Stefan Schippers 2ffb4f792e according to answer from ngspice guys ngspice does not accept continuation lines for .title, .include and .lib statements, so break.awk will avoid breaking those lines. reversed default for tcl dim_background variable, so toggle colorscheme will work. 2020-10-23 01:19:03 +02:00
Stefan Schippers ca9786ce86 some "tcl_version > 8.4" conditions in xschem.tcl to ensure proper working on old (tcl/tk8.4) machines. 2020-10-22 04:16:48 +02:00
Stefan Schippers 1536e77b62 spice netlist postprocessing will not break ".include " lines as ngspice does not like these. make_sch_from_spice.awk adapted to import sky130 standard cells, spice netlister will print extra nodes (inherited connections or pins-by-attribute) in the order specified by the format string, instead of dumping the "extra" attribute after all "real" pins, this allows to mix attribute pins with the other pins. 2020-10-21 18:18:53 +02:00
Stefan Schippers 65b7e318a9 yet amoother typo in comment 2020-10-21 00:14:31 +02:00
Stefan Schippers 3bb92f1e0d better comment in resetwin() 2020-10-21 00:11:03 +02:00
Stefan Schippers 1ec0745b54 add another condition in resetwin() to ensure the saved pixmap is reassigned to main window when returning from preview 2020-10-21 00:04:10 +02:00
Stefan Schippers 40a628dc34 resetwin(): force creation of new save_pixmap even if no resize *if* preview_window==1, since we *want* a different pixmap for preview 2020-10-20 23:45:30 +02:00
Stefan Schippers b4681b22af aligned linux code to windows: check if preview pixmap != main pixmap before destroying. probably not needed but good practice 2020-10-20 23:34:40 +02:00
Stefan Schippers 7e845db5df exampels/poweramp.sch and examples/cmos_example.sch show how to use dynamuc ngspice simulation data backannotation, optimized fix of previous bbox bug 2020-10-20 19:48:59 +02:00
Stefan Schippers 3bbba8601f added ngspiec_probe.sym and ngspice_get_value.sym that use a pull method to fetch values from ngspice .raw datafile, fixed a long standing bug that changed bounding boxes of symbols that were selected for a copy if they were copied and copy operation involved rotations of flips. 2020-10-20 12:44:10 +02:00
Stefan Schippers 72e45216c2 spice_probe_dynamic.sym added to devices, retrieves node voltages with a pull method, so always updated, "@@pin" syntax in translate(), same as in format string for netlisting,print hilight nodes (ctrl-alt-j) will print .save instructions if netlist mode set to spice 2020-10-20 01:05:40 +02:00
Stefan Schippers c84d71b859 xschem setprop made way faster if "fast" argument is provided. Example "clear probes" launcher object in mos_power_ampli.sch. 2020-10-19 02:07:17 +02:00
Stefan Schippers 7360982d7c removed some redundant calls in prepare_netlist_structs(), no full instance spatial rehash if adding a component, set template name initials for components in devices/ that do not map directly to spice elements to lowercase letters. 2020-10-18 23:58:40 +02:00
Stefan Schippers c90f188703 do not call calc_drawing_bbox() on monster schematics as it takes more time than just drawing the viewport 2020-10-18 13:53:58 +02:00
Stefan Schippers ebdc8746c0 better regexp for probe search in ngspice_backannotate.tcl, comments in token.c 2020-10-18 02:08:08 +02:00
Stefan Schippers 3e3c1ea671 uniquify malloc IDs 2020-10-17 22:39:52 +02:00
Stefan SChippers 7d346285de no caching of xctx data ( xxx = xctx->xxx ) where pointers could potentially be reallocated 2020-10-17 18:54:10 +02:00
Stefan Schippers 222f2a0b25 reverted all xctx->* caching in copy_objects() 2020-10-17 12:25:43 +02:00
Stefan Schippers 3ed31d7d60 reverted caching of xctx->instances in copy_objects() 2020-10-17 12:13:14 +02:00
Stefan Schippers f38a7d82ea optimization in delete() if show_pin_net_names is true, recheck connected elements only if deleting a pin or label. 2020-10-17 12:01:05 +02:00
Stefan Schippers 632dbd8931 allow dim background color in "View -> Dim oclors" 2020-10-17 03:47:32 +02:00
Stefan Schippers 8a45e319c9 if xschem is started with -n (netlist) load_schematic will not call tcl proc is_xschem_file to determine if sch or sym type, since command line option has higher priority. reverted back possibility in update_symbol() to have double quotes around name attribute (name="My strange name"). This has toooo many implications everywhere. name attribute must be wihout double quotes, xschem will strip them off if any. 2020-10-17 02:54:42 +02:00
Stefan Schippers 55723e9429 line width is related to the schematic, so it is moved under xctx; removed all integer versions (lw, bus_width) that needed to be kept in sync, created two macros to get the integer values from xctx->lw. main window save_pixmap is preserved when doing a schematic preview in file open dialog, so no need to regenerate its content (with a draw() call) after preview. 2020-10-17 00:53:19 +02:00
Stefan Schippers 9e38fbd173 fix wrong const declaration in save.c 2020-10-16 23:19:20 +02:00
Stefan Schippers a0661be86c "proc is_xschem_file" reports SYMBOL if file contains <=2 instances of symbols. Need to figure out a different, simple and reliable way to recognize symbols that contain a title and/or a "architecture" symbol. For the time being reverted to previous state. Thanks to JL for pointing out the issue 2020-10-16 22:47:27 +02:00
Stefan Schippers 666f05c3d5 typo in spice.awk, fix check symbol storage before caching xctx->sym and xctx->symbols in load_sym_def(). Thanks to JL 2020-10-16 22:16:54 +02:00
Stefan Schippers 1967bbff00 fix trim_wires(), caching xctx->wires into wires missed update done by freenet_nocheck() 2020-10-16 21:21:01 +02:00
Stefan Schippers f0e6559324 fix: restore modified state (set_modify() ) was done before swicthing back xctx to current schematic 2020-10-16 19:36:21 +02:00
Stefan Schippers 7c757f9803 removed unused set_fill() function 2020-10-16 19:27:19 +02:00
Stefan Schippers aa2a47c5b9 grouping X11 specific global declarations 2020-10-16 19:16:03 +02:00
Stefan Schippers f0f1f9c2f0 optimization in preview function: no un-needed redraw of current schematic; no window title change when previewing xschem files 2020-10-16 18:24:06 +02:00
Stefan Schippers b626dfb599 replaced frequent "xctx->something" accesses with "something" for code readability, optimizations in hash_wire() when incremental wires added, STR_ALLOC() macro (performance reasons) 2020-10-16 16:34:15 +02:00
Stefan Schippers 35c2d0fa93 better node multiplicity detection in spice and verilog awk netlist post-processors (\?-?[0-9]+) 2020-10-16 00:13:39 +02:00
Stefan Schippers 742f854964 check for NULL symbol "type" pointer 2020-10-15 19:20:55 +02:00
Stefan Schippers b88c4bab9e -m better relative path recognition in abs_sym_path 2020-10-15 18:42:08 +02:00
Stefan Schippers 1c294ce31d preview function now does no more need to save whole schematic on the undo stack, it is just a matter of pointer switching 2020-10-15 18:08:14 +02:00
Stefan Schippers e7928727d6 all xctx context is now a dynamically allocated structure; no observable performace impact 2020-10-15 17:39:21 +02:00
Stefan Schippers 0eb706a67e removed changes in strings due to variable refactoring 2020-10-15 17:05:30 +02:00
Stefan Schippers 6d96c8bd61 move xctx.sch_path free under free_xschem_data() 2020-10-15 16:32:09 +02:00
Stefan Schippers c87f44a441 added "xchem load_symbol" command to load a symbol without binding to any instance, text edit attribute "Load" button will start in "$current_dirname" 2020-10-15 15:37:06 +02:00
Stefan Schippers 4362c44a8d fix various regressions: escape the ? pattern in awk, be more selective in ? node multiplicity tag recognition in spice.awk, yet some more fixes in abs_sym_path thanks to JL 2020-10-15 13:38:27 +02:00
Stefan Schippers 35f47beca9 force a rebuild selected_array when swapping element order (S key) to rebind correctly. renamed <UNCONNECTED_PIN> to __UNCONNECTED_PIN__ to avoid useless syntax warnings from the node label grammar parser. 2020-10-15 02:16:57 +02:00
Stefan Schippers acb5c45db1 avoid printing erc warnings about missing "name=" attribute in symbols if there is a definition in symbol template string 2020-10-15 01:43:53 +02:00
Stefan Schippers 8e5bfe2a13 remove instname and symname parameters to tclpropeval2 as they are no more necessary 2020-10-14 23:44:53 +02:00
Stefan Schippers e82f270f61 replaced @ character with ? for spice netlist node multiplicity tags, so translate() will not try to expand them, do not print erc warnings for "non electrical" symbols (architecture, package, port_attributes, use, etc), print_spice_element() result string will be forwarded to translate() if enclosed within tcleval(...), so all @vars will be expanded. translate() in turn will forward to tcl_hook() if necessary. 2020-10-14 23:15:05 +02:00
Stefan Schippers 8bb6b0e3f7 pass name and symname to tcl_hook, add @symname_ext in print_spice_element 2020-10-14 21:04:45 +02:00
Stefan Schippers c70aa9b06d update_symbol() do not throw away quotes in name attrs (name="some thing") 2020-10-14 16:02:05 +02:00
Stefan Schippers d92bd6590d restructure abs_sym_path 2020-10-14 14:59:55 +02:00
Stefan Schippers d696924615 fix: better handle relative paths 2020-10-14 12:59:55 +02:00
Stefan Schippers abb698ea63 fix regression: correctly resolve ../../some/path/to/file in abs_sym_path 2020-10-14 11:14:15 +02:00
Stefan Schippers b834df35e7 ALLOC() macro replaced with function str_alloc() 2020-10-14 05:25:20 +02:00
Stefan Schippers 4682613290 exported tcl_hook() at global scope for future enhancements 2020-10-14 04:59:20 +02:00
Stefan Schippers c7ae5183fe removed dbg message 2020-10-14 04:14:43 +02:00
Stefan Schippers f4e5f70de1 fix bug in ALLOC() macro, tcl_hook() function 2020-10-14 04:12:34 +02:00
Stefan Schippers 5d26115bd2 refactored token.c, differentiate between windows and unix in absolute filename construction in xinit.c 2020-10-14 01:38:51 +02:00
Stefan Schippers 28fe7d993a removed xschem samefile command as there is "file stat" for that 2020-10-13 18:10:05 +02:00
Stefan Schippers 1c2bbc609f added "xschem samefile" command to verify if 2 files are the same entity by comparing inodes, pwd_dir set in xinit.c to $env(PWD) if PWD var is defined as it does not dereference symlinks 2020-10-13 17:51:14 +02:00
Stefan Schippers 8ea275013e updated print_spice_subckt() to reflect updates done in print_spice_element(); abs_sym_path recognize ././././, ./., other strange paths., use $env(PWD) for current_dirname on startup instead of getcwd() if possible, to avoid dereferencing symlinks 2020-10-13 16:23:48 +02:00
Stefan Schippers f8f1626c1b cleanup in print_spice_element(), print_verilog_primitive(), print_vhdl_primitive(), print_tedax_element(), parselabel allows ~ in node names (XSPICE inversion operator) 2020-10-13 02:52:37 +02:00
Stefan Schippers 6f80fdbf76 fix once again an issue when working in symlinked directories and giving a relative .sch file path on cmdline; clean up print_spice_element(). JL to check if tclgetvar("env(PWD)") works on windows (xinit.c:1435) 2020-10-13 01:07:28 +02:00
Stefan Schippers 26fdaae83d if strings passed to translate() are encloded in tcleval(...) the translated string is passed to tcl for evaluation. This allows to display formula results for symbols, for example capacitance values based on W and L: tcleval(C=[ expr @ca * @L * @W ]) --> tcl will substitute the calculated value: C=1.234e-14 2020-10-12 17:25:57 +02:00
Stefan Schippers 42a8e55956 @tcleval() hook in translate() 2020-10-12 14:25:12 +02:00
Stefan Schippers 64c0abc58e code refactoring (global context in Xschem_ctx), "New Schematic" or "New Symbol" will set netlist_type to "spice" or "symbol" respectively 2020-10-12 13:13:31 +02:00
Stefan Schippers 32f85ac4f4 do not force a full hash_wires() on every net insertion; code formatting 2020-10-11 13:08:32 +02:00
Stefan Schippers 077fde9350 removed redundant command in xschem() command parser 2020-10-11 11:26:22 +02:00
Stefan Schippers b006c82bad slight resize in pin text size for better look. top frame in insert text dialog does not extend vertically. 2020-10-11 01:38:28 +02:00
Stefan Schippers 0ce6f6ba5d when netlisting primitive elements (not subcircuits) the "format", "verilog_format", "vhdl_format, "tedax_format" can be specified in instance attributes to override symbol. This allows to adapt primitives (example digital standard cells) to different design kits without using wrapper subcircuits. Together with "symname" redefinition in instance this allows to completely customize element netlisting. 2020-10-11 00:13:52 +02:00
Stefan Schippers 617d708009 verilog_preprocessor and verilog_timescale now use verilog_format instead of format (which is for spice), corrected verilog_netlist.c; better backslash and quote (") escaping and unescaping when using attribute select combobox; for unquoting use "xschem get_tok tok 2" instead of "xschem get_tok tok 0" + regsub ....(remove backslashes)... 2020-10-10 23:21:23 +02:00
Stefan Schippers 4d0a3d8f7c allow probing to gaw current in voltage sources in addition to ammeters 2020-10-09 22:19:54 +02:00
Stefan Schippers 19753992f4 "Option->Show info win" moved to "View->Show ERC info window" 2020-10-09 17:36:22 +02:00
Stefan Schippers 644641ed23 Preserve existing text (notably license info) in xschem files under version "v" tag; some code refactoring, removed obsoleted comments 2020-10-09 17:29:04 +02:00
Stefan Schippers f419381361 added support for probing waveforms into gaw if raw file written by Xyce; Xyce uses uppercase, does not wrap voltage nodes into V(...). uses ":" instead of "." as hierarchy separator and other quirks. 2020-10-09 01:21:27 +02:00
Stefan Schippers f2d7cc4ca8 fix hierarchical pathname for current probes to gaw 2020-10-08 03:32:23 +02:00
Stefan Schippers 1f588d843d doing ALt-g on an ammeter (devices->ammeter, a current probe type symbol) will send the current to gaw 2020-10-08 00:47:51 +02:00
Stefan Schippers 2287a15e52 better wire connecting bubble zoom scaling at different snap levels 2020-10-07 19:45:40 +02:00
Stefan Schippers 0f61e0fe0f JL fix regression for path resolution on windows, Esc resets manhattan_lines setting 2020-10-07 16:12:33 +02:00
Stefan Schippers 060e53f1d2 correctly draw net labels / pins when they are highlighted and user changes their lab attribute so they become unhilighted 2020-10-07 03:45:50 +02:00
Stefan Schippers d9488fa5ea small sample xschemrc fix 2020-10-06 21:59:23 +02:00
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 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 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 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 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
Stefan Schippers 5186d3b92c avoid var declarations after statements (C89 warning) 2020-09-22 21:12:09 +02:00
Stefan Schippers 5e98241df1 NumLock and CapsLock check for windows 2020-09-22 21:02:51 +02:00
Stefan Schippers 4a38af8535 better capslock and numlock status detect and report in statusbar 2020-09-22 15:47:53 +02:00
Stefan Schippers 5b9d1091b2 print red message in status bar if caps lock set 2020-09-22 14:22:59 +02:00
Stefan Schippers 2a556552c6 remove dbg info 2020-09-22 13:43:10 +02:00
Stefan Schippers 82451fd50e "xschem hilight_netname" command to hilight a specific net name, "xschem search exact ..." finds specific instances of vector instances, "probe_net" procedure descends into the right bussed instance and hilights the correct net bit, added "xschem display_hilights" to return all hilighted nets in the hierarchy, added "gaw_cmd" procedure to send socket commands to gaw (like "gaw_cmd reload_all") (recently added command to gaw ttg) 2020-09-22 13:35:55 +02:00
Stefan Schippers eaee40f5f3 remove dbg messages 2020-09-17 09:08:09 +02:00
Stefan Schippers c08613608d better instance selection min-distance calculation 2020-09-17 09:05:08 +02:00
Stefan Schippers b51ce34b1c make "ctrl-[0-9]" commands work again (change layer) 2020-09-16 00:50:15 +02:00
Stefan Schippers bd06456bd6 fix Browse button in edit symbol prop dialog 2020-09-15 14:15:43 +02:00
Stefan Schippers 9561204c77 When loading/descending in a symbol set netlist_type to CAD_SYMBOL_ATTRS, set back to previous value when done. Tcl procedure "load_file_dialog" is now used also for saving files (so list of defined xschem libs is available as well as preview window). 2020-09-15 11:19:57 +02:00
Stefan Schippers f3bedb39a4 eliminated any differences between SYMBOL and SCHEMATIC files. There is no "current_type" variable any more. Symbols who used to have netlisting rules defined in schvhdlprop have now these attributes in schsymbolprop. Old symbol files with schvhdlprop will be saved with netlisting rules in schsymbolprop. 2020-09-14 10:27:45 +02:00
Stefan Schippers 4a332ade11 Bring open dialogs always on top of xschem main window if user clicks title bar on gnome/metacity DMs 2020-09-11 11:55:00 +02:00
Stefan Schippers 020c61bc3d fix "saveas SYMBOL" changing current_type to SYMBOL even if user canceled the action; allow "@" in node names as this is used in some backannotated CDL netlists 2020-09-10 10:12:51 +02:00
Stefan Schippers e1751d5f58 remove experimental ::ttk namespaced widget usage 2020-09-09 00:33:00 +02:00
Stefan Schippers 6e5fe40c4a fix bind instructions for Windows Alt-*-KeyPress combinations, doc updates for fill attributes in shapes. 2020-09-09 00:21:40 +02:00
Stefan Schippers a9013fc4d9 use layer 4 instead of 5 for symbol bounding-box-only view 2020-09-07 23:02:30 +02:00
Stefan Schippers 79a56a99f5 allow to launch xschem in fullscreen mode with --tcl "set fullscreen 1"; doc updates for bus, dash, fill attributes 2020-09-07 15:20:22 +02:00
Stefan Schippers f61c17a27b fix line edit property when bus and dash are given 2020-09-07 14:13:07 +02:00
Stefan Schippers ae4821a12c better thick lines drawing 2020-09-07 13:14:50 +02:00
Stefan Schippers fde072720d enable "bus=true" attribute for lines as wellas for wires. As a side effect LCC schematics with bussed wires will display thick buses 2020-09-07 13:12:34 +02:00
Stefan Schippers fce8ab8d1e remove dbg message 2020-09-07 09:40:07 +02:00
Stefan Schippers 2ee47d6884 typo 2020-09-07 09:37:30 +02:00
Stefan Schippers 30335ce30a make Alt-KeyPress (hopefully) work on windows by manually building the Mask values 2020-09-07 09:34:41 +02:00
Stefan Schippers ac911ca1f1 show instance pins even if in "show only instance bounding box" mode. 2020-09-05 01:43:27 +02:00
Stefan Schippers 8626a8a11b added command <Alt-b> (menu Symbol->Show only instance Bounding boxes) to toggle displaying instance detals / only bounding box. 2020-09-05 00:58:56 +02:00
Stefan Schippers 461e2eae97 add "layer=WIRELAYER" attribute to label texts in LCC schematics so LCC schematic instance looks exactly as schematic. 2020-09-04 10:29:15 +02:00
Stefan Schippers aad01a42f1 fix unitialized .dash field for rectangles (in the added pins in LCC schematics) 2020-09-04 09:42:18 +02:00
Stefan Schippers 05651fd701 dashed objects in svg export 2020-09-04 02:25:45 +02:00
Stefan Schippers 8afff69643 dashed objects in ps/pdf export 2020-09-03 10:05:48 +02:00
Stefan Schippers e73722cae9 range check for dash attribute value 2020-09-03 00:19:39 +02:00
Stefan Schippers 1a2500291d dash attribute for arcs 2020-09-02 23:59:58 +02:00
Stefan Schippers a44302a7fd better join/end style for dashed objects, some dashed objects in example schematics/symbols 2020-09-02 19:21:51 +02:00
Stefan Schippers 3107c5b12a added "dash=n" (n=integer) attribute for lines, polygons, rectangles to set dashed line style. n is the dash length in pixels. 2020-09-02 18:28:20 +02:00
Stefan Schippers 331155b6f9 in case of multiple symbols referring to same schematic use symbol name xxxx instead of schematic name for "architecture arch_xxxx of xxxx is" in VHDL netlists to avoid unmatched entity/architectures. 2020-09-02 15:08:33 +02:00
Stefan Schippers a73cb11412 if image size is not changed by user when doing a png export do not zoom_full() png image 2020-09-02 13:23:40 +02:00
Stefan Schippers 9f82cf47aa verilog_ignore, spice_ignore, vhdl_ignore attributes on schematic pins are propagated to symbol pin attributes (if using make symbol from schematic, otherwise propagate by hand). These pins are not netlisted in the respective netlist format 2020-09-02 12:30:52 +02:00
Stefan Schippers fa9bdd44bc avoid redundant rebuild_selected_array() on Motion events, better auto-highlight fature 2020-09-01 10:50:08 +02:00
Stefan Schippers 1f73fb825c updated Xschem "About" links 2020-09-01 09:31:34 +02:00
Stefan Schippers 61df74b50b fix svg export if colorscheme changed via menu; allow monochrome svg export via menu Options -> Color Postscript/SVG 2020-08-31 23:11:20 +02:00
Stefan Schippers 60791062ac added -b/--batch cmd option (__unix__ only) to detach xschem completely from console 2020-08-31 21:24:03 +02:00
Stefan Schippers 08bf7cb962 defer tk windows/menu/widgets creation and Xevent binding setup after xinit.c completes X initialization. This avoids theoretical race condidions if a ConfigureNotify or Expose event is delivered before all Xlib initialization completed. 2020-08-31 13:54:37 +02:00
Stefan Schippers 6608230df9 fix segfault when instantiating LCC schematics if sub-schematic attribute translate()s to empty string: draw_string() tries to modify const char * returned from translate(); set more const attributes in function string params to catch more such errors 2020-08-31 02:25:41 +02:00
Stefan Schippers 7ce7654748 fix some race conditions (xevents) when doing a png export from cmdline options; fix svg light colorscheme background (was always black) 2020-08-30 23:58:51 +02:00
Stefan Schippers 858eac08fa ask "wxh" size of png export image 2020-08-30 15:15:18 +02:00
Stefan Schippers 4e48908902 svg and pdf exports use custom layer colors as set in ~/.xschem/colors file if any. 2020-08-30 12:01:48 +02:00
Stefan Schippers a419b6aa63 aligned pdf hardcopy colors to xschem light colorscheme, pdf and svg exports use the enable_layer[] array to display/hide layers as does draw(). 2020-08-30 10:38:29 +02:00
Stefan Schippers 11c940aa09 fix: fullscreen menu item was not working 2020-08-29 22:10:32 +02:00
Stefan Schippers 316ca11e3a removed (draw|filled).*(.*BEGIN, .*) everywhere as it is not needed (just flush graphics with END is enough) 2020-08-29 12:59:27 +02:00
Stefan Schippers 50ae2f80f8 revert back last change: unnecessary and could potentially hide some lines 2020-08-29 12:45:02 +02:00
Stefan Schippers b4477d877a ensure drawline/drawrect proper buffer initialization before drawing moved/copied texts 2020-08-29 12:34:52 +02:00
Stefan Schippers 54e533e3a2 fix svg export text color set with layer attribute 2020-08-29 12:10:47 +02:00
Stefan Schippers f26a0c737e Use text layer (color) attribute for text objects also in no-CAIRO builds 2020-08-29 11:58:50 +02:00
Stefan Schippers d879967fa8 less padding space around menu entries & buttons 2020-08-27 12:57:49 +02:00
Stefan Schippers f1c836fef6 set full path for untitled schematic / symbol name 2020-08-27 11:39:12 +02:00
Stefan Schippers 38a76d463e save(): use abs_sym_path() on current schematic name to ensure it is saved in the right place and found when returning from lower level hierarchies. 2020-08-27 09:52:49 +02:00
Stefan Schippers ec29c2677a enable "preserve unchanged props" checkbutton in text edit prop dialog box 2020-08-24 16:21:50 +02:00
Stefan Schippers d076952bff implemented text attributes "hcenter=true" (center text in reading direction) and "vcenter=true" (center text in direction perpendicular to reading direction). these can both be set for full centered text block. 2020-08-24 15:23:37 +02:00
Stefan Schippers 9070aaeb07 removed obsoleted code in edit property functions 2020-08-24 09:16:11 +02:00
Stefan Schippers 4d6279e152 deleted obsolete code left after last commit 2020-08-24 08:56:48 +02:00
Stefan Schippers 1fa99bd840 added hcenter and vcenter fields and function parameters for centered text (still to be implemented though); When using edit property combobox token selector multiple times update all changed token values in attribute string (instead of only last changed token value), thanks to Joanne Low for pointing out the issue 2020-08-24 08:36:47 +02:00
Stefan Schippers 78188b64a6 removed dead code in text_bbox() 2020-08-21 23:46:30 +02:00
Stefan Schippers fea391fcfd fix bug in subst_tok() ( subst_tok(NULL, "tok", "val") --> NULL instead of "tok=val") 2020-08-21 10:50:27 +02:00
Stefan Schippers b842e020bc snap and grid entries will not annoyingly receive keyboard focus with TAB key 2020-08-19 15:08:35 +02:00
Stefan Schippers 8012c2755f argument # checking in xschem() tcl extender 2020-08-19 10:25:11 +02:00
Stefan Schippers 993d188f1c subst_tok() compacted 2020-08-19 09:06:11 +02:00
Stefan Schippers edca38f942 subst_tok() compacted, more comments 2020-08-19 09:00:44 +02:00
Stefan Schippers aeb4c5d686 subst_token(): replace/delete tokens with no value at end of string: ".....token\0" 2020-08-18 23:45:32 +02:00
Stefan Schippers 649a9e6ba7 subst_tok(): remove dbg info 2020-08-18 23:14:57 +02:00
Stefan Schippers 29212e3892 subst_tok(): never add unmatched token at end if NULL value specified, correctly handle escaped spaces in token values 2020-08-18 23:09:40 +02:00
schippes 57193d3437 fix list_tokens(), reallocation of token was terminating the string at 1st char 2020-08-18 09:39:29 +02:00
schippes 2afc4b70a1 subst_token(): do substitution only on first matching token, avoid clobbering at all successive matching tokens 2020-08-18 02:33:58 +02:00
schippes f4f90b87d2 fix for edit_prop dialog positioning as per Joanne Low feedback on windows, complete rewrite of subst_token() function as it was so intricated and full of malfunctioning corner cases that i decided to do a ground zero rewrite 2020-08-18 01:39:44 +02:00
Stefan SChippers 7cab8d9e73 fix unterminated result in subst_token() 2020-08-17 14:35:45 +02:00
Stefan SChippers 8e4e23cf2d better subst_token() function (add value to token with no value, delete token with no value), added comments 2020-08-17 13:37:27 +02:00
schippes c5440c2b0f make get_tok_value() and subst_tok() work well also with strings containing tokens with no value. 2020-08-17 01:08:13 +02:00
schippes 574900e1df combobox is editable so new attributes can be directly typed in 2020-08-16 15:08:17 +02:00
schippes 2aed232e04 allow adding (with shift-q) other elements while edit property dialog open 2020-08-16 09:41:39 +02:00
schippes 9570439e16 made edit_symbol_property and tcl edit_prop procedure much simpler when user clicks another instance while edit_prop dialog still open 2020-08-16 03:34:45 +02:00
schippes 58a43ccc4d code cleanups, preparing for editprop combobox token selector 2020-08-15 10:48:26 +02:00
schippes ff9e2e7872 when copying a symbol with edit_property dialog ("q" key) and enabling "Copy cell" if a relative path name is supplied for new symbol it will inherit the same path prefix as the original symbol. 2020-08-13 12:56:20 +02:00
schippes aeb6b12d73 fix rel_sym_path proc 2020-08-13 02:46:49 +02:00
schippes ea4513f9c5 changed tcl procs abs_sym_path and rel_sym_path, now the real symbol filename is obtained by prepending one of the XSCHEM_LIBRARY_PATH paths until the symbol is found. This allows more than one directory levels in symbol references. 2020-08-13 02:19:08 +02:00
schippes c5f412bdb7 symbol attribute @symname will display symbol name without extension as it used to be in earlier versions. @symname_ext will print full rootname of symbol. Some doc updates on symbol attributes 2020-08-12 11:31:42 +02:00
schippes 470f452caf fix log message reporting in my_realloc(), fix remove_symbol() if removed symbol in middle of array 2020-08-11 02:55:24 +02:00
schippes 199b408efb removed test mode 2020-08-11 00:31:10 +02:00
schippes afd26a09e2 Joanne fixes: in print_vhdl_primitive, set variable, format, from "vhdl_format" with get_tok_value before checking if its NULL, more work on windows port. 2020-08-10 23:43:20 +02:00
schippes 8dac4753f7 Verilog and vhdl netlisters: print as instance parameters all params listed in instance properties, excluding "name" and all params not listed in template 2020-08-10 14:15:36 +02:00
schippes 6d3df059b1 removed unused file 2020-08-10 09:24:43 +02:00
schippes b8ed97d2d5 removed unused files 2020-08-10 09:22:21 +02:00
schippes 8383bb0e39 removed some dead code, remove_symbol() can remove i-th symbol, not only last one 2020-08-10 09:16:11 +02:00
Stefan SChippers 5e8df730a0 populating xschem git repo 2020-08-08 15:47:34 +02:00