Commit Graph

2890 Commits

Author SHA1 Message Date
stefan schippers 2d6b7c4fe1 revert previous 2025-02-26 16:03:36 +01:00
stefan schippers 43a8b62a24 proc to_eng: return arg as is if not valid expression 2025-02-26 16:01:32 +01:00
stefan schippers d3e0ca82b4 eval_expr.y: references to unknown identifiers cause the lexer to return an error so the expression is not evaluated and returned as is, instead of erroneously interpreting the unknown identifier as 0 2025-02-25 02:00:55 +01:00
stefan schippers f9ccf878c2 differential scope2.sym, current mwasure scope_ammeter.sym 2025-02-24 15:23:35 +01:00
stefan schippers b205b4a496 fix ui problem when ctrl-clicking a launcher (drag_elements remained set) 2025-02-23 23:49:31 +01:00
stefan schippers bd2c65bc1a embed graph inside scope symbol 2025-02-23 14:58:44 +01:00
stefan schippers 1d3c2dde59 fix regression: Cancel pressed when inserting new symbol 2025-02-23 14:03:53 +01:00
stefan schippers 6a75c8a6dd initial commit to add scope.sym symbol 2025-02-23 13:50:39 +01:00
stefan schippers c604a1f033 higher priority of `unlocked` sub-attribute in rect `graph` attribute. Do not propagate zoom / pan to any other graphs even if they are locked. 2025-02-23 12:39:59 +01:00
stefan schippers a306d97725 update docs (#pattern#@name tag) 2025-02-23 12:12:59 +01:00
stefan schippers 7144ead895 remove dbg messages 2025-02-22 19:49:43 +01:00
stefan schippers 81c3d64778 (2) changed some *attached*() function names for sonsistency 2025-02-22 19:40:04 +01:00
stefan schippers 6f0133a1b2 changed some *attached*() function names for sonsistency 2025-02-22 19:38:05 +01:00
stefan schippers e266642c2c lock attribute extended to all objects 2025-02-22 12:47:54 +01:00
stefan schippers a93fb64e12 better threshold detection for bezier selection 2025-02-22 11:37:19 +01:00
stefan schippers 0e438829c6 allow locked attached rectangles, so they can not be selected accidentally. Small resize of x/y graph axis labels 2025-02-22 10:33:13 +01:00
stefan schippers a592216c19 update solar_panel.sch (grouped aka attached floaters, scope meter object), better selection of left-y axis in small graphs 2025-02-22 02:18:27 +01:00
stefan schippers 935ec27772 floater objects: add command ctrl-u to unselect attached (so some instance with the attach=.. attribute) objects, that is objects (not element instances) with a non empty name=... atttribute. Extend upcate references of attached floaters to change instance name property and `xschem setprop instance name` command 2025-02-22 01:30:38 +01:00
stefan schippers 4e2af7ddb9 attach attribute: update copied objects 2025-02-21 17:49:38 +01:00
stefan schippers 3eab6bf2dc added attribute `attach="name1 name2 ..."` for components to designate other objects to be selected with it. Designated objects must have a matching `name=name1` attribute. This allows to create object groups 2025-02-21 14:31:30 +01:00
stefan schippers dc270aa029 resize a bit graph wave label / axis label sizes 2025-02-21 12:53:04 +01:00
stefan schippers 34fd430c13 svg_embedded_graph() and ps_embedded_graph() do not do a full redraw prior to graph rasterizing, draw only the current graph area. This avoid `overstrike` problems with superimposed text objects 2025-02-21 11:12:27 +01:00
stefan schippers 90bb42e7fa fix regression: no dashed graph bbox 2025-02-20 16:52:23 +01:00
stefan schippers afe058a25d comments typos 2025-02-20 16:30:40 +01:00
stefan schippers 62a2e6a367 refactored draw_crosshair() into smaller pieces. draw_snap_cursor executed much less frequently (only on snapped ouse change). Zooming with mouse wheel will not clear MENUSTART ui_state 2025-02-20 13:56:53 +01:00
stefan schippers f15520d01a start snapped wires in manhattan mode as done woth normal wires 2025-02-20 11:52:22 +01:00
stefan schippers 9dff3e1e3e refactor and fix small graphic glitches in draw_snap_cursor() 2025-02-20 11:42:26 +01:00
Chayan Deb 18884d6960 [After Merge Modification]: Fixed description for 'orthogonal_wiring' option in 'src/xschemrc'. 2025-02-20 13:59:46 +05:30
Chayan Deb 2462ec04b9 [After Merge Modification]: Removed references to the 'str' variable from all handle_* functions - as per upstream requirements. Removed redundant LOCs from 'src/xschemrc'. 2025-02-20 13:50:05 +05:30
Chayan Deb 2519567cc7 [Merge Conflict Resolution]: Resolved merge conflicts in a way that preserves all previous work done on the system, as well as mitigate possible bugs from last upstream refactor. 2025-02-20 13:14:31 +05:30
Chayan Deb 2bb0c10bd9 [Refactor]: Manually added the refactoring changes introduced into upstream repository. 2025-02-19 17:00:34 +05:30
Chayan Deb 7cd980cf42
Merge pull request #11 from TheSUPERCD/upstream-un-refactored
Merge commits made before callback.c refactor
2025-02-19 15:49:16 +05:30
stefan schippers b7c6118288 add physical constants in eval_expr.y 2025-02-19 02:39:02 +01:00
stefan schippers fc3a3ed4e0 add proc cinv (complex inversion) 2025-02-18 17:45:09 +01:00
stefan schippers 936b72c7fc Escape pressed while drawing polygon will cancel last segment instead of the whole poly 2025-02-18 11:49:32 +01:00
stefan schippers 821aa77b0a fix svg fill rules 2025-02-18 02:45:24 +01:00
stefan schippers 25db8b8f9a ellipses rendered in ps/pdf export. Do not allow to select objects with mouse button press if a poligon insertion is ongoing. my_fopen() for read mode open, check for regular file. More checks for failed fopen()s. 2025-02-18 02:25:55 +01:00
stefan schippers 9eb012e6a3 fix image in symbols rotation/flip for svg exports 2025-02-17 17:53:49 +01:00
stefan schippers 4623b1c869 add ellipses/ellipse_arcs rendering in svg export 2025-02-17 16:10:44 +01:00
stefan schippers a7ae4eaca8 added some simple helper complex number procedures 2025-02-17 13:45:12 +01:00
stefan schippers 1e1c56801d when loading a raw file, if graphs are present and cursor2 is enabled in 1st graph setup annotation in the schematic (no need to move the cursor) 2025-02-16 14:08:31 +01:00
stefan schippers 51c6eded14 (2) integrated @georgtree proc symbolParse 2025-02-16 01:11:32 +01:00
stefan schippers 446f7949b4 integrated @georgtree proc symbolParse 2025-02-16 01:09:28 +01:00
stefan schippers cefd320ef6 complete previous `xschem load_symbol` command 2025-02-15 01:33:13 +01:00
stefan schippers 279d24288d proc rel_sym_path: resolve ~/... or relative paths (by prepending HOME or PWD) to input path before calculating relative symbol path. Added command `xschem load_symbol` 2025-02-15 00:50:02 +01:00
stefan schippers 5c4be8313b better xctx->save_netlist_type setting when navigating in the hierarchy (of LCC schematics specifically) 2025-02-14 14:40:56 +01:00
stefan schippers be643d5a92 remove here() dbg call 2025-02-14 14:00:34 +01:00
stefan schippers 26710d3bd0 fix setting netlist_type to CAD_SYMBOL_ATTRS when doing a descend symbol (`i` key) into a LCC schematic and setting back to previous netlist_type when going back 2025-02-14 13:58:36 +01:00
stefan schippers 05434cb5e4 fix @spice_get_*_*(...) regex 2025-02-14 13:32:17 +01:00
stefan schippers e9c927d882 default orientation for wire creation is manhattan (H-V). Lines still start oblique by default 2025-02-14 02:55:47 +01:00
stefan schippers 9fe67cd242 eval_expr.y: fix eval_expr_clear_table, remove unneeded unistd.h 2025-02-14 02:15:03 +01:00
stefan schippers afac3f7620 token.c: translate(): protect regex*() calls with #ifdef __unix__ 2025-02-13 22:18:23 +01:00
stefan schippers b0d740757a fix regression in psprint.c 2025-02-13 20:43:39 +01:00
Chayan Deb 5487575d81 Lock old behavior of 'Esc'-keypress during persistent_command is active, behind the newly added TCL-option 'cadence_compat'. Wire drawing mode will now take two 'Esc' keypresses to clear, but if 'cadence_compat' is enabled, it will only take one. 2025-02-13 13:46:00 +05:30
stefan schippers ed3190c9b1 complete previous fix 2025-02-13 02:44:26 +01:00
stefan schippers 7087ae5a2a fix graphical artifacts when inserting objects and pressing Button3 2025-02-13 02:38:19 +01:00
stefan schippers 2c703aa12d backport previous fix to print_verilog_primitive and print_vhdl_primitive 2025-02-13 00:46:39 +01:00
stefan schippers 4517ff3b87 fix netlist error if in symbol attributes model="xxx@name" is given, @name was looked up in symbol template instead of again in instance properties. 2025-02-12 23:26:00 +01:00
stefan schippers 95cbd80767 merged in TheSUperChayan feature for displaying `Draw Wire` in status bar when in wiring mode. 2025-02-12 16:25:46 +01:00
stefan schippers bc293a1d8f fix some warnings (-Wdeprecated-non-prototype, -Wparentheses-equality) 2025-02-12 03:14:45 +01:00
stefan schippers bd40674f34 removed %define api.prefix in yacc eval_expr.y, use -p bison on command line 2025-02-12 02:11:47 +01:00
stefan schippers a559f84bc5 merged in Ananth Chellappa additions for Cadence compatibility 2025-02-12 01:40:15 +01:00
stefan schippers ffe0aba12e indentation and spacing in callback.c 2025-02-12 01:22:36 +01:00
stefan schippers 1e23beabd3 c89 compliance and fix some double to int assignments, removed stdbool 2025-02-12 01:08:52 +01:00
stefan schippers 1d1ff164fb Merge branch 'master' into ananthchellappa 2025-02-12 00:37:49 +01:00
stefan schippers 5f8c08d7de eval_expr: CHAR token renamed to XCHAR to avoid name clashes. print_spice_element(): if instance has VHI=VHI, format string has VHI=@VHI, and symbol template has VHI=3 we do not want token @VHI to resolve to 3, but stop at VHI as specified in instance. Same for vhdl and verilog primitives. Fixed a typo in get_sp_cur regex (token.c) 2025-02-12 00:32:12 +01:00
Ananth 99f0e528bf add RC file to help Cadence users 2025-02-11 12:51:12 -07:00
Ananth 3adcf40bf7 added remaining edits from CD's repo. Tests ok. 2025-02-11 12:44:14 -07:00
stefan schippers 2a7a461ace update verilogA example tb_diff_amp.sch 2025-02-11 20:38:17 +01:00
Ananth 66ec47ccfb only vars and fn defs (not calls) and inits added for ortho routing and snap cursor 2025-02-11 11:49:50 -07:00
Ananth bf10a025d7 added CD's vars - ortho wiring, snap_cursor, snap_cur size, cadence_compat - all not yet used; use_cursor_for_selection - used; updated xschem.tcl to include in global list and set defaults; callback updated to use use_cursor_for_sel when mouse clicked 2025-02-11 10:55:29 -07:00
stefan schippers 2eeeebf715 avoid calling Tcl_GetErrorLine() if tcl version < 8.6 2025-02-11 18:52:24 +01:00
stefan schippers 8cad7daed5 removed `str` parameter to all handle_* functions in callback.c (write-only) 2025-02-11 11:11:20 +01:00
stefan schippers a4e0471fcc minor changes to callback() refactoring to remove compiler warnings 2025-02-11 00:16:06 +01:00
Ananth b7515c9715 add handle_enter_notify for readability 2025-02-10 14:52:19 -07:00
Ananth 1753dc6723 add handle_double_click 2025-02-10 14:43:26 -07:00
Ananth 899e7f93d2 add handle_button_press/release 2025-02-10 14:34:20 -07:00
Ananth 04e7300f48 correct type for mx,my in handle_motion_notify; added handle_key_press 2025-02-10 13:52:57 -07:00
Ananth bef19b7057 refactored : handle_motion_notify for readability 2025-02-10 13:42:28 -07:00
stefan schippers fe8ef89052 update version info in some rom8k symbols. Do a xschem remove_symbols in proc cellview_setlabels to force a reload of changed symbols. 2025-02-10 18:49:11 +01:00
stefan schippers 89a8d8b719 same previous fix for resetwin() restore done in ps_embedded_graph() backported also in svg_embedded_graph() (not necessary here but safer) 2025-02-10 17:44:05 +01:00
stefan schippers 88ee9ba0ad fix wrong window size re-setting after a hierarchy ps/pdf printout (due to messing with portrait / landscape) 2025-02-10 17:36:10 +01:00
stefan schippers 6b090273fb lock graphs only if they have the same simulation type loaded. So zooming/panning a tran plot will not affect dc or ac plots. 2025-02-10 15:18:01 +01:00
stefan schippers b5eb81c107 updates in proc cellview 2025-02-10 13:44:12 +01:00
stefan schippers 3d972e8e42 `AUTO SET` button in graph edit dialog box to automatically assign increasing colors to displayed waves 2025-02-10 02:43:23 +01:00
stefan schippers 724869638e fix max size of graph bitmap calculation in svg_embedded_graph() and ps_embedded_graph() 2025-02-10 01:21:22 +01:00
stefan schippers 5e3c27d7ee load_schematic(): ability to load / preview a generator (adds () to filename) 2025-02-09 20:52:15 +01:00
stefan schippers a50b3681c8 calc_drawing_bbox(): initialize xctx->show_hidden_texts before calculating bbox. 2025-02-09 19:44:40 +01:00
stefan schippers 8bd9c3d939 fix bitrots in proc cellview (Update function) 2025-02-09 15:27:55 +01:00
stefan schippers b5a25e5925 fix update not working in proc cellview 2025-02-09 13:48:39 +01:00
stefan schippers 77a6bd2bb8 change order of last statements in hier_psprint() to avoid displaying garbage while moving crosshair cursor and ps->pdf conversion is in progres... 2025-02-09 12:23:51 +01:00
stefan schippers b625a45dab place_symbol(): trim leading and trailing whitespace from symbol name given as input 2025-02-09 03:20:57 +01:00
stefan schippers 188e73cf8b place_symbol() and proc is_xschem_file: if /path/to/gen.tcl(arg1,arg2,arg3) is given remove (...) argument list before checking existence of generator file. Do not add () to generator filename if argument list already given. Do not include hidden texts in schematic boundbox for full zoom if show hidden_texts is not enabled. draw_graph(): do not wrap graphs using sweepvar_wrap if not dc (this includes: do not wrap multi-point OP sims). print_spice_element(): better @param lookup in instance prop_ptr, symbol template, parent instance prop_ptr (if instance based "additional" symbol) and parent instance symbol template string (use translate3()) 2025-02-09 02:46:45 +01:00
stefan schippers 0b3db90f19 one more argument to translate3() 2025-02-07 14:39:21 +01:00
stefan schippers 0024dc2759 more comments and refactoring in token.c 2025-02-07 14:23:58 +01:00
stefan schippers 51ff56357d some simplification and refactoring of print_spice_element() and translate() 2025-02-07 13:22:08 +01:00
stefan schippers 1573ea3cad improvements in eval_expr.y, print_spice_element(), translate() to allow multiple expr(...) patterns in strings, they all will be evaluated if possible or returned unevaluated (without `expr(` and `)` ) 2025-02-06 23:57:01 +01:00
stefan schippers a4ce2d1b64 subst_token(): better token removal (remove space or newline to avoid having many remaining blanks); `netlist_postprocess` xschemrc tcl variable to insert commands after netlist is created 2025-02-06 12:45:21 +01:00
stefan schippers 53fda635c9 remove dbg msg, reduce precision in eval_expr(), add expr() resolution at end of translate() 2025-02-06 10:39:50 +01:00
stefan schippers 7926a833be added `d` to unselect object under the mouse, `Shift-D` to unselect by area, both work with or without infix_interface, moved delete files to `Ctrl-d`, update keybinding docs 2025-02-06 04:20:57 +01:00