stefan schippers
|
0c4cdb3ea1
|
propagate changed key bindings to new opened windows (in no-tabs mode)
|
2025-02-06 01:11:11 +01:00 |
stefan schippers
|
70c1e542b2
|
attributes within expr(...) where expr() contains an infix arith expression will evaluate if possible. Otherwise the string within expr(...) will be returned unchanged. Changes done in translate() and print_spice_element()
|
2025-02-05 18:20:36 +01:00 |
stefan schippers
|
4db384a671
|
add eval_expr.y for evaluation of generic math expressions in infix notation
|
2025-02-05 16:33:23 +01:00 |
stefan schippers
|
795b5557a5
|
print_spice_element(), primnt_verilog_primitive(), print_vhdl_primitive(): format string is passed to translate() to do a round of @xxx param substitutions looking up xxx=... in instance attributes.
|
2025-02-03 02:15:41 +01:00 |
stefan schippers
|
05d61b3987
|
optimization: replace some sumbol "template" token lookups with existing cached sym[].templ field
|
2025-02-02 23:59:41 +01:00 |
Chayan Deb
|
1d79a85ac6
|
Merge branch 'StefanSchippers:master' into master
|
2025-02-02 11:30:05 +05:30 |
stefan schippers
|
5517c8b3f0
|
has_included_subcircuit(): fix spice netlisting error when using a symbol with bussed ports and implementation specified via a spice_sym_def attribute. bussed ports must be expanded and resulting total number of bits of symbol (grater than number of I/O pins!!) must be calculated and sent to the tcl has_included_subcircuit proc.
|
2025-02-02 00:33:55 +01:00 |
Chayan Deb
|
aa1c038f5c
|
Small correction
|
2025-02-01 16:23:56 +05:30 |
Chayan Deb
|
d4b388186d
|
[Upstream Compatibily Fixes]: Added a new TCL-variable 'cadence_compat', which can be enabled from either the TCL-command execution prompt inside xschem, or by uncommenting the corresponding option in 'src/xschemrc' - used for enabling Cadence-friendly keybinds (simulate and snap-wire). Additionally, reset the default behavior of xschem to the upstream-version's behavior. All the disabled options can be re-enabled by uncommenting the correct options in 'src/xschemrc'. Added ANSI-C compatibility fixes suggested by @StefanSchippers in issue #292 in upstream repo.
|
2025-02-01 16:22:03 +05:30 |
Chayan Deb
|
275dd580a1
|
Merge branch 'master' into upstream-clone
|
2025-02-01 15:12:49 +05:30 |
stefan schippers
|
e471f577fa
|
integrated create_symbol.tcl in xschem.tcl, some old version strings updated in scripts, some code indenting fixes
|
2025-02-01 00:03:12 +01:00 |
stefan schippers
|
752f794c96
|
remove dbg message
|
2025-01-31 15:59:23 +01:00 |
stefan schippers
|
31a3a00c46
|
clean up translate() deallocation
|
2025-01-30 23:33:51 +01:00 |
stefan schippers
|
60d180de33
|
translate(): fix `regfree(get_sp_cur);` not followed by `get_sp_cur = NULL;`, leading to a random pointer to nowhere
|
2025-01-30 22:43:35 +01:00 |
stefan schippers
|
42a0ceb51f
|
findnet.c: fix some errors in distance calculation leading to "holes" in the selection of instances.
|
2025-01-30 21:00:46 +01:00 |
stefan schippers
|
eadd991651
|
reduce calls to find_closest_net_or_symbol_pin() in draw_crosshair()
|
2025-01-30 03:47:13 +01:00 |
stefan schippers
|
ee750099e3
|
svgdraw(): draw in grey or red ignored or shorted devices, some fixes in ps_print()
|
2025-01-29 18:52:38 +01:00 |
stefan schippers
|
40fd937d51
|
shorted_instance(): fixed a bug: lvs_ignore active disallows evaluation of spice_ignore flags; ps_draw_symbol(): draw in grey or red ignored or shorted devices
|
2025-01-29 16:22:44 +01:00 |
Chayan Deb
|
808f89c4c6
|
Fix typo
|
2025-01-29 13:44:24 +05:30 |
Chayan Deb
|
753f5d24bc
|
Changes made to reduce git diff with upstream repo
|
2025-01-29 11:54:25 +05:30 |
Chayan Deb
|
bf53f99d28
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-29 11:46:39 +05:30 |
stefan schippers
|
92bb16773c
|
guard against trepassing max hierarchy level when descending, updates to cellview and traversal procs
|
2025-01-28 11:24:51 +01:00 |
stefan schippers
|
44cc37f013
|
optimization: comment out a call do dbg() in a deep, deep nested loop in draw_graph(), enable if needed
|
2025-01-27 15:33:46 +01:00 |
Stefan Schippers
|
56777a2944
|
fix mouse cursor restore when exiting graph and crosshair (not full-size) enabled
|
2025-01-27 13:10:53 +01:00 |
stefan schippers
|
8df1aa9996
|
some comments, removed redundant modifier key checks in callback()
|
2025-01-27 12:51:32 +01:00 |
Chayan Deb
|
6f20174c42
|
[Compatibility + Graphical Bugfix]: Fixed compatibility issue resulting from a breaking change in the function 'redraw_w_a_l_p_z_rubber(int force)', and also fixed (partially) a graphical bug resulting from this change. The bug shouldn't affect user workflow at the current version.
|
2025-01-27 12:52:20 +05:30 |
Chayan Deb
|
9fc955aa1f
|
Merge branch 'master' into upstream-clone
|
2025-01-27 12:11:25 +05:30 |
stefan schippers
|
500d2e2bed
|
some commentd added
|
2025-01-27 02:07:38 +01:00 |
stefan schippers
|
0d325f6957
|
force a crosshair draw at end of draw() (draw_crosshair(7,...)), intuitive interface direct drag of instances: fix some non-working combinations when stretch mode (y) is enabled.
|
2025-01-27 01:49:06 +01:00 |
stefan schippers
|
bfd7895d4c
|
edit_line_point() and edit_wire_point(): use mouse[xy]_snap instead of mouse[xy] for checking line/wire endpoint selection
|
2025-01-27 00:48:26 +01:00 |
stefan schippers
|
6669b4f177
|
renamed find_closest_net() to find_closest_wire()
|
2025-01-27 00:14:29 +01:00 |
stefan schippers
|
f2cc1d0216
|
move_objects(RUBBER,...) and copy_objects(RUBBER): return immediately if snapped mouse coordinates not changed
|
2025-01-26 17:58:03 +01:00 |
stefan schippers
|
bce1e652c6
|
refactored xctx->y_[12] to xctx->y[12]
|
2025-01-26 17:49:47 +01:00 |
stefan schippers
|
80a22c78a8
|
comments
|
2025-01-26 17:44:00 +01:00 |
stefan schippers
|
8086b5581e
|
redraw_w_a_l_r_p_z_rubbers(): include zoom_rectangle(RUBBER), only execute if (snapped) coordinates changed, draw_crosshair(): only execute if (snapped) coordinates changed, find_closest_net_or_symbol_pin() is moved into draw_crosshair() so its calls are also minimized, do not allow z (zoom rectangle) if pending STARTWIRE, STARTLINE etc are in progress.
|
2025-01-26 15:19:22 +01:00 |
Chayan Deb
|
4022d0ec10
|
[Graphical Bugfix]: Fixed a small graphical bug that occurred when drawing a wire while simutaneously zooming in/out in the schematic editor.
|
2025-01-26 14:39:48 +05:30 |
Chayan Deb
|
15fc4b9bb4
|
[Refactor + Minor Changes]: Refactored to fix a small code-readablity issue.
|
2025-01-26 13:31:33 +05:30 |
Chayan Deb
|
18fb977c68
|
[Refactor + Minor Changes]: Refactored to fix a small code-readablity issue from last upstream merge. Added the snap_cursor option to be enabled from 'src/xschemrc' config file.
|
2025-01-26 12:33:21 +05:30 |
Chayan Deb
|
999503a26a
|
[Fixed Typo]: Fixed a small typo that would create a bug in TCL.
|
2025-01-26 12:17:29 +05:30 |
Chayan Deb
|
9056da92a6
|
[After merge-changes]: Changes made to match pre-merge state of 'snap-cursor select' in this fork.
|
2025-01-26 11:39:04 +05:30 |
Chayan Deb
|
ed328a8bd0
|
Merge branch 'master' into upstream-clone
|
2025-01-26 11:31:47 +05:30 |
stefan schippers
|
bbe8782bc0
|
more comments in callback(), add_wire_from_inst_pin() separated into add_wire_from_inst() and add_wire_from_wire(), changed the distance measurement for closest instance, works better with ituitive i/f, some edit shape point functions restricted to intuitive_interface only, to avoid too many combinations
|
2025-01-26 06:40:00 +01:00 |
stefan schippers
|
ea5609dd0b
|
more comments in callback()
|
2025-01-26 02:35:00 +01:00 |
stefan schippers
|
34f9ae73a0
|
more comments in callback()
|
2025-01-26 02:32:43 +01:00 |
stefan schippers
|
7e697672ce
|
more comments in callback()
|
2025-01-26 02:00:07 +01:00 |
stefan schippers
|
70156a3bda
|
intuitive interface, directly drag elements: default to wire stretch if enable_stretch is activated and normal move if using ctrl key and the other way around if enable_stretch is unset
|
2025-01-26 01:06:48 +01:00 |
stefan schippers
|
01989bba0c
|
fix issue with previous fix, add enable_stretch parameter to select_inside() and select_rect()
|
2025-01-26 00:26:56 +01:00 |
stefan schippers
|
1bee3d766f
|
included TheSUPERCD commit 260beff, if (full and only full) crosshair is displayed use snap mouse coordinates since mouse pointer is turned off; fixed an issue when selecting ridicolously small rectangles in find_closest_box()
|
2025-01-25 23:41:39 +01:00 |
stefan schippers
|
dad3b78931
|
Add a line number in error report if failed sourced tcl scripts
|
2025-01-25 19:39:53 +01:00 |
stefan schippers
|
6cc7883e51
|
reduce overlap area when clearing crosshair, add return value to find_closest_net_or_symbol_pin()
|
2025-01-25 14:33:01 +01:00 |
Chayan Deb
|
260beffe71
|
[Selection Using Crosshair]: Added new functionality of using the crosshair to select objects in the schematic, instead of the default mouse-pointer based selection. This functionality will only take effect if the crosshair feature is enabled by the user.
|
2025-01-25 12:47:23 +05:30 |
Chayan Deb
|
2137fa0aef
|
[Graphical Bugfix]: Fixed a small graphical bug that occurred when drawing multi-segment wires in persistent_command mode and suddenly exiting using 'Esc'-key while the snap-cursor is active.
|
2025-01-25 12:26:52 +05:30 |
Chayan Deb
|
d2ee983318
|
Merge branch 'master' into upstream-clone
|
2025-01-25 12:15:55 +05:30 |
stefan schippers
|
71aa4339bd
|
add comment
|
2025-01-25 02:46:54 +01:00 |
stefan schippers
|
4700483fa4
|
draw_crosshair(): more logical what parameter values
|
2025-01-25 02:13:59 +01:00 |
stefan schippers
|
26bfe7691b
|
add `xschem draw_hilight_net [on_window]` for quick draw or hilighted objects; add `xschem get_sim_sch` to get the current schematic hierarchy path, stripping off levels above the level the raw file was loaded. Strip off also leading dot; `xschem hilight_instname`: move fast option as -fast option; list_nets(): expand vector ports ; optimize update_op() for speed
|
2025-01-24 18:57:35 +01:00 |
Chayan Deb
|
7e9132ff3b
|
[Manual Upstream Merge]: Manually reintroduced the changes from commit a361505 without breaking functionalities. This fork is now effectively up-to-date with upstream.
|
2025-01-24 16:48:42 +05:30 |
Chayan Deb
|
b276fcffcb
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-24 14:56:46 +05:30 |
Chayan Deb
|
fefbd922d5
|
[Bugfix - Snap Cursor]: Fully removed the bug from commit 0a0ef22. Solved by introducing breaking change in 'find_closest_net_or_symbol_pin()' function defined in 'src/xschem.h' and implemented in 'src/findnet.c'. The function now returns a boolean value indicating if the search yielded any valid results, instead of returning nothing (void).
|
2025-01-24 14:40:29 +05:30 |
stefan schippers
|
48264c0399
|
allow `xschem translate -1 string` to translate tokens that do not depend on specific instances; yet another change in wrap detection in graphs, always use simulator sweep-var instead of user specified sweep variable; simulated data will never wrap exactly to first value due to roundoff errors; -fast optionto `xschem hilight_netname` command
|
2025-01-24 03:52:20 +01:00 |
Chayan Deb
|
ea7d0d94c5
|
[Snap Cursor Update (WIP)]: Added dynamically scaling snap cursor.
|
2025-01-23 22:58:35 +05:30 |
Chayan Deb
|
0a0ef228fe
|
[Bugfix]: Fixed a bug where drawing a wire in an empty canvas caused the snap-cursor to detect it's own endpoint as a snap-point and incorrectly terminate wire-drawing mode
|
2025-01-23 20:26:20 +05:30 |
Chayan Deb
|
935696ef81
|
[Revert changes]
|
2025-01-23 20:04:27 +05:30 |
Chayan Deb
|
3556f3599c
|
[Revert changes]
|
2025-01-23 20:03:12 +05:30 |
Chayan Deb
|
8c1bfc93f6
|
[Revert changes]
|
2025-01-23 20:00:59 +05:30 |
Chayan Deb
|
ffcbeaec66
|
[After merge-changes]: Re-introduced temporary bugfix and altered snap-cursor keybind to match pre-merge state of this fork.
|
2025-01-23 19:46:16 +05:30 |
Chayan Deb
|
a36150541d
|
Merge pull request #2 from StefanSchippers/master
Resolve merge conflicts and integrate upstream changes
|
2025-01-23 19:15:27 +05:30 |
Chayan Deb
|
783bccf8cf
|
Added changes to resolve merge conflicts
|
2025-01-23 19:14:58 +05:30 |
Chayan Deb
|
710f857765
|
[Snap Cursor Update (WIP)]: Added keybind to activate snap_cursor + new tcl-command to adjust 'snap_cursor_size'. Added grid-coordinate checks for better performance using the 'find_closest_net_or_symbol_pin()' function (by only running the search when the grid-snap position changes). Fixed xctx->prev_crossx and xctx->prev_crossy conflict between draw_crosshair() and draw_snap_cursor() by using the new globally accesible variables 'xctx->prev_gridx' and 'xctx->prev_gridy' in draw_snap_cursor().
|
2025-01-23 17:45:49 +05:30 |
stefan schippers
|
7553222461
|
remove a piece of useless code in new_wire(), fix some MENUSTARTSNAPWIRE issues with crosshair drawing, enable no infix_interface operation for `W` command
|
2025-01-23 11:38:32 +01:00 |
Chayan Deb
|
39e6999eeb
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-23 15:15:06 +05:30 |
stefan schippers
|
096eb126c1
|
comment in the code
|
2025-01-22 17:29:17 +01:00 |
stefan schippers
|
0824c1b9b8
|
fix garbage on screen due to crosshair cursor if copying by drag (Shift-click-drag) in intuitive interface (collision with snapped crosshair position)
|
2025-01-22 17:00:03 +01:00 |
Chayan Deb
|
4b8a3c653b
|
[New Experimental Functionality]: Added the functionality of terminating the wire-draw mode when the user clicks a component endpoint. This feature is currently on by default (if the user has the 'Display snap cursor' option enabled.
|
2025-01-22 19:01:48 +05:30 |
Chayan Deb
|
248596f81c
|
[Refactoring]: Renamed variables and added inline code-comments for better code readability.
|
2025-01-22 17:30:14 +05:30 |
Chayan Deb
|
4c5421fdda
|
[Bugfix]: Fixed a bug where the non-persistent wire-draw mode didn't put down a new anchor-point when 'w'-key was pressed by user. This bug was introduced in the upstream-merge (commit 8ce32b7) after incorrectly adopting the upstream way of handling 'infix_interface' mode.
|
2025-01-22 17:08:16 +05:30 |
Chayan Deb
|
dc544f81fd
|
[Grid-Snap Cursor Update (WIP)]: The grid snap cursor is now drawn with constant-pixel-size, regardless of the schematic editor's zoom level. This behavior will be interchangeble with the upstream version's behavior via a menu-option or a custom tcl-command in the future.
|
2025-01-22 17:02:04 +05:30 |
Chayan Deb
|
4944279700
|
Some refactoring and cleanup to standardize the previously added code
|
2025-01-22 15:58:28 +05:30 |
Chayan Deb
|
196e0d737b
|
[After-Merge Modifications]: Changed default behavior for grid-snapping cursor, returning it to pre-merge state. Can be undone by the user if necessary from the 'src/xschemrc' file
|
2025-01-22 15:11:17 +05:30 |
Chayan Deb
|
c0f1d54d55
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-22 14:59:38 +05:30 |
Chayan Deb
|
2a97ca5716
|
[Prepare For Upstream Integration]: Changes made to integrate upstream adoption of default yellow-colored grid-snapping cursor.
|
2025-01-22 14:58:59 +05:30 |
stefan schippers
|
4e821586c2
|
replaced find_closest_net_or_symbol_pin() with new function that uses spatial hash table iterators for searching
|
2025-01-22 03:59:49 +01:00 |
stefan schippers
|
0c8631a101
|
MotionNotify events with Shift key down (and draw_crosshair enabled) will position the crosshair to the closest available landing point (inst pin or wire endpoint)
|
2025-01-22 01:57:09 +01:00 |
stefan schippers
|
ed2a4f61c8
|
code formatting cleanups
|
2025-01-22 00:22:02 +01:00 |
Chayan Deb
|
634213d3c9
|
[Integrated Upstream + Temporary Bugfix]: Integrated the upstream changes for adding a custom rectangular grid-snap cursor, and re-implemented the temporary bugfix from commit ed1a471
|
2025-01-21 22:18:19 +05:30 |
Chayan Deb
|
ad89151100
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-21 21:37:30 +05:30 |
Chayan Deb
|
ea7341742a
|
[Undo Temporary Bugfix]: Discarded the temporary bugfix for commit ed1a471
|
2025-01-21 21:37:04 +05:30 |
stefan schippers
|
1015a9d71e
|
added command `xschem set crosshair_layer` to change layer used for crosshair drawing
|
2025-01-21 16:50:31 +01:00 |
stefan schippers
|
7ee11e8dbc
|
various fixes related to crosshair mouse display
|
2025-01-21 16:07:23 +01:00 |
stefan schippers
|
49aab703b4
|
set default value for crosshair_size tcl var to 0
|
2025-01-21 15:40:59 +01:00 |
stefan schippers
|
72d961aacd
|
fix a regression where a mouse wheel zoom or schematic pan unexpectedly end an ongoing wire placement. Add xschemrc variable crosshair_size; if set to 0 draw full crosshair, if set to a small integer draw a small square around the mouse snapped coordinate
|
2025-01-21 15:38:19 +01:00 |
stefan schippers
|
99b0bba5b8
|
if big_grid_points is not set draw always thin axes and mouse crosshairs; dashed axes
|
2025-01-21 12:34:14 +01:00 |
Chayan Deb
|
1a7c9e11d1
|
[Snap Cursor (WIP)]: Experimental feature 'snap_cursor' is updated. Yellow cursor that snaps to the nearest grid point is now available (always active, unless user activates crosshair using ALT+X).
|
2025-01-21 16:37:26 +05:30 |
Chayan Deb
|
7f613294f4
|
[Snap Cursor (WIP)]: Experimental feature 'snap_cursor' is updated. It can be selected from the Options menu (disabled by default) and will take effect when the wire-drawing mode is active. This is a work in progress and needs a lot more polishing to be properly usable. Currently only supports snapping to nearest component-endpoint. Cursor to snap to nearest grid point is pending.
|
2025-01-21 15:49:52 +05:30 |
Chayan Deb
|
73789df48c
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-21 12:10:40 +05:30 |
stefan schippers
|
2b05b365e5
|
If opening a non existing xxxx.sym file euristically set netlist_type to symbol --> better implementation
|
2025-01-21 04:09:08 +01:00 |
stefan schippers
|
5d52d322b5
|
symbol_in_new_window(): if no symbol selected build file name for symbol of current schematic and open it in a new tab. If opening a non existing xxxx.sym file euristically set netlist_type to symbol. proc open_sub_schematic: if no symbol selected for subcircuit to open, open the corresponsing schematic of the symbol we are editing
|
2025-01-21 02:57:46 +01:00 |
stefan schippers
|
6adee35b89
|
update make_sym.awk to use a polyline instead of segments for the symbol box
|
2025-01-20 23:03:33 +01:00 |
Chayan Deb
|
4a5f31983b
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-20 23:23:04 +05:30 |
Chayan Deb
|
320b8efc4b
|
[Snap Cursor (WIP)]: Experimental feature 'snap_cursor' is now available to be selected from the Options menu (disabled by default). This is a work in progress and needs a lot more polishing to be properly usable. Currently only supports snapping to nearest component-endpoint.
|
2025-01-20 23:20:53 +05:30 |
stefan schippers
|
c9f60ce1c8
|
clanup / better implementation of previous fix
|
2025-01-20 18:39:46 +01:00 |
stefan schippers
|
c52ded63b0
|
complete previous fix
|
2025-01-20 18:21:12 +01:00 |
stefan schippers
|
7523c0015c
|
correctly mangle generator calls with parameters containing forbidden characters. Transliterate to get valid SPICE identifiers
|
2025-01-20 17:54:06 +01:00 |
stefan schippers
|
724c264c9d
|
allow Shift-T command (toggle spice_ignore attribute) to cycle through ignore-shorted-unset on selected elements
|
2025-01-20 16:48:31 +01:00 |
stefan schippers
|
0e53359ee0
|
update proc cellview
|
2025-01-20 14:52:30 +01:00 |
Chayan Deb
|
ed1a471f5d
|
[Fixed Upstream Bug]: While the schematic editor is in intuitive-interface mode, drawing a wire would immediately terminate the endpoint of it when the LMB button is released (i.e. user click drew a point - when persistent_command was disabled). This behavior is now corrected, but a non-essential feature introduced in the last set of upstream commits had to be broken (end wire creation when dragging in intuitive interface mode). The broken feature will be fixed in a future commit.
|
2025-01-20 14:12:33 +05:30 |
Chayan Deb
|
a1a598cf21
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-20 13:43:15 +05:30 |
stefan schippers
|
cb38deffa6
|
add -keep_symbols to `xschem load command`, options changed to have a leading dash, and moved at beginning of command arg list; `xschem netlist` command: add -keep_symbols option; `xschem setprop` command: move fast and fastundo to beginning of arg list with a leading dash; update proc cellview
|
2025-01-20 02:30:46 +01:00 |
stefan schippers
|
4f31c024c8
|
add option -noalert to `xschem netlist` command, update `proc cellview`
|
2025-01-19 23:29:41 +01:00 |
stefan schippers
|
16121b6e07
|
keep selection if aborting a move operation. This was probably a regression
|
2025-01-19 14:13:57 +01:00 |
stefan schippers
|
2bd1c79cd5
|
enhance drawing wires in intuitive_interface by dragging away from an instance pin or wire endpoint. Allow set manhattan/oblique direction as with w keybind
|
2025-01-19 13:59:18 +01:00 |
Chayan Deb
|
eee26c9f3e
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-19 15:35:42 +05:30 |
stefan schippers
|
4759d58ad5
|
add a prepare_netlist_structs() in get_pin_attr() to update net names for @#pin tokens
|
2025-01-19 02:31:58 +01:00 |
stefan schippers
|
6dcc9fd7c5
|
allow Shift-Click to terminate snapped wire placement (in addition to Shift-W)
|
2025-01-18 23:50:04 +01:00 |
stefan schippers
|
ca1035eca1
|
add no-infix (set infix_interface 0) operation to move and copy operations
|
2025-01-18 21:59:04 +01:00 |
stefan schippers
|
cfb491adb3
|
draw_crosshair(): parameter del renamed to what; @spice_get_current: special handling for resistors that are converted to b-sources: i(@r.x4.r1[i]) --> i(@b.x4.br1[i])
|
2025-01-18 12:38:12 +01:00 |
Chayan Deb
|
92428e4409
|
[Code Refactoring]: Modified the source code for compatibility with the upstream repo (due to 'infix_wire' feature integration with new name 'infix_interface')
|
2025-01-18 15:52:17 +05:30 |
Chayan Deb
|
26df8d7d21
|
[Code Refactoring]: Modified the source code for compatibility with the upstream repo (due to 'infix_wire' feature integration with new name 'infix_interface')
|
2025-01-18 15:50:36 +05:30 |
Chayan Deb
|
3480d9767d
|
[Code Refactoring]: Modified the source code for compatibility with the upstream repo (due to 'infix_wire' feature integration with new name 'infix_interface')
|
2025-01-18 15:42:43 +05:30 |
Chayan Deb
|
7fe267842a
|
[Code Refactoring]: Modified the source code for compatibility with the upstream repo (due to 'infix_wire' feature integration with new name 'infix_interface')
|
2025-01-18 14:08:44 +05:30 |
Chayan Deb
|
8ce32b73b7
|
[Code Refactoring]: Modified the source code for compatibility with the upstream repo (due to 'infix_wire' feature integration with new name 'infix_interface')
|
2025-01-18 14:05:29 +05:30 |
stefan schippers
|
025823f14c
|
`xschem go_back 0` allows to go up in hierarchy *NOT* saving a modified schematic
|
2025-01-17 18:11:35 +01:00 |
stefan schippers
|
151241afc7
|
add new command `xschem get modified` (returns 1 if circuit needs to be saved)
|
2025-01-17 17:48:02 +01:00 |
stefan schippers
|
ac8db614c0
|
infix_interface xschemrc variable (default=1) can be set to 0 to disable infix (need to click a point after bindkey); disable warnings from graphs with autoload=1 if no raw file or matching analysis found; add m parameter (multiplicity) to bsource.sym, cmos_example.sch; remove dependency on external model file, use ngspice provided mos model 8 bsim3 models.
|
2025-01-17 17:15:48 +01:00 |
Chayan Deb
|
24bfb5b363
|
[Bugfix]: Fixed an issue where the bottom statusbar showed the green zsh: command not found: Draw indicatior when the user enters and exits wire-drawing mode without actually drawing a wire.
|
2025-01-17 11:42:59 +05:30 |
Chayan Deb
|
378c2ea115
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-17 11:37:48 +05:30 |
stefan schippers
|
c57c49fde8
|
Hiding the TEXT layer will disable only symbol texts on that layer, not all texts, `proc select_layers` make the widget non-modal
|
2025-01-16 20:37:19 +01:00 |
stefan schippers
|
ca6b8fe85b
|
end_shape_point_edit(): fix erroneous set_modify because comparing unsmapped mouse saved coords with snapped actual mouse coords
|
2025-01-16 17:19:42 +01:00 |
stefan schippers
|
f2225677cc
|
fix regression in (V) cursor movement when multiple side-by-side graphs are present
|
2025-01-16 16:03:34 +01:00 |
stefan schippers
|
bcca65da90
|
translate(), @spice_get_current, typo led to missing argument in printf()
|
2025-01-16 15:35:11 +01:00 |
stefan schippers
|
315c5bd600
|
added symbol attributes @spice_get_current_<param>, @spice_get_modelparam_<param>, @spice_get_modelvoltage_<param>
|
2025-01-16 02:52:52 +01:00 |
stefan schippers
|
f79f9ecf1d
|
removed dbg mesages
|
2025-01-15 19:12:30 +01:00 |
stefan schippers
|
f2b9d0c6f3
|
added attribute @spice_get_current<n> for retrieving current through terminal <n> of primitive device; example: @spice_get_current2 to get base current of BJT device
|
2025-01-15 17:39:59 +01:00 |
stefan schippers
|
7d6c3f4764
|
destroy_all_tabs() do a final redraw to avoid inconsistent screen after some tab removals
|
2025-01-15 03:11:12 +01:00 |
stefan schippers
|
10991e662c
|
added `xschem symbol_base_name` command to get the base symbol a symbol defined by instance `schematic` attribute comes from; updated `celview` procedure
|
2025-01-15 00:44:39 +01:00 |
Chayan Deb
|
3081714ebf
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-14 18:08:10 +05:30 |
stefan schippers
|
a24145c16c
|
revert change `LCC symbols: make 1st LCC level pins display spice_get_voltage annotation data` (not working as expected)
|
2025-01-14 01:13:14 +01:00 |
stefan schippers
|
b0973ae8c0
|
add_pinlayer_boxes(): fix uninitialized bb[PINLAYER][i].fill, LCC symbols: make 1st LCC level pins display spice_get_voltage annotation data
|
2025-01-13 17:30:11 +01:00 |
stefan schippers
|
6cca3fefc4
|
add debug line in load_sym_def()
|
2025-01-13 13:30:15 +01:00 |
stefan schippers
|
0920c6804d
|
comments and indentation in save.c
|
2025-01-13 11:58:16 +01:00 |
stefan schippers
|
d05b7fa389
|
update schematic backannotation on cursor2 position if setting it numerically (Right button click on cursor)
|
2025-01-12 17:06:44 +01:00 |
Chayan Deb
|
05a376e678
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-12 12:59:02 +05:30 |
stefan schippers
|
8da888a119
|
fix uninitialized `raw` pointer in graph_fullxzoom() and graph_fullxzoom()
|
2025-01-12 00:08:41 +01:00 |
stefan schippers
|
66a6c913e3
|
removed warning msg
|
2025-01-11 22:45:42 +01:00 |
stefan schippers
|
7d0a0e82bf
|
name_unlabeled_instances() commented out redundant (never happens) check
|
2025-01-11 20:24:16 +01:00 |
stefan schippers
|
a7d5865ab8
|
fix erroneous `all pins disconnected` warning when netlisting pin-to-pin connected element chains
|
2025-01-11 20:16:01 +01:00 |
stefan schippers
|
bca1110282
|
add option -nohier to `xschem netlist` command, correctly restore netlist_dir at end
|
2025-01-11 17:55:46 +01:00 |
stefan schippers
|
7484a6363c
|
interpret `xschem symbols {}` as `xschem symbols` (simpler for scripts), update proc cellview
|
2025-01-11 15:30:22 +01:00 |
stefan schippers
|
172ab4081d
|
changed `xschem is_symgen` to `xschem is_generator` as name is more appropriate
|
2025-01-11 14:17:30 +01:00 |
stefan schippers
|
02d992d2a6
|
fix error checks in get_sch_from_sym()
|
2025-01-11 14:10:02 +01:00 |
stefan schippers
|
5161f3dc0a
|
some doc updates and comments, error checks in get_sch_from_sym()
|
2025-01-11 14:08:23 +01:00 |
Chayan Deb
|
8b6f5c1b9d
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-11 11:33:44 +05:30 |
stefan schippers
|
9d54269d25
|
doc updates (@spice_get_node)
|
2025-01-11 01:34:41 +01:00 |
stefan schippers
|
69ddd2966c
|
get_sym_name(): use with_quotes=6 in extraction of schematic attribute as done in get_additional_symbols() and get_sch_from_sym()
|
2025-01-10 17:40:16 +01:00 |
stefan schippers
|
be76009a3c
|
remove dbg msg
|
2025-01-10 17:15:53 +01:00 |
stefan schippers
|
a0da5c7b51
|
fix resolution of symbol references like: symbolgen.tcl(buf), when descending into symbol correctly recognize generator and descend into generated symbol
|
2025-01-10 17:14:13 +01:00 |
stefan schippers
|
1d5ff21130
|
get_sch_from_sym() fix detection of empty instance `schematic` attribute
|
2025-01-10 16:51:20 +01:00 |
stefan schippers
|
aeb57781a8
|
fix some c89 violations (warnings)
|
2025-01-10 16:14:24 +01:00 |
stefan schippers
|
59e7872f67
|
reduce some pointer indirections to array subscripts (readability)
|
2025-01-10 16:00:47 +01:00 |
stefan schippers
|
0a3fd95e06
|
code formatting
|
2025-01-10 14:58:10 +01:00 |
stefan schippers
|
882e20397d
|
get_additional_symbols(), get_sch_from_sym(): allow to resolve schematic calls like: schematic=generator.tcl(@n\) --> let get_tok_value() return backslashes and remove surrounding "..." quotes
|
2025-01-10 14:12:05 +01:00 |
Chayan Deb
|
48b561b72c
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-10 17:08:28 +05:30 |
stefan schippers
|
a29814d728
|
get_additional_symbols(), get_sch_from_sym(): allow to resolve schematic calls like: schematic=generator.tcl( @n ) where n=11 is defined in instance attrs. some fixes in cursor movement in waves_callback()
|
2025-01-10 06:03:52 +01:00 |
stefan schippers
|
2c1e1c1fe7
|
refactoring and cleanup of wave_callback() -8-
|
2025-01-10 02:35:50 +01:00 |
stefan schippers
|
ef5d0e1b96
|
str_replace(): add parameter to specify number of substituitions (or all); replaced atof_spice() with atof_eng() in various parts related to numbers that do not come from spice netlists; fix numerical setting of cursors if log scale is set (wrong preset was shown); make wave labels in graph scale with gr->magx as X-axis labels; fix scaling roundoff issues in dtoa_eng(); add new `@spice_get_node <spice_node> ` token (where spice_node may contain @variables) in symbol texts to display indicated spice node value. Does not use TCL, thus faster and less "quoting hell" problems
|
2025-01-10 01:52:54 +01:00 |
Chayan Deb
|
3746564468
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-09 21:13:37 +05:30 |
stefan schippers
|
aa36cbb897
|
@path expansion in translate(): remove path components above the level where raw file (if any) was loaded; added @spice_get_current in bsource.sym
|
2025-01-09 15:35:35 +01:00 |
Chayan Deb
|
a184d38007
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-09 17:21:52 +05:30 |
Chayan Deb
|
21d4abcfc0
|
[Experimental Feature Update (orthogonal_wiring)]: Modified the last added orthogonal wiring mode to only FINALIZE either a horizontal, or a vertical component when a user-click event is detected. HOWEVER, the full orthogonal wire is drawn on the canvas anyways. A double-click using LMB causes both the horizontal and vertical components to get finalized, and the wire-drawing mode is simultaneously terminated. To get the best experience with this feature, 'persistent_commands' should also be enabled from the 'Options' menu.
|
2025-01-09 15:56:29 +05:30 |
stefan schippers
|
c6a4e8b942
|
refactoring and cleanup of wave_callback() -7-
|
2025-01-09 04:23:23 +01:00 |
stefan schippers
|
cd3eaf23ea
|
refactoring and cleanup of wave_callback() -6-
|
2025-01-09 04:11:30 +01:00 |
stefan schippers
|
52b9cc1ee6
|
refactoring and cleanup of wave_callback() -5-
|
2025-01-09 00:46:42 +01:00 |
stefan schippers
|
ff7c767c4d
|
propagate drawing graph Hcursor functions to SVG/PDF exports
|
2025-01-09 00:31:11 +01:00 |
stefan schippers
|
7d7b381b7b
|
refactoring and cleanup of wave_callback() -4-
|
2025-01-09 00:17:55 +01:00 |
stefan schippers
|
ed9dc9b211
|
disable debug msg
|
2025-01-09 00:12:07 +01:00 |
stefan schippers
|
45a0af8005
|
fix unwanted clear of GRAPHPAN bit in button3 operations in wave_callback()
|
2025-01-09 00:11:04 +01:00 |
stefan schippers
|
444eb47eb5
|
refactoring and cleanup of wave_callback() -3-
|
2025-01-08 22:19:58 +01:00 |
stefan schippers
|
d1e2328eb3
|
refactoring and cleanup of wave_callback() -2-
|
2025-01-08 21:12:59 +01:00 |
stefan schippers
|
bbdfd3c61a
|
refactoring and cleanup of wave_callback()
|
2025-01-08 16:36:45 +01:00 |
stefan schippers
|
0d7d1f5364
|
implemented drag with right-button pressed on left of Y axis to do a Y area zoom
|
2025-01-08 15:05:11 +01:00 |
stefan schippers
|
12a9276ee0
|
optimization in plotting routines: skip unwanted datasets, if no dc simulation there is no need to detect sweep variable wraps
|
2025-01-08 13:27:07 +01:00 |
stefan schippers
|
182b55adf8
|
fix some issues when setting numerical position of cursors (spurious activation of `GRAPHPAN`); proc input_line: return `preset` argument on Cancel
|
2025-01-08 01:21:05 +01:00 |
stefan schippers
|
149ee5fdc0
|
further refactoring of waves_callback() (reduce first loop over graphs to single iteration on graph_master)
|
2025-01-07 14:31:26 +01:00 |
stefan schippers
|
d2321f1eeb
|
cleanup code in waves_callback()
|
2025-01-07 13:04:41 +01:00 |
stefan schippers
|
15738bbf51
|
better drag waves in x direction (continue even if dragging outside of graph)
|
2025-01-07 12:03:49 +01:00 |
stefan schippers
|
a3e7610d83
|
horizontal cursors in graphs
|
2025-01-07 04:20:32 +01:00 |
stefan schippers
|
9fda7e2f96
|
wip: put code in place for horiz cursors in graphs
|
2025-01-06 13:14:12 +01:00 |
Chayan Deb
|
be202219a0
|
[Experimental Feature Update (orthogonal_wiring)]: Modified the last added orthogonal wiring mode to only draw either a horizontal, or a vertical component when a user-click event is detected. To get the best experience with this feature, 'persistent_commands' should also be enabled from the 'Options' menu.
|
2025-01-06 15:58:38 +05:30 |
Chayan Deb
|
f020e45364
|
[Experimental Feature Update (orthogonal_wiring)]: Modified the last added orthogonal wiring mode to only draw either a horizontal, or a vertical component when a user-click event is detected. To get the best experience with this feature, 'persistent_commands' should also be enabled from the 'Options' menu.
|
2025-01-06 15:57:37 +05:30 |
stefan schippers
|
783fa04eb6
|
`xschem save` --> save_schematic(): added `fast` argument (do not update window/tab/sim button states for speed); `xschem select instance` --> select_element(): added `nodraw` argument in addition to existing `fast` (avoid drawing selected item for speed)
|
2025-01-05 13:27:49 +01:00 |
stefan schippers
|
4d76708534
|
save_schematic(): remove set_modify(2) if same name. need to add a dedicated parameter for save without title update
|
2025-01-05 11:27:18 +01:00 |
Chayan Deb
|
3a19d8c8ec
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-05 13:23:03 +05:30 |
Chayan Deb
|
3b55410709
|
[Added New Feature]: New menu option 'Enable orthogonal wiring' is now accessible through the 'Options' menu. This option is kept ON-BY-DEFAULT and can be disabled through the menu, 'Shift+L'-keyboard-shortcut, or by editing the 'xschemrc' file to make xschem-editor revert back to it's old behavior - which was drawing wires in free-form mode (Unconstrained move). The functionality of the 'h' and 'v' keys are preserved, and they can still be used to force the editor to only draw horizontal or vertical wires respectively.
|
2025-01-05 13:20:52 +05:30 |
stefan schippers
|
fd5fec64aa
|
make uninstall: remove empty directories (share/xschem and share/doc/xschem); make command `xschem help` work also if running in src/ directory; use XSCHEM_SHAREDIR shell variable (if defined and directory existing), else set XCSCHEM_SHAREDIR to `pwd` if started from src/ dir, else set compile set XSCHEM_SHAREDIR. xschemrc can override this XSCHEM_SHAREDIR setting.
|
2025-01-05 01:29:04 +01:00 |
Chayan Deb
|
4e084d8cae
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-04 17:35:16 +05:30 |
stefan schippers
|
09813f8e1e
|
restrict `menu unpost by click` hack to 8.6+ tcl versions. the hack works on tcl8.4, but lets avoid potential problems on jurassic systems
|
2025-01-04 12:47:13 +01:00 |
stefan schippers
|
f824f26c4f
|
click on posted menu will unpost it. Now no more Motion event is needed to repost again the menu by another click
|
2025-01-04 12:39:22 +01:00 |
stefan schippers
|
ee0de61220
|
add `2` and `3` argument to set_modify (do only clear/set modified flag), save() -> save_schematic(): do not update title/tab names if saving with same name.
|
2025-01-04 12:24:22 +01:00 |
stefan schippers
|
69a23355fb
|
refactor some debug print messages for NULL strings
|
2025-01-04 11:33:58 +01:00 |
stefan schippers
|
4e2584341c
|
updates on cellview and traversal; hack on Menu Button event handler to allow a click on a posted menu to unpost it.
|
2025-01-04 04:16:43 +01:00 |