Commit Graph

2443 Commits

Author SHA1 Message Date
stefan schippers 6db52b125c fix missing type for sym_vs_sch_pins(all) 2024-05-10 08:06:39 +02:00
stefan schippers be06ed50cb if top level schematic has an associated symbol (.sym) file ensure their ports match, otherwise issue an error. if netlisting fails return non zero exit code if netlisting from command line 2024-05-09 02:10:45 +02:00
stefan schippers 5e5dc5c3e5 translate(): return @spice_get_* tokens in engineerring notation if no tcleval(...) is used (no further expr processing) 2024-05-04 09:02:34 +02:00
stefan schippers 60c5230727 resolved_net(): resolve nets passed to symbols via attributes, avoid using dtoa_eng() in returned spice voltages, use dtoa(), since it may be used further in tcl expressions. 2024-05-03 15:00:51 +02:00
stefan schippers 7d181e43a1 spice_get_voltage attributes: assume "0" and "GND" equal to 0.0V (not saved by simulator), added vgs and vds showing in nmos4.sym and pmos4.sym if show/hide->show hidden texts enabled 2024-05-03 12:10:37 +02:00
stefan schippers 02e0705bf4 little adjust default layer 11 color (green) 2024-05-02 17:44:56 +02:00
stefan schippers c544c5bd6e xinit.c: test for tcl_interactive existence before testing value 2024-05-02 17:33:43 +02:00
stefan schippers c7bf1300c1 some better code formatting 2024-05-02 17:24:31 +02:00
stefan schippers 91fafecffb added some @#pin_name:spice_get_voltage examples on symbols, if no voltage is found return "" instead of "--UNDEF--" 2024-05-02 15:19:34 +02:00
stefan schippers 501fb7943f removed completely menu View->Show/hide->Show net names on symbol pins 2024-05-02 14:41:15 +02:00
stefan schippers 9c750b5044 add @#pin:spice_get_voltage attribute for pin texts that displays voltage of net attached to pin. remove net_name=... attributes from symbols and instance global attributes since it is no more used. set default value for show_pin_net_names to 1. 2024-05-02 10:32:12 +02:00
stefan schippers ba44bfb337 config.h: generate HAS_LIBREADLINE, do not add #include line for libreadline (yet) as this is wip 2024-05-01 11:53:54 +02:00
stefan schippers 6f9ddff72f revert change `do not load XSCHEM_LIBRARY_PATH if options are given on cmdline`. if no file to load is given $XSCHEM_LIBRARY_PATH will be loaded regardless of command line switches 2024-04-30 11:00:37 +02:00
stefan schippers 5a4b2cc6e0 launcher(): issue a warning dialog box if no action is defined (url or tclcommand) 2024-04-25 12:22:15 +02:00
stefan schippers 9631cd2bcf launcher(): bring up an alert dialog if tclcommand did not execute successfully 2024-04-25 12:10:56 +02:00
stefan schippers 60d4fd2345 drc_check(): if no fet_drc procedure found do nothing 2024-04-25 09:13:23 +02:00
stefan schippers c871efa627 xschem image rectangles: allow to fetch urls using filter="tcleval(wget --quiet http://.... -O -)" and image="" 2024-04-22 18:00:15 +02:00
stefan schippers 62eb256159 xschem wave processor: added <, >, <=, >=, ==, != and contitional ? (3 operands) operator 2024-04-22 15:11:25 +02:00
stefan schippers 6fc89f8d0b added comments in developer_info man page 2024-04-19 23:53:36 +02:00
stefan schippers b525252612 preview_window() : BUG 2: test for NULL tkpre_window[i] 2024-04-19 19:17:18 +02:00
stefan schippers c485bcd8a2 preview_window() : BUG: fix order of statements 2024-04-19 19:12:23 +02:00
stefan schippers 34a06d964d preview_window() : allow up to 10 simultaneous preview windows open 2024-04-19 19:05:38 +02:00
stefan schippers 372b21ae07 no load XSCHEM_START_WINDOW if cli options given (2); remove one unneeded var in preview_window() 2024-04-19 17:08:37 +02:00
stefan schippers 6b54542ab4 do not load XSCHEM_LIBRARY_PATH if options are given on cmdline 2024-04-19 13:55:25 +02:00
stefan schippers 531a19ce59 doc updates (xschem raw values with dset = -1) 2024-04-19 12:32:41 +02:00
stefan schippers 00d367ae0c Add xctx->mouse_moved state var to better handle ctrl-clicks (launcher() trigger) 2024-04-18 20:47:06 +02:00
stefan schippers 69ecb82750 in intuitive_interface allow to trigger laucher() by ctrl-click (if no mouse is moved), do not clear set_first_sel() data in intuitive_interface when clicking (without moving) multiple objects, better recognize .subckr or .model name in device_model attributes 2024-04-18 11:40:51 +02:00
stefan schippers 83f62bfdf9 postinit_commands: print error message if execution of specified commands fails 2024-04-16 00:17:02 +02:00
stefan schippers 8d68beb914 added drc_check() function, that evaluates tcl scripts contained in symbol `drc` attribute. Used for checking allowed dimensions, mostly 2024-04-15 16:43:56 +02:00
stefan schippers 260256afb9 improve preview_window, to redraw current schematic just use `xschem preview_window draw` (no filename -> use current loaded one) 2024-04-14 23:55:47 +02:00
stefan schippers 3d20b44ced translate3(): add eat_escapes parameter 2024-04-14 11:38:35 +02:00
stefan schippers 9c766c5260 modernization of symgen.awk, fine tuning of create_symbol.tcl 2024-04-12 01:44:48 +02:00
stefan schippers 6a4131699a improve `xschem add_symbol_pin` command, add create_symbol.tcl procedure 2024-04-12 00:06:36 +02:00
stefan schippers 80e2c47b0e improve `xschem add_symbol_pin` command 2024-04-11 00:05:59 +02:00
stefan schippers 6de84a69e9 better detect wrap arounds (use sweep var, first column saved by ngspice) in multiple sweep dc sims 2024-04-10 12:25:22 +02:00
stefan schippers f88f9f8e2e do not exit is calling xschem with a non existent file on cmdline 2024-04-10 12:08:09 +02:00
stefan schippers 1d72478138 do full x/y zoom when switching log/linear x/y scales in graphs 2024-04-09 09:15:56 +02:00
stefan schippers 51a34ed4a7 get_raw_index(): look up node name as is, before trying upper/lower case 2024-04-08 00:06:18 +02:00
stefan schippers 60e55212d5 handle rot/flip transfofmations for ellipses inside symbols 2024-04-06 23:13:14 +02:00
stefan schippers 059badaccd fix flip / rotation of ellipses (no absolute angles) 2024-04-06 11:31:36 +02:00
stefan schippers ce1d4b4bbb initial support for drawing ellipses (from rectangle boxes) 2024-04-05 01:34:54 +02:00
stefan schippers 83660bc531 update bespice communication routines according to Gerard updates 2024-04-04 00:55:26 +02:00
stefan schippers 35dffef618 has_included_subcircuit(): extend case insensitivity also on included subckt pins vs symbol pins 2024-04-03 00:56:05 +02:00
stefan schippers bcd4e9367b has_included_subcircuit(): use lowercase symname to check with lowercase spice_sym_def included netlist to avoid case mismatches (spice is case-insesitive) 2024-04-02 23:54:40 +02:00
stefan schippers 5e96c84992 simplify draw_graph(): reduce redundant arrays measure_p, measure_x, measure_prev_x to scalars 2024-04-01 23:33:15 +02:00
stefan schippers b004618c25 explicit parameters to interpolate_yval() 2024-04-01 23:23:45 +02:00
stefan schippers 1ed64e95ca optimize a bit draw_graph() (no allocate measure_*[] vars if no cursor) 2024-04-01 11:42:54 +02:00
stefan schippers d9871edb13 update LCC_instances.sch 2024-04-01 02:23:30 +02:00
stefan schippers 033493d0ec doc updates (cursors) 2024-04-01 00:33:09 +02:00
stefan schippers 318c52cd0f cursor positions always saved in true x values (no log taken for logx axes) avoid too many log10() / pow(10, ...) conversions 2024-04-01 00:25:50 +02:00
stefan schippers 8eecd73c50 removed impossible if() condition in backannotate_at_cursor_b_pos() 2024-03-31 13:36:35 +02:00
stefan schippers 9c5a1a9816 handle cursor drawing in multiple graphs, some with log scale some others without 2024-03-31 13:27:12 +02:00
stefan schippers 5dc27fb364 fix 2nd level @param subst in instances (like model=xxx@name in instances) 2024-03-31 00:36:42 +01:00
Stefan Schippers 731a265dcf removed some dead code 2024-03-30 20:16:47 +01:00
Stefan Schippers cab89d03d9 revert to commit 2024-03-26 18:48:48 2024-03-30 19:20:51 +01:00
stefan schippers 547bdec018 avoid rouding to 0 wave measures in show_node_measures() 2024-03-30 13:00:39 +01:00
stefan schippers 7756769a4e simplify node measurements and cursor handling 2024-03-30 11:25:02 +01:00
stefan schippers 89f494aa85 simplify node measurements --do not use this commit -- 2024-03-30 10:43:55 +01:00
stefan schippers 27c065327e improve cursor display and move with multiple graphs with different sweep variables (2) 2024-03-30 02:20:38 +01:00
Stefan Schippers ba76f42277 improve cursor display and move with multiple graphs with different sweep variables 2024-03-29 19:58:54 +01:00
stefan schippers fdeca4646a cursor a and b: when draging in a graph with default sweep var correctly map cursor in other graphs with different sweep vars 2024-03-29 13:57:06 +01:00
stefan schippers 659231e7ae remove dbg msg 2024-03-26 18:48:35 +01:00
stefan schippers 5789058775 do not auto highlight nets if operating point raw data is loaded (auto_hilight_graph_nodes=1) 2024-03-26 17:49:35 +01:00
stefan schippers fc19e646c7 set default live_cursor2_backannotate to 1 (enabled) 2024-03-26 15:39:16 +01:00
stefan schippers 3dcda64367 fix Alt-e command (proc open_sub_schematic) if no raw file loaded 2024-03-26 11:30:02 +01:00
stefan schippers 27f41119d8 fourth round of additions to improve auto_hilight_graph_nodes 2024-03-26 01:21:37 +01:00
stefan schippers 34d85db77e third round of additions to improve auto_hilight_graph_nodes 2024-03-26 00:20:40 +01:00
stefan schippers f53bc2c6b7 second round of additions to improve auto_hilight_graph_nodes 2024-03-25 22:28:29 +01:00
stefan schippers aa6182c65f initial support for auto_hilight_graph_nodes 2024-03-25 11:39:57 +01:00
stefan schippers 77a5cecef8 hier_hilight_hash_lookup(): set path param to const char * 2024-03-24 22:49:40 +01:00
Stefan Schippers faee6bbc89 apply cairo_font_scale also for nocairo fonts (in addition to nocairo_[xy]_font_scale) 2024-03-24 20:36:19 +01:00
Stefan Schippers 3186270548 apply cairo_font_scale to svg and ps/pdf exports 2024-03-24 19:59:28 +01:00
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 642ee525ac fix grab screen window pathname calculation 2024-03-21 22:37:39 +01:00
stefan schippers 751c965e9f waves_selected(): better checking of mouse `is_inside` graph 2024-03-21 22:28:32 +01:00
stefan schippers 5417392357 grab screen make it work if initiated from additional tabs / windows 2024-03-21 22:10:27 +01:00
stefan schippers c51b4474e5 correctly resolve absolute paths for 2nd...Nth files given on cmdline that use ./ or ../ relative paths 2024-03-21 15:48:48 +01:00
stefan schippers 058b96ba7a fix a crash when netlisting top level elements in print_spice_element(), attempting to look up format string tokens into non-existent parent level (xctx->currsch-1 = -1)) 2024-03-21 14:41:15 +01:00
stefan schippers 85abc67c89 fix arc placement if moving mouse to the left for second point 2024-03-21 01:28:01 +01:00
stefan schippers 3e6a3ba886 draw_symbol() and draw_temp_symbol(): do the second level @ resolution with translate3(): if no @var definition is found leave @var as is. This is what we want, to avoid trying to substitute @m.xm1......[id] ngspice variables. 2024-03-21 00:12:48 +01:00
stefan schippers 12b01e31c6 draw_symbol() and draw_temp_symbol(): do not attempt to do a 2nd level @var resolution for texts as this creates more inconveniences than advantages (quoting hell) 2024-03-20 23:57:01 +01:00
stefan schippers e55c8294c2 fix ctrl-click in launchers if no intuitive interface is set 2024-03-20 18:43:25 +01:00
stefan schippers cc1a70d340 quoting hell mitigation: translate3() should not eat backslashes 2024-03-20 15:08:12 +01:00
stefan schippers 6886fd98e9 f**k 2024-03-20 12:28:49 +01:00
stefan schippers 3e722d217d remove dgb message 2024-03-20 11:55:36 +01:00
stefan schippers 8329720848 hash_file(): skip also .include lines if skip_path_lines parameter is set 2024-03-20 10:45:28 +01:00
stefan schippers 61b1c0b368 add `Tools->Grab screen area` function (unix only) 2024-03-20 03:53:56 +01:00
stefan schippers 6405ac4c09 simplified alpha removal and inversion in ps_embedded_image() 2024-03-18 11:53:51 +01:00
stefan schippers 197379989a edit_image(): add removal of transparency with white and black 2024-03-18 10:54:10 +01:00
stefan schippers cfccb64026 remove dbg msgs 2024-03-18 03:10:00 +01:00
stefan schippers f68cb6c18a start launcher commands on mouse button release (if no mouse movement has occurred) to allow ctrl-button1 drags 2024-03-18 02:39:54 +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 b46828ae3e fix a typo in simconf, fix embedding of jpeg inside svg images 2024-03-17 20:16:48 +01:00
stefan schippers bf027bc4f8 refactored draw_image() into smaller functions 2024-03-17 10:11:57 +01:00
stefan schippers 9670368f9d set_modify and undo() in `xschem image` commands 2024-03-17 02:13:54 +01:00
stefan schippers 294529f885 protect with #if HAS_CAIRO==1 the edit_image() calls 2024-03-17 01:56:59 +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 6416df9733 cleanups in draw_image(), do not decode-reencode jpeg data 2024-03-16 12:50:42 +01:00
stefan schippers f84305930f fix size and number of items ordering in fread() to match returned sizes 2024-03-15 16:07:46 +01:00
stefan schippers 092f111925 intuitive_interface fix: only clicking on an instance (no drag) does not push to undo state 2024-03-15 15:53:38 +01:00
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