Commit Graph

479 Commits

Author SHA1 Message Date
Stefan Schippers 85d7e565a3 cairo_font_scale can be changed runtime to rescale text fonts, hier_hilight_hash_lookup(() function to hilight an arbitrary hierarchic net; improved xschem list_hilights command 2024-03-24 19:34:30 +01:00
stefan schippers 61b1c0b368 add `Tools->Grab screen area` function (unix only) 2024-03-20 03:53:56 +01:00
stefan schippers 04409cc315 simplified ps_embedded_image(), avoid recoding jpeg if possible (no invert), error checks in edit_image() and get_surface_from_b64data() 2024-03-18 01:08:51 +01:00
stefan schippers d5f7c5c88c cleanups in draw_image(), added command `xschem image` for various operations on images 2024-03-17 01:32:10 +01:00
stefan schippers d30715bc2c add #ifdefs for missing libjpeg libraries to avoid link problems, remove some warnings from compilers/glib versions that tave some functions marked as -Wunused-result 2024-03-15 13:59:52 +01:00
stefan schippers bef157aacf More return codes when something goes wrong, like loading failure of a file given on cmdline 2024-03-15 11:56:35 +01:00
stefan schippers 6c0398a8b6 fix unintended move operation start when clicking a launcher that starts a new schematic and returning to the originating schematic containing the launcher. Added support for direct JPG image import (no JPG->PNG filters) 2024-03-14 11:09:49 +01:00
stefan schippers 19bbbe449a doc updates (developer info) 2024-03-11 18:39:07 +01:00
stefan schippers fdebbb3a6c doc typos 2024-03-11 16:49:59 +01:00
stefan schippers 034e21d78a add some details about wire placement 2024-03-11 16:45:59 +01:00
stefan schippers 3c58cf131e update intuitive_interface_cheatsheet.sch 2024-03-11 16:25:14 +01:00
stefan schippers 03ad183d4c update intuitive_interface_cheatsheet.sch 2024-03-11 16:04:07 +01:00
stefan schippers 5792679daf fix missing initialization of .bus element when pasting lines, updated intuitive_interface_cheatsheet.sch 2024-03-11 15:16:26 +01:00
stefan schippers 8ffe8f1bbe additions to intuitive_interface_cheatsheet.sch 2024-03-11 12:44:11 +01:00
stefan schippers 961a5269b3 additions to intuitive_interface_cheatsheet.sch 2024-03-11 12:17:29 +01:00
stefan schippers 544592d40b scaling of intuitive cheatsheet 2024-03-11 10:02:18 +01:00
stefan schippers ed5601d560 updates in interface cheatsheet 2024-03-11 09:28:35 +01:00
stefan schippers f69debac09 intuitive_interface_cheatsheet.sch /svg update 2024-03-11 01:52:34 +01:00
stefan schippers 05c6f4770b cleanup the use of set_netlist_dir(), never use simuldir directly, updated intuitive_interface_cheatsheet 2024-03-10 23:50:38 +01:00
stefan schippers bf547c5960 fix minor errors in interface cheatsheet 2024-03-10 15:45:43 +01:00
stefan schippers ab2748b385 changed (hopefully final) intuitive_interface_cheatsheet.sch 2024-03-10 15:17:23 +01:00
stefan schippers 762c21aa36 changed intuitive_interface_cheatsheet.sch 2024-03-10 15:08:16 +01:00
stefan schippers 25c4d55fb7 changed intuitive_interface_cheatsheet.sch 2024-03-10 14:41:23 +01:00
stefan schippers 1624f07967 changed intuitive_interface_cheatsheet.sch 2024-03-10 14:14:56 +01:00
stefan schippers 10038b31a5 added intuitive_interface_cheatsheet to devices/ 2024-03-10 14:04:17 +01:00
stefan schippers 90241d2463 Alt-x to toggle crosshair display, removed alt-x and ctrl-shift-X for compare schematic functions (seldom used) improved calculation of `delta` in drawgrid, improved search() (added missing arcs and polygon attribute searches) 2024-03-10 12:11:51 +01:00
stefan schippers 71b1b52384 fix some unwanted persistency of constrained move (now renamed to constr_mv and moved into xctx struct), not being reset at end of command 2024-03-07 17:48:41 +01:00
stefan schippers 866d519531 add 2 more tutorial videos (intuitive_interface and polygon/bezier editing) 2024-03-06 00:23:28 +01:00
stefan schippers 3094e52587 doc updates about automatic port order derivation from spice_sym_def (/tutorial_instance_based_implementation.html) 2024-03-05 22:52:37 +01:00
stefan schippers 3cdd6526c6 add xschem closest_object command, improve intuitive_interface (dont full-select already partially selected item when dragging) 2024-03-05 11:57:15 +01:00
stefan schippers 78ef3091e9 minor doc updates 2024-03-02 12:03:40 +01:00
stefan schippers 2b123fbdfb update docs for polygon editing (point drag, add/delete points), xschem logo update 2024-03-02 11:48:52 +01:00
stefan schippers 783b5c7aaa added wave processor functions `re()` and `im()` to get real and imaginary part from modulus and phase (expressed in deg) 2024-02-25 23:54:39 +01:00
stefan schippers 7a45497b45 add `xschem raw del node` command 2024-02-25 12:21:13 +01:00
stefan schippers 2fae34caa1 fix idx() function in wave processor, unified `xschem raw_query` and `xschem raw` commands 2024-02-25 00:06:15 +01:00
stefan schippers 5a2891e4de add idx() function (return index of point, 0, 1, 2, ...). doc updates about new wave processor functions 2024-02-24 22:35:54 +01:00
stefan schippers bf71dbc9e7 command xschem raw new to use `start end step` instead of `start step number` 2024-02-23 21:58:41 +01:00
stefan schippers 2556cce2c2 doc updates for `xschem raw new` 2024-02-23 01:10:02 +01:00
stefan schippers be22993410 add command `xschem raw_query add <node>` to add a vector <node> with all zeros to the loaded raw file. This vector can then populated with programmatic values using z `xschem raw_query set <node> point value` loop 2024-02-22 19:59:09 +01:00
Luke Harold Miles 7c173f4c04 add xterm configuration instructions 2024-02-20 11:21:55 -08:00
stefan schippers 1336e25e68 added xschem raw_query set node n value [dset] command to change loaded raw data 2024-02-20 17:17:38 +01:00
stefan schippers 31078e45d3 doc updates (custom sweep variable setting in graphs) 2024-02-20 13:07:36 +01:00
stefan schippers b7700f6fdc doc updates (bus signals in graphs) 2024-02-20 11:22:22 +01:00
stefan schippers 66ba05fe2c add xschem list_nets command 2024-02-19 13:03:28 +01:00
stefan schippers 20add157c2 when double clcking (or hitting `q`) to edit attributes if instance has lab=... or value=... select the RHS and position insertion cursor, focus textbox. Add Shift-T bindkey for toggle *_ignore flag 2024-02-17 02:58:53 +01:00
stefan schippers b49d0bb13c minor doc edits 2024-02-16 16:56:51 +01:00
stefan schippers a176f99db5 svgdraw.c: avoid setting stroke-width to excessively small (invisible) values; print_spice_element(): in format string if @param is given and in instance atttributes param=value@tag do a round of resolution of @tag looking in instance attributes, then in parent symbol instance attributes (in case of per-instance implementation (schematic=... attr) and finally in parent symbol template string. Doc udpades 2024-02-16 16:44:33 +01:00
stefan schippers 78daaab06f added documentation about `Instance based SPICE model` and `Subcircuits with SPICE models given as parameters` in tutorial_instance_based_implementation.html 2024-02-14 10:59:40 +01:00
Luke Harold Miles ed3aff9179 add more ngspice_get_value info 2024-02-13 09:40:42 -08:00
stefan schippers af5df351a6 rename xschem setprop inst prop_ptr ... to xschem setprop inst allprops ... 2024-02-13 13:32:14 +01:00
stefan schippers 6a5cca7b3c extend xschem setprop command, add xschem reset_inst_prop command 2024-02-13 13:13:28 +01:00
stefan schippers 81f22b8bb2 symbol texts: do a double translate() if symbol text `@model` resolves to `xxx@name`, so `xxxN1` will be returned. This will not happen if `@model` resolves to xxx\@name` 2024-02-10 13:59:27 +01:00
stefan schippers 55c43e6693 typo in install_xschem.html 2024-02-05 17:05:29 +01:00
stefan schippers 215114fce3 update symbol property syntax docs with new attribute verilog_extra_dir 2024-02-05 12:08:10 +01:00
stefan schippers 778dd2c0dc recognize integrated_noise, improve `xschem preview_window` command 2024-01-27 11:42:05 +01:00
stefan schippers 39a5bd2d4b doc updates (graphs, per signal raw file specification) 2024-01-22 15:22:39 +01:00
stefan schippers 38ff460694 added `xschem fill_reset` command to reset fill patterns defined via tcl array pixdata(n) 2024-01-15 15:53:49 +01:00
stefan schippers c46afdc582 add command `xschem fill_type n fill_type` 2024-01-15 00:45:24 +01:00
stefan schippers 8c55f3a99e add `hide=instance` attribute for in-symbol text objects (in addition to hide=true or hide=false). If set the text is invisible in instantiated symbols, but is visible if descending into the symbol 2024-01-08 15:47:01 +01:00
stefan schippers 0597bae9dc various improvements for automatic port order detection from included subcircuit via spice_sym_def and @pinlist in format string, documentation updates in tutorial_use_existing_subckt.html 2024-01-08 14:57:21 +01:00
stefan schippers d91daea84c extend interval raw file loading to `xschem raw read file type sweep1 sweep2` 2024-01-01 01:28:28 +01:00
Stefan Schippers cd6deb0bf9 xschem raw_read: allow specifying t1 and t2 to load only a portion of simulation file 2023-12-31 20:33:08 +01:00
stefan schippers 97dad1d39c fix typo 2023-12-29 23:06:31 +01:00
stefan schippers bc2676f211 more details on xschem tutorial page about library path management 2023-12-29 22:57:19 +01:00
stefan schippers a95e3597bc Implement vertical flip (shift-V) and vertical flip in place (alt-v), change netlisting mode command moved to bindkey ctrl-shift-V; when opening insert component dialog focus the File/Search entry box 2023-12-23 00:06:01 +01:00
stefan schippers f50a3b15fa doc updates (graphs) 2023-12-18 23:36:01 +01:00
stefan schippers ed477b90a5 eps export 2023-12-12 01:14:40 +01:00
stefan schippers 7e820d05b0 update docs about new additions to the `xschem print` command 2023-12-11 15:22:36 +01:00
stefan schippers f042b940c2 add xschemrc option ps_page_title (default: enabled, 1) to set or hide page title in ps/pdf exports, more precise graph exports in svg and ps/pdf 2023-12-11 10:43:09 +01:00
stefan schippers c360187d8a fast option in `xschem unhilight_all` 2023-12-10 22:15:20 +01:00
stefan schippers 39769187d3 add `xschem set cursor[12]_x` commands for moving graph cursors 2023-12-10 00:28:44 +01:00
stefan schippers c8ced06bbe add `fast` option in xschem hilight_instname. mos_power_ampli: use hilight to show devices with high current 2023-12-09 11:39:04 +01:00
stefan schippers b21ac67cc4 add `xschem set hilight_color` command 2023-12-09 02:09:36 +01:00
stefan schippers c090773afe Opening sub-schematic in new window/tab will inherit raw file loaded and annotation. ngspice::ngspice_data is preserved on context switches now 2023-12-05 13:13:59 +01:00
stefan schippers b2aad10650 changed attribute text_n_size to text_size_n (for efficienty reasons), improved get_tok_val() (use strstr for quick return "" if no token found) 2023-12-03 23:11:36 +01:00
stefan schippers 6648652ae5 allow instance attribute `text_n_size=s` (where s is a double and n is an integer) to set symbol text item `n` to size `s` 2023-12-03 12:26:18 +01:00
stefan schippers b2965f4c3d attribute default_schematic=ignore: if set in a symbol xschem will not descend into the default schematic associated to symbol. Instances MUST specify a schematic attribute 2023-12-02 13:17:32 +01:00
stefan schippers c4e9310d45 allow to load raw files even if netlist type set to `symbol`. Better to_eng function, `xschem raw_query value node {}` returns value at cursor b position 2023-11-26 12:54:37 +01:00
stefan schippers 8d155af82f `Alt-e` does a true descend sub-schematic and opens it in another window 2023-11-20 17:53:28 +01:00
stefan schippers d4cde62870 add draw option in schematic_in_new_window(), create_new_tab(), create_new_window() 2023-11-20 00:12:13 +01:00
stefan schippers 84d945238f `xschem annotate_op file [level]`: added `level` optional integer to specify the hierarchy level op raw data refers to. Add xschem set raw_level to modify the raw level loaded raw file refers to 2023-11-18 12:55:57 +01:00
stefan schippers 2c48b7399e update manual page for sky130 installation (switch from adms to openvaf) 2023-11-18 12:03:09 +01:00
stefan schippers 6360fc1700 refactor reset_flags() to reset_caches(). scripts that set tcl variables that go into attributes via tcleval() should call `xschem reset_caches` to get all things updated. 2023-11-12 20:53:37 +01:00
stefan schippers b63a70090a doc updates 2023-11-12 13:08:51 +01:00
stefan schippers cfdaebf5e1 add `xschem instance_number` command to easily get/set the position of instance in the list 2023-11-04 20:43:04 +01:00
stefan schippers 0b93634fee Better Simulation->Graphs-> Load raw file (ask filename) 2023-11-03 23:37:09 +01:00
stefan schippers 722b1f4575 small improvements in edit_text_property() and get_instance() 2023-11-02 13:24:15 +01:00
stefan schippers 22a5365288 update documentation to previous changes 2023-11-01 15:01:46 +01:00
stefan schippers b60a5a4c4b Add command `xschem setprop text n txt_ptr value` to change a text object text field, set stdout in line buffer mode if used in a pipe, better protect some commands against no X connection 2023-10-31 18:39:42 +01:00
stefan schippers 79a4771a71 update man page (xschem-sky130 integration) 2023-10-30 23:55:23 +01:00
stefan schippers d776d6a351 better handle operating point clear / update when switching / reading / clearing raw files. dont use operating point data (ngspice::ngspice) above the hierarchy level where raw file has been loaded. 2023-10-29 14:04:52 +01:00
stefan schippers a19020ed78 removed find_inst_to_be_redrawn() and related code (not worth doing) 2023-10-29 11:11:45 +01:00
Stefan Schippers 34113c1c5f added tab ctx menu `Save` 2023-10-25 20:30:20 +02:00
stefan schippers d83acf710d add `xschem text_string` command, update displayed floaters if a text object is changed 2023-10-24 18:47:58 +02:00
stefan schippers 10857629e1 add option --pipe (alias for -r / ----no_readline) 2023-10-22 22:16:17 +02:00
stefan schippers c943218af8 doc formatting 2023-10-18 17:20:43 +02:00
stefan schippers a6c1d9761d doc updates (new graph functions) 2023-10-18 17:19:32 +02:00
stefan schippers 1b7a035220 fix graph_fullxzoom in case of non monotonical sweep x axis variable 2023-10-18 16:10:08 +02:00
stefan schippers 306c5d0d15 fix two small memory leaks, doc updates (xschem raw command) Raw.filename renamed to Raw.rawfile 2023-10-17 16:08:27 +02:00
stefan schippers f10555917e optimized usage of interpolate_yval(), add raw->cursor_b_val[] 2023-10-16 09:53:03 +02:00
stefan schippers 53286346e1 doc updates, tcl rawfile variable in place for future per-graph raw file 2023-10-14 23:41:19 +02:00
stefan schippers fb0b1c176a fix typo in docs 2023-10-13 16:03:00 +02:00
stefan schippers 617e6b3b8d update live backannotation if "a" and "b" cursors are swapped, syntax node%n is now allowed to plot only dataset "n" of the node. Update html docs and example autozero_comp circuit 2023-10-13 15:51:51 +02:00
stefan schippers 88a5befbf2 add some cascade menus for less frequently used entries. better description of xschem unselect_all command 2023-10-12 19:37:22 +02:00
stefan schippers 676ce4fe3d lock attribute for rectangles: work the same as for instances (can only double click to reset attributes, not selectable until lock reset to 0), add commands "xschem selected_set rect" and "xschem select_inside x1 y1 x2 y2" 2023-10-12 11:15:12 +02:00
stefan schippers a5545c3dbf fix keybinding doc typo 2023-10-11 23:56:36 +02:00
stefan schippers 0204b7596b first selected instance is now always the master (instead of the first in the xschem array order) when doing an edit attribute on a group of selected elements 2023-10-04 17:15:52 +02:00
stefan schippers 5c7abfa048 optimization for new_prop_string() done. doc updates for instance hide_texts=true attribute, align strboolcmp() to tcl allowed boolean values (1, true, on, yes) 2023-10-03 15:20:30 +02:00
stefan schippers 24bc44ad0c doc updates (text attributes), prepare improvements for new_prop_string() 2023-10-03 13:21:04 +02:00
stefan schippers 9fee9610ab vsource.sym and ammeter.sym: add "savecurrent=1|0|true|false" attribute do decide if a .save I(...) is to be printed in netlist. default is 1 for ammeter.sym and 0 for vsource.sym. Add "deltax deltay rot flip" optional parameters for xschem "copy_objects" command to make copy operation scriptable (lot more efficient than using clipboard) 2023-10-02 12:11:05 +02:00
stefan schippers c569f93a65 added commands xschem get schprop|schvhdprop|schverilogprop|schtedaxprop|schsymbolprop, "xschem create_text" renamed to "xschem text" for syntax consistency 2023-09-29 09:46:31 +02:00
stefan schippers 31492b3955 added xschem set [schsymbolprop|schprop|schverilogprop|schvhdlprop|schtedaxprop] <value> commands for setting global schematic/symbol attributes 2023-09-28 15:45:07 +02:00
stefan schippers cfe97c2ccf extend "xschem rect" and "xschem line" commands, add "xschem get rects n" and "xschem get lines n" 2023-09-28 15:24:23 +02:00
stefan schippers e13922e94f simplify place_symbol(), hash newly placed component name, so successive placements will not clash instance name. hash_all_names() renamed to hash_names() 2023-09-28 13:28:16 +02:00
stefan schippers f3230ceb42 FIX_BROKEN_TILED_FILL can now be changed runtime (fix_broken_tiled_fill) 2023-09-27 01:28:31 +02:00
stefan schippers a4b597cfc2 add Alt-c command for copy object and create nets to connected terminals 2023-09-25 23:23:08 +02:00
stefan schippers 75526cacbe add "xschem create_text" command for placing text objects with CLI 2023-09-24 03:16:53 +02:00
stefan schippers 42c76c9693 doc updates (cut wires) 2023-09-22 16:13:25 +02:00
stefan schippers 8f0d920a96 add draw_crosshair setting in xschemrc: draw a crosshair at mouse coordinates 2023-09-22 12:48:22 +02:00
stefan schippers 8b7156d85e better formatting of developer_info.html so better pdf is automatically created 2023-09-21 01:29:37 +02:00
stefan schippers 53207732b9 minor doc/man updates, typo cleanups 2023-09-19 23:59:01 +02:00
stefan schippers 4c812783ba update tutorial man page about generators(pCells) 2023-09-19 14:47:34 +02:00
stefan schippers 1ee4117ea9 fix typo 2023-09-18 17:18:46 +02:00
stefan schippers 7ffe70cb25 add other schematic manipulation script examples in developer_info.html 2023-09-18 17:16:03 +02:00
stefan schippers ccf2e54572 add some more schematic manipulation script examples in developer_info.html 2023-09-18 15:47:43 +02:00
stefan schippers 662d4c12e5 update xschem developer info man page 2023-09-18 14:09:58 +02:00
stefan schippers 98ffd177ce improve connect by kissing: now 3 move operations are present: 1) just move selection, 2) move adding wires to connected pins/wire endpoints, 3) move by stretching wires attached to pins/endpoints to follow moving objects 2023-09-18 13:29:49 +02:00
stefan schippers 898cfcc2e1 command "xschem change_elem_order" invalidate inst/wire hashes and connectivity to force consistency 2023-09-17 09:45:28 +02:00
stefan schippers 159f07e703 add "xschem rotate_in_place" command 2023-09-17 09:05:21 +02:00
stefan schippers 978d575e22 add tcl command "xschem change_elem_order n" add optional x0 and y0 coordinates as additional parameters to "xschem flip" and "xschem rotate" commands, add command "move_instance inst x y rot flip" 2023-09-17 00:13:52 +02:00
Stefan Schippers f99eb07e23 update keybinding list (missing "s" - simulation) and some minor corrections in commands.html 2023-09-16 17:18:10 +02:00
stefan schippers 816608da3c add one more script example in developer_info man page 2023-09-16 10:28:27 +02:00
stefan schippers 451cc4049e add script examples in developer_info manpage 2023-09-16 09:58:59 +02:00
stefan schippers ac07510513 xschem select: extend command to allow selecting rectangles, lines, polygons, arcs. returns 1 if something selected, 0 otherwise 2023-09-15 17:53:38 +02:00
stefan schippers e0bcc302c9 "xschem connected_nets" command now works for any selected instance, not only labels/probes/pins. Argument can be 0, 1, 2 (2-->select only wire segments drectly attached to selected net/instance) 2023-09-14 09:48:12 +02:00
stefan schippers 34946c2f0a add commands "xschem get wires", "xschem getprop wire n attr", "xschem touch x1 y1 x2 y2 x0 y0", "xschem wire_coord n" 2023-09-14 08:31:01 +02:00
stefan schippers e6211ac93b command "xschem select_dangling_nets": skip ignored instances (lvs_ignore or spice_ignore), return # of selected dangling elements instead of just 1 2023-09-14 01:34:56 +02:00
stefan schippers 75e5d3d5b0 add command "xschem select_dangling_nets" that selects all labels/wires that are not connected to any non-label/non-probe components 2023-09-14 00:57:13 +02:00
stefan schippers a678c81b4c update documentation for change in return code of "xschem switch" command 2023-09-07 20:25:08 +02:00
stefan schippers 519fb2fbf2 add optional "-messages" in "xschem netlist" comand to return ERC messages instead of fail(1)/good(0) code 2023-08-27 13:04:12 +02:00
stefan schippers 19fbba5c60 update docs about parametrized subcircuits, add braces around parameters (some ngspice version require them, some other can live without for simple non expression params), Update text example comp_ngspice.sch 2023-07-13 21:13:56 +02:00
stefan schippers ff66a48df0 doc updates about print command 2023-07-13 14:26:42 +02:00
stefan schippers cf675be805 add "xschem print pdf_full" and "xschem print ps_full" commands to print full view properly fitting paper size, regardless of xschem window size, some fixes in circle postscript drawing (set newpath) and rectangle clipping. Add menu command "PDF/PS export full" 2023-07-13 13:24:17 +02:00
stefan schippers 3c73bb918b add case insensitive matching in xschem search function 2023-07-12 13:58:54 +02:00
stefan schippers 587a847722 add xschem command `xschem instance_coord [instance]`: returns placement coords, rotation, flip of selected or specified instance 2023-07-06 09:12:31 +02:00
stefan schippers e99ad0b044 doc updates (developer info, polygon bindkey) 2023-07-03 21:49:50 +02:00
stefan schippers a329c18bfb (propdel) remove unneeded exec flags 2023-07-03 13:12:40 +02:00
stefan schippers 970c2fce65 fix utile/ stuff uninstall in Makefile 2023-07-03 12:32:57 +02:00
stefan schippers d6404f6beb added install_pdf to create pdf doc from html man pages 2023-07-03 11:38:09 +02:00
stefan schippers 217e7a7907 fix absolute path in create_pdf_man 2023-07-03 09:35:34 +02:00