Commit Graph

2443 Commits

Author SHA1 Message Date
stefan schippers f7287f0c6c add further #if defined(HAS_LIBJPEG) in xschem.h 2024-03-15 14:30:52 +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 56697dfc43 protect inspect_iage with HAS_CAIRO==1 2024-03-15 12:57:42 +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 91a2c98fed has_included_subcircuit(): generate correct port order looking in spice_sym_def provided subcircuit netlist, in case of symbol with vectored ports. TODO: handle vectored instances of such symbols like x1[3:0] 2024-03-15 02:29:49 +01:00
stefan schippers 3bcda95589 improvements in image handling (png/jpg) 2024-03-15 00:37:27 +01:00
stefan schippers d59196f1d4 fix erroneous bbox(START...) call in edit_rect_property() not followed by bbox(SET...) and bbox(END...), possibly locking the UI 2024-03-14 20:25:50 +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 b1b2c3797b rename ps_drawPNG to ps_embedded_image for consistency with svg 2024-03-13 16:03:27 +01:00
stefan schippers c747d59a90 removed redundant Tools menu entries: insert wire label 2024-03-12 22:56:50 +01:00
stefan schippers 927ef74fe1 include in resetwin() the call to create_memory_cairo_ctx() so it will be correctly set up fro multiple windows 2024-03-12 18:21:28 +01:00
stefan schippers 56af3bf427 cleanup in in-memory cairo_ctx creation for text_bbox() when no X used 2024-03-12 12:46:15 +01:00
stefan schippers e4ef7d4dc1 replace cairo_image_surface_create_for_data with cairo_image_surface_create in create_memory_cairo_ctx 2024-03-12 12:03:53 +01:00
stefan schippers 9b8015b437 in_memory cairo_ctx for better font rendering when no X available 2024-03-12 11:48:18 +01:00
stefan schippers de4f44fd40 create_ps() will also use the temporary X connection for better font metrics if possible 2024-03-12 03:04:10 +01:00
stefan schippers 65ba2e1cc4 svg_draw(): if xschem started with -x but cairo is available use a temporary X connection (if X available) to create a cairo context so we get more precise font metricx for text bbox calculations 2024-03-12 02:36:32 +01:00
stefan schippers 560a9c5f57 add `xschem get bbox` command to get whole schematic bbox 2024-03-12 00:09:30 +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 b675e94333 intuitive_interface by default is now enabled 2024-03-11 02:09:28 +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 fa3ee72a1c xinit: evaluate simuldir to adjust netlist_dir depending on local_netlist_dir setting, even if no netlist command given on cmdline, so netlist_dir will always point to the right place in the running session 2024-03-10 16:10:36 +01:00
stefan schippers 1ae2d397ed added intuitive_interface_cheatsheet.sch 2024-03-10 13:32:30 +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 64bfb94b86 svgdraw: add fill=3 (full) handling 2024-03-09 20:07:47 +01:00
Stefan Schippers c75d672d15 remove dbg msg 2024-03-09 18:33:42 +01:00
stefan schippers a855f732c9 fix redundant push_undo() in shape_point_selected ops 2024-03-09 06:16:41 +01:00
stefan schippers 3a412e8e6f fix redundant push_undo() in drag_elements 2024-03-09 06:08:22 +01:00
stefan schippers 218d4ad3f2 fill=solid in addition to fill=1 (stippled fill) or fill=0 (no fill) for rectangles, polygon/beziers and circles 2024-03-09 03:12:25 +01:00
stefan schippers 414274f4a3 add an example for postinit_commands in xschemrc 2024-03-08 23:13:02 +01:00
stefan schippers bbba395582 reordering execution of simulation callback after deletion of execute(win_path,$id)_simulate_id 2024-03-08 22:29:53 +01:00
stefan schippers ddcac8c69c fix some race conditions and execution order of callbacks given in simulate commands inside postinit_commands at startup 2024-03-08 19:19:30 +01:00
stefan schippers 904526408b some (commented) postinit_commands examples in xschemrc 2024-03-08 16:47:43 +01:00
stefan schippers d85ea9461c postinit_commands: execute at global scope 2024-03-08 16:05:43 +01:00
stefan schippers 0611c7a6e7 allow select and drag graphs by clicking the upper border too 2024-03-08 15:08:47 +01:00
stefan schippers 064e7accde xschem raw new: allow create multiple `sim_type`s in same raw name; some color adjtstments (background) in widgets 2024-03-08 11:56:59 +01:00
stefan schippers 53fdf69f9e remove debug msgs 2024-03-08 11:09:16 +01:00
stefan schippers ae69c55bd8 fix error in plot_raw_custom_data() wave expression calculator (missing part of the expression due to an improper `else if` 2024-03-08 11:07:14 +01:00
stefan schippers 336a132219 update inst_sch_select.sch, fix constrained move reset in intuitive_interface 2024-03-08 00:48:05 +01:00
stefan schippers 93722e8a21 comment typo, add one more example in inst_sch_select.sch 2024-03-08 00:08:48 +01:00
stefan schippers cf002964f3 fix wrong unselection of text objects after changing text layer (delete_only_rect_line_arc_poly() erroneously setting xctx->lastsel to 0) 2024-03-07 23:38:00 +01:00
stefan schippers 132d335757 fix a regression in merge_file(0,...) from user provided file being aborted 2024-03-07 18:32:42 +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 1fc335cec2 cleanup expression for tmp_rot in draw_selection() 2024-03-07 15:27:13 +01:00
stefan schippers 943c8f4453 fix a regression in the display of rttaing/flipping objects while moving 2024-03-07 13:28:47 +01:00
stefan schippers f57f09ee12 allow rotate/flip objects while moving in intuitive interface (Button1 pressed) 2024-03-07 12:31:18 +01:00
stefan schippers b0f1828eb8 simconf dialog box: remember geometry in current session 2024-03-07 12:03:43 +01:00
stefan schippers 3d7f8dff82 initialize file_dialog_retval to empty when clicking one of the recently used symbols in the `Recent` toolbox to avoid an abort operation on the very first time when leaving the file browser dialog (bind .load <Leave> event) 2024-03-07 01:05:23 +01:00
stefan schippers 76678ab8b6 drag wires from pins: improvements on previous commit 2024-03-07 00:08:47 +01:00
stefan schippers 022a0ebb5e drag wires from pins: if instance is selected can drag wire from pin even if there are already other wires attached 2024-03-06 20:04:15 +01:00
stefan schippers a7034ce2d1 directly create new wires by clicking and dragging from unconnected instance pins (if intuitive_interface is enabled) 2024-03-06 16:27:14 +01:00
stefan schippers d6eeefcfff set graphdialog back to transient (focus robbery issues on mate/cinnamon desktops) 2024-03-06 14:19:26 +01:00
stefan schippers 08cb3b2475 graphdialog: remember its size in current session 2024-03-06 13:41:47 +01:00
stefan schippers 4d3af62ee1 intuitive_interface: if clicking without shift all other selected objects will be unselected 2024-03-06 13:02:53 +01:00
stefan schippers f663a6486d intuitive_interface: if clicking without shift all other selected objects will be unselected 2024-03-06 12:58:29 +01:00
stefan schippers 174d590ad1 fix some regressions (place wires/lines/polys/rectangles from context menu), restore selection when creating a new arc 2024-03-06 12:53:49 +01:00
stefan schippers c88a8334a5 simconf: fix select color of checkbuttons 2024-03-06 03:36:57 +01:00
stefan schippers ad7f4713cf disable -stretch option in panedwindows when non supported on older tcl versions 2024-03-06 03:23:31 +01:00
stefan schippers e71a7374b2 proc has_included_subcircuit: better filter newlines in `.include file` lines in spice_sym_def attributes 2024-03-06 01:50:43 +01:00
stefan schippers 72e613785a fix some graphical artifacts when moving crosshair over partially selected objects (missing rebuild_selected_array()) 2024-03-05 23:17:42 +01:00
stefan schippers 7b107621ef dark_gui_colorscheme toolbar 2024-03-05 18:08:01 +01:00
stefan schippers ffd105a3e7 canvas ctx menu: fixed colors (not affected by dark_gui_colorscheme) 2024-03-05 13:22:12 +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 ceafdedbbd intuitive_interface fix bug(3): cleanup 2024-03-05 10:04:39 +01:00
stefan schippers 02247d13bb intuitive_interface fix bug(2) (did unselect all when clicking on a new instance) 2024-03-05 09:58:48 +01:00
stefan schippers 733d5a9bb1 intuitive_interface fix bug (did unselect all when clicking on a new instance) 2024-03-05 09:55:35 +01:00
stefan schippers 99e2c9e503 various improvements in intuitive_interface and shape point selection 2024-03-05 02:54:35 +01:00
stefan schippers 2bd8be9dec remove debug info 2024-03-05 00:32:57 +01:00
stefan schippers f1bb389986 fix make_sym.awk: if an existing symbol is present with empty (or white space) attributes do not preserve these, force new default attributes (name=... template=... format=...) 2024-03-05 00:19:07 +01:00
stefan schippers 0129046499 add some padding to text in left listbox in load_file_dialog 2024-03-04 23:49:55 +01:00
Stefan Schippers 5be402ea22 add Option menu `draw crosshair`, some fixes for crosshair restoring when unselecting 2024-03-04 20:42:29 +01:00
stefan schippers 73ab9de8da better threshold for selecting rectangle vertices 2024-03-04 17:44:35 +01:00
stefan schippers 4a418924eb add line and wire direct endpoint editing 2024-03-04 17:13:36 +01:00
stefan schippers b3a52015f1 add rectangle point editing (vertices can be drag directly) 2024-03-04 16:33:20 +01:00
stefan schippers 973d2c7415 remove dbg mesages 2024-03-04 15:33:11 +01:00
stefan schippers 7daea289a2 refactored callback() (more sub-functions), some fixes in copy between windows 2024-03-04 14:38:32 +01:00
stefan schippers 128e91ce28 re-set xctx->intuitive_interface in context switches from $intuitive_interface in housekeeping_ctx 2024-03-04 02:09:30 +01:00
stefan schippers 5d9de6a697 refactor some variable names in callback() (Button1 events) 2024-03-04 01:25:29 +01:00
Stefan Schippers 6d7a4ab377 Intuitive interface: Shift-click and drag will duplicate objectt instead of moving and creating wires. cleanup polygon point editing (removed redundant code) 2024-03-03 20:13:43 +01:00
stefan schippers 3fac387e62 Intuitive interface: do not start move operations if clicking with SHift key pressed. Too many side effects. 2024-03-03 12:34:15 +01:00
stefan schippers d529f21d88 do not start xctx->drag_elements if xctx->poly_point_selected is set 2024-03-03 05:15:51 +01:00
stefan schippers 5e4fcabf39 set foreground of tooltip text so it can not be screwed up depending on colorscheme 2024-03-03 05:05:41 +01:00
stefan schippers 2561014b75 fix a missing return in drawbezier when called for cleanup, add a filter for $has_x before applying option instructions in xschem.tcl 2024-03-03 04:47:02 +01:00
stefan schippers efa413c4ec rename `Paste selection` in context menu to `Paste clipboard` to avoid confusion 2024-03-03 04:23:35 +01:00
stefan schippers 55ac6bb396 further fix previous regression 2024-03-03 04:21:49 +01:00
stefan schippers 54e446dbc2 fix regression: sel_or_clip filename not updated in merge_file() and in save_selection(). Fixed commit `copy between windows: allow to navigate between more than 2 windows` 2024-03-03 03:17:53 +01:00
stefan schippers c07871d4ee fix position of if(waves_selected(event, key, state, button)) in callback ButtonRelease 2024-03-03 02:24:38 +01:00
stefan schippers 5e6ab50836 further improve dark/light gui coloschemes 2024-03-03 01:57:02 +01:00
stefan schippers 48e93c4e37 added dark_gui_colorscheme (default: 0) for dark widget colorscheme configuration. Enabled again partial select (resize) of arcs 2024-03-03 00:40:51 +01:00
Stefan Schippers 96f6336234 set some black fg colors where bg is specified as white 2024-03-02 18:34:54 +01:00
Stefan Schippers 030702f31a set default foreground, background and various colors to avoid things geting screwed up by desktop themers 2024-03-02 18:03:03 +01:00
Stefan Schippers c49fd0bfc9 various fixes for intuitive_interface / drag_elements 2024-03-02 16:28:22 +01:00
Stefan Schippers 825c671660 fix intuitive_interface: selecting other objects with mouse srea select + shift will not start a move operation 2024-03-02 16:03:37 +01:00
stefan schippers 77cd3eec56 added intuitive_interface xschemrc and menu option: click and drag to quickly move objects without keyboard commands 2024-03-02 14:15:30 +01:00
stefan schippers 731dd91018 do a change linewidth before redrawing after invoking set_snap(), before draw() 2024-03-02 03:46:08 +01:00
stefan schippers 41d126b3c6 revert: don`t print rectangle bboxes around circles as this createed a black sinkhole and a chain-reaction of issues 2024-03-02 03:31:24 +01:00
stefan schippers 1ecf5a30f8 fix wrong bounding rectangle coordinate in circle bbox (drawtemparc()) 2024-03-02 02:43:49 +01:00
stefan schippers 9f167f9568 allow launcher style behaviourrt (tclcommand / url attributes) on all objects. Add (shift + but1 click) and Delete (Ctrl+ But1 click) polygon points. fixed some graphical artifacs when adding new object while some selection is present 2024-03-02 02:29:03 +01:00
stefan schippers 9f04c22aa0 UI cleanups related to polygon point dragging. Prepare for polygon add/delete points 2024-03-01 20:05:45 +01:00
stefan schippers 7ca9819e13 when locating polygon point to be dragged select first found if there are overlaping points 2024-03-01 19:13:29 +01:00
stefan schippers 51d13d73c0 precise selection of beziers based on the actual path and not the corresponding polygon 2024-03-01 18:20:57 +01:00
stefan schippers e897aee1c4 added bezier export in svg and postscript code 2024-03-01 17:23:49 +01:00
stefan schippers 7073b5b78c better notation of arc pointers in draw() 2024-03-01 16:03:24 +01:00
stefan schippers f903a018b2 removed partial select of arcs, will be replaced in the future by bound box resizing and ability to draw ellipses 2024-03-01 15:04:38 +01:00
stefan schippers 2f9d9e1755 dont allow recursive polygon placements (complete or abort before starting new) 2024-03-01 12:19:15 +01:00
stefan schippers a554ee0afa fix a typo in callback.c, remember size of text attribute set dialog box 2024-03-01 02:33:32 +01:00
stefan schippers 724449a1b3 comments in code about polygon point dragging 2024-03-01 00:48:04 +01:00
stefan schippers 28aec3fad8 fix error in set_snap(): should not do a redraw (draw() ) here, causing a segfault if x11/tk structures are not ready yet. add draw() in places where this function is called if there is something to draw/ 2024-03-01 00:39:24 +01:00
stefan schippers 263b72de03 add tcl in addition to sch and sym in default search filter in load_file_dialog 2024-03-01 00:29:23 +01:00
stefan schippers 1cb94bedd6 drawtemppolygon: draw/clear correctly control points when moving if no `Fix for broken GPUs option` is set 2024-03-01 00:23:07 +01:00
stefan schippers e946a729f8 add ability to click and drag directly polygon/bezier points 2024-03-01 00:12:44 +01:00
stefan schippers fb6d73723e display control point circles when polygon or bezier selected, simplify bezier drawing (no use pow(), no use precomputed cached power values) 2024-02-29 11:11:33 +01:00
stefan schippers 507c44e117 speed optimizations in drawbezier() 2024-02-29 04:41:06 +01:00
stefan schippers f4560a0add bezier shapes can be drawn (polygon with attribute `bezier=1`) 2024-02-29 03:40:08 +01:00
stefan schippers 714acfd5c9 tabulate: allow specify alternate separator characters 2024-02-28 18:12:40 +01:00
stefan schippers 599746c4b4 remove debug msg 2024-02-28 16:21:43 +01:00
stefan schippers 6a6881ff47 change_elem_order(): allow to change oder of text elements; add tcl tabulate procedure for pretty encapsulating tabular text into a nice ascii table frame. 2024-02-28 16:20:59 +01:00
stefan schippers 236f4967a9 use `flags: complex` in raw file in addition to `Plotname: ac` to determine if data is stored as complex numbers 2024-02-28 00:08:08 +01:00
stefan schippers 5fe6fa4639 xschem raw read: allow to read raw file with unspecified type (will get the first section found in file) 2024-02-27 23:42:19 +01:00
stefan schippers 2f1b819755 extra_rawfile: added null sim_type (type) check in table_read 2024-02-27 23:32:53 +01:00
stefan schippers 0ab7affda2 restore_selection(): add line width to bounding box of selection to eliminate graphic artifacts 2024-02-27 16:43:49 +01:00
stefan schippers 8515f25e25 fix regression in translate (check instances out of bound) affecting copy_objects() 2024-02-27 13:06:19 +01:00
stefan schippers 6ac58eb880 fix regression in translate (check instances out of bound) affecting place_symbol() 2024-02-27 12:51:20 +01:00
stefan schippers 7ede51737d table_read: skip empty csv rows (some tools save as ,,,,,) 2024-02-27 11:56:18 +01:00
stefan schippers 95fc6377d4 get rid of `sim_type=tablefile`, use `table` (scheduler.c, extra_rawfile()) for reding tables 2024-02-27 11:27:29 +01:00
stefan schippers 1e3ac96085 table_read(): read csv files 2024-02-27 10:24:21 +01:00
stefan schippers 354f027b9b call translate(-1, ..) for text objects containing @... and referencing no valid instance (floater=true) so non instance-related @vars are resolved. translate(): resolve @spice_get_voltage(net) without trying to calculated fqnet from net if no valid inst (-1) is given 2024-02-26 16:05:11 +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 203cf38e1e add option `keep_symbols in xschemrc to avoid purging symbols when netlisting /descending hierarchy. Add functions atan, asin,acos, cosh, sinh, atanh,acosh,asinh in wave processor 2024-02-24 13:15:43 +01:00
stefan schippers de2572e448 fix an off by 1 array bound in raw_add_vector 2024-02-24 01:53:26 +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 4e0c344493 better status reporting in xschem raw_query command 2024-02-23 13:29:53 +01:00
stefan schippers 44707d71db extend command `xschem raw_query add [expr]` for fast (C-speed) expression calculation 2024-02-23 12:46:03 +01:00
stefan schippers d1bd5140fe various bug fixes for `xschem raw new` command 2024-02-23 04:19:29 +01:00
stefan schippers 23092fc963 do not rely on raw file existence to decide if a raw is loaded. Added a function raw_is_loaded for that 2024-02-23 01:51:35 +01:00
stefan schippers ac3f3acb62 added command `xschem raw new name type sweepvar start step number` that creates an in-memory plot (like a loaded raw file) with only the sweep variable 2024-02-23 01:03:20 +01:00
stefan schippers de5c068775 file open dialog box: added red border when search entry focused 2024-02-22 20:36:23 +01:00
stefan schippers 515dee1ce8 file open dialog box: start with search entry focused and selected. Will take focus when iterating with TAB key 2024-02-22 20:29:24 +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
stefan schippers 965bf381ea fix regression in xschem raw_read_from_attr when invoked from launcher 2024-02-22 14:36:34 +01:00
stefan schippers 446c0d687a add command `xschem raw table_read table_file` to read an ascii table file without closing other loaded raw files 2024-02-21 23:16:58 +01:00
stefan schippers 8986b7e0b8 load_file_dialog: fix a missing global declaration, fix double button click in right listbox 2024-02-21 15:02:30 +01:00
stefan schippers e347a251b0 load_file_dialog: separate search/file entries, better keyboard navigation 2024-02-21 14:02:58 +01:00
stefan schippers 69dec6c677 proc load_file_dialog: better allow mouseless operation (use keyboard enter/ arrow keys) 2024-02-21 00:15:59 +01: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 99a01300c5 fix automatic sending bussed signals to graph (Alt-g) 2024-02-20 11:05:52 +01:00
stefan schippers 66ba05fe2c add xschem list_nets command 2024-02-19 13:03:28 +01:00
stefan schippers f547c86f1e preview window in file open dialog box is x/y resizable 2024-02-17 04:40:37 +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 91829bf99d replace exec with execute_wait in proc convert_to_pdf when launching ps2pdf, so stderr messages will not be treated as a failure 2024-02-17 00:15:37 +01:00
stefan schippers 8b55066978 proc tclpropeval2: $sch_basename: remove path elements (use [file tail]) 2024-02-16 23:24:54 +01:00
stefan schippers 876f26cb80 proc tclpropeval2: make global var sch_basename (schematic name with no extension) available to TCL expressions 2024-02-16 23:17:54 +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 7a589ef4fb change default SPICE_DATA from float to double 2024-02-15 11:26:13 +01: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 91bcdfae20 spice_netlist(): do a round of tcl_hook2() (resolve tcleval(...)) on device_model attribute 2024-02-11 17:41:10 +01:00
Stefan Schippers 87fa701283 spice.awk: handle per-instance .subckt lines of vector instances 2024-02-11 16:55:57 +01:00
stefan schippers 5f4401258f spice.awk: handle per-instance .model lines of vector instances 2024-02-11 15:15:46 +01:00
stefan schippers 531a9c168c pass @device_model in symbols through translate() if it contains @xxx tokens 2024-02-11 11:47:13 +01:00
stefan schippers b3daf97cc4 remove @path resolution in print_*_element(): meaningless 2024-02-11 03:06:22 +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 8aa62f2efa parametric models in subcircuits (model=@mod in instances, mod=xxx in parent instantiation) 2024-02-09 18:39:09 +01:00
stefan schippers 1cbbed77ba first commit for parametric models in subckts --DO NOT USE-- 2024-02-09 17:00:56 +01:00
stefan schippers c06a896d4f instance based schematic selection: if instance specified schematic=... not existing use base schematic (symbolname.sch) 2024-02-09 02:37:53 +01:00
stefan schippers 7639d65dc5 update make_sch_from_vhdl.awk (compliance with regexp syntax) 2024-02-07 12:32:07 +01:00
stefan schippers 59cf2fff1d remove trailing "/" in netlist_dir if present 2024-02-06 10:32:22 +01:00
stefan schippers da72478265 proc graph_edit_properties: "unlock X axis" checkbutton state immediately applied to graph, not only after closing dialog. 2024-02-05 23:33:25 +01:00
stefan schippers 29d2541b21 fix regression in get_sym_template() 2024-02-05 16:37:00 +01:00
stefan schippers fa533c725a remove dbg messages 2024-02-05 14:49:20 +01:00
stefan schippers 96494dc73a get_sym_template: fix possible unterminated result string 2024-02-05 13:47:49 +01:00
stefan schippers b2b5b48cfe replace chan configure with fconfigure for older tcl compatibility 2024-02-05 11:49:13 +01:00
stefan schippers 046c23addd add verilog_extra_dir symbol attribute to allow specify "ports by attribute" directions: verilog_extra_dir="VCC=input GND=input" verilog_extra="VCC GND" extra="VCC GND" ....; proc set_netlist_dir will show the last set simulation directory instead of the default ~/.xschem/simulations. Changed background color of menu radiobuttons for clarity. 2024-02-05 11:14:51 +01:00
stefan schippers fdc2fb5517 fix a regression in proc set_paths (erroneusly set file_dialog_files1) 2024-02-05 00:32:24 +01:00
stefan schippers 8ec3e52122 allow parametric models in subcircuits. Symbol inv.sym contains template="... modp=cmos_p_10 ...", pmos instance in inv.sch contains model=@modp, instance format string contains format="@name @pinlist @model w=@w l=@l, result is: "m2 y a VCCPIN VCCPIN cmos_p_10 w=wp l=lp" 2024-02-03 13:43:18 +01:00
stefan schippers 7bfed5907c added lcc[level].prop_ptr and lcc[level].templ printing in `xschem globals` command 2024-02-03 00:42:25 +01:00
stefan schippers 331722ab07 fix too early xctx->currsch increment in descend_symbol() 2024-02-02 10:48:51 +01:00
stefan schippers 304d42b928 Add WM_DELETE_WINDOW action on load_file_dialog widget 2024-01-31 18:54:30 +01:00
stefan schippers 8f3e0be4fe load_file_dialog: checkbutton for displaying only name / full path of component directories 2024-01-30 19:15:08 +01:00
stefan schippers 778dd2c0dc recognize integrated_noise, improve `xschem preview_window` command 2024-01-27 11:42:05 +01:00
stefan schippers a1c2569506 revert previous: print_spice_element(): do 2nd level translate() only on `model` tokens whose value contains @variables. 2024-01-22 18:57:42 +01:00
stefan schippers 24844b3d4c print_spice_element(): do 2nd level translate() only on `device_model` tokens whose value contains @variables. 2024-01-22 18:53:04 +01:00
stefan schippers 1f35fdf05c add `spectrum` type analysis in graph dialog sim type combobox. Make sp and spectrum aliases of ac in read_dataset() and extra_rawfile() 2024-01-22 01:19:27 +01:00
stefan schippers 9ceb274b5e print_spice_element(): when expanding format @variables, if substituted value contains @var do another round of translate() to replace @var with instance assigned var=xxx value 2024-01-21 00:00:01 +01:00
Stefan Schippers 289a979c61 translate() on device_model inst attr: avoid tcl_hook2 in get_tok_value() as already done in translate() 2024-01-20 19:52:16 +01:00
Stefan Schippers e50c6f0df1 pass instance `device_models=...` attribute through translate() so @vars are resolved 2024-01-20 19:40:49 +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 17e24e0f5f has_included_subcircuit(): correctly handle bussed ports in symbol and spice .subckt file 2024-01-14 11:28:51 +01:00
stefan schippers ac04ce5c55 set tab/window title if xschem invoked with `xschem -n file.sch`. fix poweramp.sch testbench for Xyce sim. 2024-01-11 08:19:25 +01:00
stefan schippers a7f1b2a5f1 add Spectrum analysis recogniztion (yet another ac type) in raw files 2024-01-08 23:59:55 +01:00
stefan schippers 6c163d5cb0 has_included_subcircuit(): get symname from `schematic` attribute if set in instance or symbol, or use actual symbol name, add tb_symbol_include.sch example circuit 2024-01-08 17:19:12 +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 d2c6566030 when doing spice netlist, if a symbol has the spice_sym_def attribute set and is using @pinlist in format string for port order, get the port order from the subckt given in spice_sym_def, either directly or through a .include line 2024-01-08 03:24:59 +01:00
Stefan Schippers 0f7785d588 initial implementation of `has_included_subcircuit()` 2024-01-07 19:51:48 +01:00
stefan schippers f0e739cf02 .load.l.paneright.list better positioning (remember last selection), print_spice_subckt_nodes(): use my_mstrcat() instead of fprintf, for future enhancements 2024-01-06 12:14:36 +01:00
stefan schippers dcef3d4b9d waves_callback(): do not set GRAPHPAN when setting cursor position numerically 2024-01-05 11:21:34 +01:00
stefan schippers 1fa490b066 some fixes on numerical cursor adjustments (for log X scales) 2024-01-05 03:13:51 +01:00
stefan schippers 90ce40da2c Right click on a graph cursor allows to set the cursor position numerically 2024-01-05 02:08:13 +01:00
stefan schippers 7982c67bf6 display cursor difference measurement also in log x axis graphs 2024-01-04 01:41:40 +01:00
stefan schippers 6215a89605 fix verilog_bitblast not declared as global in proc netlist (typo) 2024-01-02 23:18:00 +01:00
stefan schippers d77fb43e5e Configure simulators and tools: rearrange buttons behavior: `Accept, no SAve and CLose` and `Accept, SAve and Close` 2024-01-01 10:54:05 +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 64ca25b9fe proc netlist: do not attempt to change a button color if xschem started with -x (no X) 2023-12-28 23:28:18 +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 fbfbef384c when pressing netlist button or executing `xschem netlist` command turn Waves button (if waves are loaded) to yellow to indicate old waves are shown 2023-12-22 16:28:49 +01:00
stefan schippers 77c99c2202 handle xyce y-devices in nspice netlists 2023-12-22 12:01:55 +01:00
stefan schippers f50a3b15fa doc updates (graphs) 2023-12-18 23:36:01 +01:00
stefan schippers 2a8c5e487a avoid %%BeginSetup, %%BeginPageSetup if doing eps 2023-12-12 02:18:31 +01:00
stefan schippers 78b26fc36d add missing %%EndSetup DSC comment 2023-12-12 01:59:27 +01:00
stefan schippers 61ad259ac9 removed redundant %%trailer dsc comment 2023-12-12 01:27:59 +01:00
stefan schippers ed477b90a5 eps export 2023-12-12 01:14:40 +01:00
stefan schippers 441e27e8ca preserve existing line width when creating new windows / tabs 2023-12-11 18:59:46 +01:00
stefan schippers bf0ef23739 setting line width in View menu will automatcally disable change line width with zoom 2023-12-11 18:31:19 +01:00
stefan schippers 379938fe03 if selection is present when exporting pdf assume it is a bboxed pdf, do not print page title. Fix set_viewport_size setting line width to 1 instead of using current value 2023-12-11 18:28:23 +01:00
stefan schippers b95289ca5e better line width calculation / restore in export images 2023-12-11 16:06:49 +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 4cb060f817 better placement of graphs in image exports. If something is selected export image will export selection. Add ability to specify area to print in ps/pdf export (set media size to bbox) 2023-12-11 15:18:46 +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 7a39f4d6ca better resolution of exported graphs in ps/pdf and svg 2023-12-09 23:39:33 +01:00
stefan schippers 1285ba0cd4 while opening a sub-schematic in another window propagate cursora/b/ annotate info 2023-12-09 13:26:18 +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 eb471528f9 better cut wires inside symbols --> break_wires_at_pins(1) 2023-12-09 00:32:41 +01:00
stefan schippers e23345ad0b removed some #ifndef-ed code in cairo_jpg.c 2023-12-08 13:38:36 +01:00
stefan schippers e53ca7fff8 xschem setprop: if new attribute changes symbol (as in case of generators) do a match_symbol() to update 2023-12-08 00:36:49 +01:00
stefan schippers d094ef55b7 fix setting old_translated_sym in update_symbol() 2023-12-07 18:28:44 +01:00
stefan schippers a0237b59b3 eliminated some redundant operations on instance flags (set_inst_flags() does the job) 2023-12-07 18:07:42 +01:00
stefan schippers 8c81f629d0 fix a regression introduced by saving/restoring tcl context in preview_window() 2023-12-07 16:02:31 +01:00
stefan schippers 8269eff430 save / restore tcl context when creating / destroying preview window 2023-12-05 18:50:46 +01:00
stefan schippers b8fecf997b avoid showing alert box if enabling / disabling stretch mode by bindkey 2023-12-05 17:32:48 +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 28ed1351f1 spice.awk: do not join user code lines 2023-12-03 21:33:03 +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 6c1dadd27c flush unused symbols at end of netlist 2023-12-02 23:25:54 +01:00
stefan schippers 8305024cd6 break.awk: do not break user code lines in spice netlists 2023-12-02 23:00:44 +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 5cb5ec9031 local_netlist_dir: use only last path component of schematic when creating simulation directories 2023-12-02 04:28:04 +01:00
stefan schippers c424a25d66 add xctx->last_command in xshem globals debug command 2023-12-02 00:58:57 +01:00
stefan schippers a797bc593f when in `persistent command` wire or line placement mode, a first escape clear the ongoing placement, a second escape clears the wiring or line-ing command 2023-12-01 23:05:07 +01:00
stefan schippers b9ef032a2a Add SImulation radiobutton for setting local netlist directory as [library]/simulation/[cellname]. Change netlisting directory if `set local_netlist_dir` is set via --tcl cmdline 2023-12-01 14:08:42 +01:00
stefan schippers 37c6229a21 xinit.c: do a `xschem set format lvs_format` if lvs_netlist is set via xschemrc or command line 2023-12-01 12:11:12 +01:00
stefan schippers 4090011a64 avoid tk_messageBox in reload schematic warning message (blocks event loop). Avoid using xschem specific XSCHEM_SHAREDIR in utile/utile (can be used standalone) 2023-11-30 20:52:28 +01:00