stefan schippers
|
eb6f9f1f4e
|
fix a small memory leak in spice_netlist.c
|
2023-11-21 10:48:56 +01:00 |
stefan schippers
|
8d155af82f
|
`Alt-e` does a true descend sub-schematic and opens it in another window
|
2023-11-20 17:53:28 +01:00 |
stefan schippers
|
d4cde62870
|
add draw option in schematic_in_new_window(), create_new_tab(), create_new_window()
|
2023-11-20 00:12:13 +01:00 |
stefan schippers
|
2c773c4a25
|
poweramp.sch and mos_power_ampli.sch updates
|
2023-11-19 12:52:57 +01:00 |
stefan schippers
|
f4f61d23a6
|
comments added
|
2023-11-18 23:13:52 +01:00 |
stefan schippers
|
84d945238f
|
`xschem annotate_op file [level]`: added `level` optional integer to specify the hierarchy level op raw data refers to. Add xschem set raw_level to modify the raw level loaded raw file refers to
|
2023-11-18 12:55:57 +01:00 |
stefan schippers
|
2c48b7399e
|
update manual page for sky130 installation (switch from adms to openvaf)
|
2023-11-18 12:03:09 +01:00 |
stefan schippers
|
7da63c19e2
|
regression fix: xschem netlist did not return exit code
|
2023-11-18 01:49:50 +01:00 |
stefan schippers
|
2dac7f1735
|
added execute(exitcode,id) will not be deleted at end of sim. proc graph_tag_nodes works with or without graphdialog open. If it is open it will tag nodes therein, if not it merely returns start and end indexes of nodes in its txt argument
|
2023-11-17 21:36:34 +01:00 |
stefan schippers
|
41f66117e9
|
more code in proc graph_tag_nodes
|
2023-11-17 14:32:25 +01:00 |
stefan schippers
|
48a9a94ab2
|
offloaded proc graph_tag_nodes from proc graph_update_nodelist, moved rcode and colors into tctx:: context
|
2023-11-17 14:05:49 +01:00 |
stefan schippers
|
913614b558
|
some fixes in draw() (transform multiple op in dc sweep also if per-node rawfile specified), handle per-node rawfile in graph_fullyzoom()
|
2023-11-17 01:20:52 +01:00 |
stefan schippers
|
397293f227
|
spice netlist: use symbol for port list of top level schematic only if it is of type subcircuit
|
2023-11-16 23:37:16 +01:00 |
stefan schippers
|
760fbbbc4a
|
allow newlines in (quoted) node names in graphs:
"alias_name;
node_name %
dataset raw_file.raw sim_type
"
|
2023-11-16 02:58:26 +01:00 |
stefan schippers
|
a50bfb3622
|
when doing spice netlisting if top level has a symbol (and the symbol has i/o ports) use the symbol for printing the top level subckt port list. This ensures same port ordering when netlisting a testbench containing a component and netlisting the component itself. Tab context menu: open Symbol / open Schematic will use the search_schematic setting and search counterpart accordingly.
|
2023-11-16 01:26:55 +01:00 |
stefan schippers
|
5117001a9c
|
revert changes: `allow tcleval() in node alias names` and `allow tcleval(xxxx) in % dataset specification on graph nodes`: just wrap the whole list of nodes (including aliases, % specifications et all) into a tcleval(...)
|
2023-11-16 00:02:25 +01:00 |
stefan schippers
|
c85727ae62
|
draw_graph(): revert back tcleval() on node, color, sweep graph attrs
|
2023-11-15 21:27:05 +01:00 |
stefan schippers
|
be914f4ee4
|
raw_read(): clear text floater caches if a rawfile is successfully read
|
2023-11-15 21:04:10 +01:00 |
stefan schippers
|
b1f72ada59
|
isonlydigit() will return true also for negative integers
|
2023-11-15 20:15:02 +01:00 |
stefan schippers
|
83345932a5
|
allow to specify per-node raw file in graphs with the syntax: alias_name ; node_name % [dataset] [rawfile] [sim_type]
|
2023-11-15 19:18:28 +01:00 |
stefan schippers
|
babd340da9
|
report previous netlist error also if doing current level only netlist
|
2023-11-15 00:32:41 +01:00 |
stefan schippers
|
5d3b7bd7d0
|
report error if trying to do a netlist and the file can not be written (example: broken simulation symlink)
|
2023-11-14 23:40:41 +01:00 |
stefan schippers
|
852f2bd25d
|
remove dbg stuff
|
2023-11-14 02:15:07 +01:00 |
stefan schippers
|
d0ee3a34fa
|
fix additional intersection checks in `proc touches`
|
2023-11-14 02:12:23 +01:00 |
stefan schippers
|
8c431a51f8
|
allow to block change color of selected waves using text selection in signal list
|
2023-11-14 01:22:41 +01:00 |
stefan schippers
|
b691021f66
|
typo in my_strdup2() dbg message
|
2023-11-13 23:52:50 +01:00 |
stefan schippers
|
f4df48813f
|
copy_hierarchy_data() initial implementation for future hierarchy cloning. Alt-Shift-E and Alt-Shift-I to edit schematic / symbol in a new xschem process. `xschem raw switch`: allow also integer index (as returned by `xschem raw info`) instead of `file type` to switch raw file
|
2023-11-13 18:00:30 +01:00 |
stefan schippers
|
0bc0f8e5eb
|
read_dataset(): better get name of unknown sim types from raw file
|
2023-11-12 22:11:51 +01:00 |
stefan schippers
|
52291c562d
|
reset_caches() back into prepare_netlist_structs() (no measurable slowdown)
|
2023-11-12 20:56:57 +01:00 |
stefan schippers
|
6360fc1700
|
refactor reset_flags() to reset_caches(). scripts that set tcl variables that go into attributes via tcleval() should call `xschem reset_caches` to get all things updated.
|
2023-11-12 20:53:37 +01:00 |
stefan schippers
|
0df3cfcc7b
|
better recognize global nets in LCC schematics (translate(), @spice_get_voltage(..) )
|
2023-11-12 13:43:31 +01:00 |
stefan schippers
|
ecca0ba2be
|
better swap_windows() function (used when closing a window in multi-window(non-tabbed) interface, resolved_net() recognize global nodes. remove static data from record_global_node(), put in xctx. Remove dead code from translate() (@spice_get_voltage)
|
2023-11-12 13:01:11 +01:00 |
Stefan Schippers
|
8c29d0e812
|
fix error in capa-2.sym and missing check for null xctx->inst[].instname in get_pin_attr()
|
2023-11-11 20:03:20 +01:00 |
stefan schippers
|
8856ab6e0d
|
add min() and max() clipping functions in wave calculator
|
2023-11-11 12:13:38 +01:00 |
stefan schippers
|
d4b8f25455
|
xschem raw_read just loads or reloads the waves, does not toggle. use xschem raw_clear to unload
|
2023-11-11 11:40:36 +01:00 |
stefan schippers
|
f3aac428a4
|
fix rel_sym_path when XSCHEM_LIBTRARY_PATH contains paths with trailing `/`
|
2023-11-11 11:30:27 +01:00 |
stefan schippers
|
bdd641cad3
|
allow tcleval(xxxx) in % dataset specification on graph nodes
|
2023-11-11 00:03:22 +01:00 |
stefan schippers
|
2a67e60376
|
allow tcleval() in node alias names
|
2023-11-10 23:42:09 +01:00 |
stefan schippers
|
117f071500
|
fix del() function in wave processor (did not plot the right %n dataset if specified)
|
2023-11-10 23:23:13 +01:00 |
stefan schippers
|
7368344d85
|
waves callback(): absolute X panning will not switch raw file if no rawfile is specified in graph
|
2023-11-10 18:50:58 +01:00 |
stefan schippers
|
ccc5dab228
|
better wire connection dot sizing at small smap values
|
2023-11-10 17:43:41 +01:00 |
stefan schippers
|
1991b409e0
|
fix small memory leak
|
2023-11-10 15:43:36 +01:00 |
stefan schippers
|
3f85766c10
|
add debug_tcleval variable for specific debugging of tcleval() constructs in the schematic
|
2023-11-10 14:57:37 +01:00 |
stefan schippers
|
565ab605cf
|
better xschem raw clear comand (if rawfile and sim_type specified delete only specified simulation data, not all analyses of rawfile)
|
2023-11-10 12:24:21 +01:00 |
stefan schippers
|
87f9a4e09b
|
reset floater caches on save(As) schematic - better done
|
2023-11-09 19:20:17 +01:00 |
stefan schippers
|
1b737c4ac7
|
reset floater caches on save(As) schematic
|
2023-11-09 19:13:55 +01:00 |
stefan schippers
|
40e66122e8
|
typo in xschemrc
|
2023-11-09 17:32:25 +01:00 |
stefan schippers
|
769c7d4663
|
Add incremental_select tcl variable. It is normally set. If set show selected objects while dragging a selection rectangle. If unset show selection at end of drag operation. Fix possible endless loop whiel zooming on X axis if raw file has only one point (OP). Also if graph specifies custom plot switch to that raw file to get correct x range.
|
2023-11-09 16:41:53 +01:00 |
stefan schippers
|
8231cd65db
|
set_first_sel(): returns first selected element (if any)
|
2023-11-09 15:12:56 +01:00 |
stefan schippers
|
584f88fba1
|
object iterator, object spatial hash table for all objects. tbu in the future maybe. Fix crashing bug when copying ngspice_probe.sym if annotation is enabled
|
2023-11-09 13:57:58 +01:00 |
stefan schippers
|
35359aed20
|
backannotate_at_cursor_b_pos(): allow backannotating b cursor on graphs created from multiple OP points
|
2023-11-09 04:10:06 +01:00 |
stefan schippers
|
7d92a32f5e
|
added Waves ->Op in addition to Waves->Op annotate
|
2023-11-09 04:04:43 +01:00 |
stefan schippers
|
518250b3cc
|
Waves->OP does backannotation, not only loading OP raw file; removed Simulation->Graph->load/unload raw file (redundant, now in Waves)
|
2023-11-09 02:49:02 +01:00 |
stefan schippers
|
3751104b34
|
graph dialog: file selector for graph-specific raw file
|
2023-11-09 01:59:17 +01:00 |
stefan schippers
|
22bd6733fc
|
better alert_ dialog, tab ctx menu: do not try to open netlist if not existing (yet), Simulation->set netlist dir will disable local_netlist_dir
|
2023-11-09 01:21:12 +01:00 |
stefan schippers
|
75c8376a04
|
fix draw_crosshair when xctx->semaphore not zero, fix tabs context menu issues with `open schematc/symbol`; set_modify: do not attempt to reconfigure menu buttons (Simulate-Netlist-Waves) if invoked from preview dialog
|
2023-11-08 22:45:31 +01:00 |
stefan schippers
|
4fef5e2761
|
enhanced Waves menu button, "Use simulation dir..." option does not pring up file selector
|
2023-11-08 11:16:43 +01:00 |
stefan schippers
|
ed9d6905de
|
handle errorCode=NONE (close pipe was with error but no error code)
|
2023-11-08 04:02:33 +01:00 |
stefan schippers
|
b51af6422e
|
call simuldir if doing netlist from commandline (xschem -x -r -n -s -q ... )
|
2023-11-08 03:46:36 +01:00 |
stefan schippers
|
4ff28fd39d
|
avoid calling simuldir in load_schematic when traversing hierarchy during netlisting
|
2023-11-08 02:52:50 +01:00 |
stefan schippers
|
c485e7ef7a
|
better handle error color codes for processes that get killed
|
2023-11-08 02:27:56 +01:00 |
stefan schippers
|
eb7ad4cd8e
|
cleanup set_netlist_dir tcl proc
|
2023-11-08 00:44:29 +01:00 |
stefan schippers
|
a128df47e0
|
proc simuldir: set directory to [xschem current_dirname]/simulation but do not create it until doing the netlist
|
2023-11-07 23:39:18 +01:00 |
stefan schippers
|
acbe76329c
|
execute_fileevent: polling for processes that do close stdout
|
2023-11-07 18:10:33 +01:00 |
stefan schippers
|
f04477d236
|
if local_netlist_dir is set to 1 change netlist_dir at circuit load (and save-as)
|
2023-11-07 17:25:18 +01:00 |
stefan schippers
|
41ade18616
|
fix previously disabled kill for foreground subprocess via Simulate button
|
2023-11-07 15:37:40 +01:00 |
stefan schippers
|
98a95b7f6b
|
proc simulate: handle foreground processes correctly
|
2023-11-07 14:25:36 +01:00 |
stefan schippers
|
c57d5d815f
|
kill_running_cmds: do not try to kill process if execute(pipe,...) not existing; simulate_from_button : don`t do further actions and forget if no process was killed; proc simulate: dont set tctx::...simulate_id, change button color if invoked in foreground
|
2023-11-07 14:10:16 +01:00 |
stefan schippers
|
366fa86d57
|
do not sel tctc::*_simulation_id var if no process was started due to errors /missing command
|
2023-11-07 12:44:56 +01:00 |
stefan schippers
|
089592122d
|
fix mis-interpretation of % as a dataset designator when present in wave alias names
|
2023-11-07 01:05:45 +01:00 |
stefan schippers
|
a5b65ea494
|
add execute(win_path,$id) variable to keep track the tab/window subprocesses started from, for cleanup buttons
|
2023-11-07 00:40:57 +01:00 |
stefan schippers
|
aeafaf5052
|
execute_fileevent: delete ..*simulate_id only if called from related id
|
2023-11-06 19:14:32 +01:00 |
stefan schippers
|
71f5994798
|
reset simulation button on save AS
|
2023-11-06 19:03:19 +01:00 |
stefan schippers
|
714724561d
|
add a catch {} in execute_fileevent (non existent ..._simulate_id var)
|
2023-11-06 16:59:14 +01:00 |
stefan schippers
|
98def78164
|
simulation button will go yellow while sim is running.Clicking a yellow simulate button will kill simulation.
|
2023-11-06 16:47:14 +01:00 |
stefan schippers
|
f531422761
|
restore semaphore on simulate button to avoid multiple clicks running multiple identical sims.
|
2023-11-06 03:07:20 +01:00 |
stefan schippers
|
e5431d86c5
|
fix setting netlist button color code statwe variable (tctx::...._netlist)
|
2023-11-06 01:44:25 +01:00 |
stefan schippers
|
881d8a4ed9
|
various fixes for Simulator/Netlist button color codes
|
2023-11-05 14:13:20 +01:00 |
stefan schippers
|
27114408ec
|
reset simulate and netlist button colors on load new file
|
2023-11-05 02:42:06 +01:00 |
stefan schippers
|
a6fa6135c9
|
remove debug msg
|
2023-11-05 01:51:34 +01:00 |
stefan schippers
|
4a0c007540
|
fix yet another issue with set_modify()
|
2023-11-05 01:42:25 +01:00 |
stefan schippers
|
3bd3956042
|
Netlist and Simulate buttons will be colored in red or green depending on the outcome of the associated operation
|
2023-11-05 00:14:55 +01:00 |
stefan schippers
|
88e7f4fea4
|
fix a problem in set_modify() (inconsistent prev_set_modify state after netlist of modified circuit)
|
2023-11-04 22:50:57 +01:00 |
stefan schippers
|
cfdaebf5e1
|
add `xschem instance_number` command to easily get/set the position of instance in the list
|
2023-11-04 20:43:04 +01:00 |
Stefan Schippers
|
299b29bf87
|
fix parameter count check in xschem getprop
|
2023-11-04 18:46:26 +01:00 |
Stefan Schippers
|
a5f660e54a
|
improve drawing quality of crosshair with (now default) fix for broken gpu enabled
|
2023-11-04 18:29:15 +01:00 |
Stefan Schippers
|
fd5a1e0bdf
|
fix draw_crosshair() (dont get obscured by rubber placement)
|
2023-11-04 15:56:42 +01:00 |
stefan schippers
|
4be10f1707
|
remove dbg message
|
2023-11-04 15:07:09 +01:00 |
stefan schippers
|
7022fbf073
|
xschem simulate sets the Simulate button color. removed redundant proc simulate_button
|
2023-11-04 14:49:15 +01:00 |
stefan schippers
|
bd43be9be6
|
rename a local variable to make tcc happy
|
2023-11-04 12:03:41 +01:00 |
stefan schippers
|
0b93634fee
|
Better Simulation->Graphs-> Load raw file (ask filename)
|
2023-11-03 23:37:09 +01:00 |
stefan schippers
|
a5ee182d59
|
add some Symbol menu entries (place net label / change instance texts to floaters)
|
2023-11-03 15:10:22 +01:00 |
stefan schippers
|
2c26bfbaa9
|
fix some garbage while moving / copying and zooming. faster draw_selection(gctiled) if big selection (use a single XCopyArea), do not allow to descend/go_back if other UI action is pending, initial implementation of `xschem floaters_from_selected_inst` command, get_tok_val() allow quotes in tokens, like a"22"33=123 even if with_quotes unset (it is intended for token values not for tokens themselves)
|
2023-11-03 14:36:35 +01:00 |
stefan schippers
|
b7e5af9b4b
|
add inherited_pin[] in make_sym_from_spice.awk
|
2023-11-02 19:39:01 +01:00 |
stefan schippers
|
234a70d0a3
|
fix version print in make_sch_from_spice.awk and make_sym_from_spice.awk
|
2023-11-02 19:29:00 +01:00 |
stefan schippers
|
e86857d410
|
code cleanup in make_sch_from_spice.awk and make_sym_from_spice.awk
|
2023-11-02 19:23:11 +01:00 |
stefan schippers
|
794df4dfc3
|
add make_sym_from_spice.awk, cut down from make_sch_from_spice.awk
|
2023-11-02 19:07:15 +01:00 |
stefan schippers
|
7727a9f924
|
add necessary comment in edit_text_property()
|
2023-11-02 13:30:03 +01:00 |
stefan schippers
|
722b1f4575
|
small improvements in edit_text_property() and get_instance()
|
2023-11-02 13:24:15 +01:00 |
stefan schippers
|
0a4c59cc30
|
xschem selected_set, search: include text objects. xschem getprop: allow to retrie the text value with txt_ptr
|
2023-11-01 14:19:26 +01:00 |
stefan schippers
|
240db67df2
|
add comments in xschemrc for bespice_listen_port
|
2023-11-01 02:27:23 +01:00 |
stefan schippers
|
1955d6d386
|
setup_tcp_bespice: if port 0 is given let TCL find a free port
|
2023-11-01 02:23:21 +01:00 |
stefan schippers
|
18f337734d
|
setup_tcp_bespice: use stderr for messages
|
2023-11-01 00:31:35 +01:00 |
stefan schippers
|
b60a5a4c4b
|
Add command `xschem setprop text n txt_ptr value` to change a text object text field, set stdout in line buffer mode if used in a pipe, better protect some commands against no X connection
|
2023-10-31 18:39:42 +01:00 |
stefan schippers
|
ff24678fec
|
draw_temp_symbol(): update symbol bbox before doing XCopyArea (fix_broken_tiled_fill && gctiled)
|
2023-10-31 13:10:16 +01:00 |
stefan schippers
|
7842890f0c
|
select_rect(): no more direct usage of fix_restore_rect() (now done in drawtemprect(xctx->gctiled,...). Some dialogs no more transient (having always on top is a hassle for some). The fix_broken_tiled_fill is now set to 1, make this alternate drawing method the default
|
2023-10-30 22:47:25 +01:00 |
stefan schippers
|
e282abb5f1
|
optimized XCopyArea for draw_graph(flags & 1), removed redundant OUTSIDE macro
|
2023-10-30 18:03:52 +01:00 |
stefan schippers
|
11c8c47ad3
|
faster draw_temp_symbol() if fix_broken_tiled_fill and gc==gctiled
|
2023-10-30 17:17:00 +01:00 |
stefan schippers
|
d7247d55e6
|
fix `destroy_all_windows()` not destroying windows in non tabbed interface (late usage of tclresult())
|
2023-10-30 02:09:49 +01:00 |
stefan schippers
|
814839a132
|
fix `destroy_window()` not destroying window in non tabbed interface (late usage of tclresult())
|
2023-10-30 02:02:03 +01:00 |
stefan schippers
|
8f2af6803a
|
remove some dead code, fix redrawing in `xschem move_instance` command
|
2023-10-30 00:57:28 +01:00 |
stefan schippers
|
36b1a9f9e7
|
fix delete_only_rect_line_arc_poly() (used in change_layer)
|
2023-10-30 00:22:25 +01:00 |
stefan schippers
|
52e36cc46b
|
add portable sleep_ms() function
|
2023-10-29 23:52:33 +01:00 |
stefan schippers
|
391a744302
|
xschem setprop command: redraw all viewport if show_pin_net_names is enabled
|
2023-10-29 22:22:05 +01:00 |
Stefan Schippers
|
958c5a1525
|
set_modify() returns now # of floaters, use this info to redraw all viewport in `xschn setprop` commands
|
2023-10-29 20:02:23 +01:00 |
stefan schippers
|
d776d6a351
|
better handle operating point clear / update when switching / reading / clearing raw files. dont use operating point data (ngspice::ngspice) above the hierarchy level where raw file has been loaded.
|
2023-10-29 14:04:52 +01:00 |
stefan schippers
|
b680f5da20
|
redraw screen if executing `xschem raw_read` (and raw file already loaded, thus unloading waves)
|
2023-10-29 12:54:55 +01:00 |
stefan schippers
|
a19020ed78
|
removed find_inst_to_be_redrawn() and related code (not worth doing)
|
2023-10-29 11:11:45 +01:00 |
Stefan Schippers
|
d5fd026196
|
xschem raw command: delete also last (base) raw file in clear subcommand
|
2023-10-28 17:12:32 +02:00 |
stefan schippers
|
a76dca4f29
|
add menu entry in Options for fix_mouse_coord
|
2023-10-28 11:51:21 +02:00 |
stefan schippers
|
78981f2c2f
|
disabled testmode
|
2023-10-28 11:22:37 +02:00 |
stefan schippers
|
a2ed8fefb6
|
added an optional fix (fix_mouse_coord) that uses an alternative method for getting mouse coordinates in KeyPress/KeyRelease events. This should hopefully work around some remote desktop connection softwares that report wrong mouse coordinates (may be absolute vs relative to window?)
|
2023-10-28 11:19:23 +02:00 |
stefan schippers
|
8ac4c6030d
|
getpgrp() tcgetpgrp() are unix specific: protect with #ifdef __unix__
|
2023-10-28 01:20:51 +02:00 |
stefan schippers
|
8b784d01d9
|
fix unrestored bbox coordinates in draw_selection()
|
2023-10-28 01:03:21 +02:00 |
stefan schippers
|
b965fb0ba4
|
improvements in the `Fix for GPUs with broken tiled fill`, no more flickering in selections
|
2023-10-27 23:45:54 +02:00 |
stefan schippers
|
364fb55df1
|
avoid doing unselect_all() if nothing to unselect
|
2023-10-27 12:42:08 +02:00 |
stefan schippers
|
6362ebb214
|
add tanh() function in wave expression evaluator
|
2023-10-27 10:48:53 +02:00 |
stefan schippers
|
9f1b447c16
|
previous fix did not fix. Fix the fix
|
2023-10-26 19:38:25 +02:00 |
stefan schippers
|
4985fb6e61
|
fix crash if extra_rawfile(2, ...) is called when no initial raw file is loaded
|
2023-10-26 19:27:11 +02:00 |
stefan schippers
|
c68866c994
|
add `wm transient .dialog .` to all toplevel dialogs to prevent focus robbery on cinnamon/mate desktops when some other app is always-on-top
|
2023-10-26 19:13:49 +02:00 |
stefan schippers
|
bfc60add06
|
tab context menu: Do not use saved file to decide if symbol or schematic. Use netlist_type
|
2023-10-26 08:29:52 +02:00 |
Stefan Schippers
|
34113c1c5f
|
added tab ctx menu `Save`
|
2023-10-25 20:30:20 +02:00 |
stefan schippers
|
2fec681728
|
puntuation in texts
|
2023-10-25 18:13:48 +02:00 |
stefan schippers
|
f9d3661c15
|
fix tab context menu close (invalid switching after deletion)
|
2023-10-25 16:47:11 +02:00 |
stefan schippers
|
8e844ff913
|
remove (unneeded) `edit file` tab-bar context menu entry
|
2023-10-25 16:33:24 +02:00 |
stefan schippers
|
27488a1020
|
add tabs ctx menu `open term in sim directory`
|
2023-10-25 16:28:10 +02:00 |
stefan schippers
|
b31358a468
|
New thumbnails for tabs ctxmenu
|
2023-10-25 13:01:00 +02:00 |
stefan schippers
|
9a0375cc4b
|
do not add `Edit netlist` ctx menu button for symbol tabs
|
2023-10-25 12:14:48 +02:00 |
stefan schippers
|
3d4113ad26
|
tabs bar context menu
|
2023-10-25 11:43:43 +02:00 |
stefan schippers
|
d83acf710d
|
add `xschem text_string` command, update displayed floaters if a text object is changed
|
2023-10-24 18:47:58 +02:00 |
stefan schippers
|
94b43d41ed
|
add double click in process list to get status, add Simulation menu entries to display data and stderr of last completed job
|
2023-10-24 14:28:59 +02:00 |
stefan schippers
|
82387c7f2f
|
remove unneeded grab set in property_search
|
2023-10-24 11:45:13 +02:00 |
stefan schippers
|
0819211bb0
|
when doing a select by area with shift pressed the object under the mouse will not be unselected if it was already selected (xctx->already_selected)
|
2023-10-23 23:41:39 +02:00 |
stefan schippers
|
512b297e35
|
add validity checks for xctx->inst[n].ptr < 0 (unresolved instance)
|
2023-10-23 22:49:52 +02:00 |
stefan schippers
|
fec9c1b7e3
|
fix fullxzoom if a single curve is selected with find_closest_wave() (returns a dataset number) in a double variable DC sweep (there are no multiple datasets, just sweep var wrapping)
|
2023-10-23 17:20:51 +02:00 |
stefan schippers
|
2aeafac85c
|
if selecting a waweform dataset with `t` key update text floaters that might contain the dataset information. When closing the process list dialog also close the process status sub-dialog.
|
2023-10-23 16:03:27 +02:00 |
stefan schippers
|
4f4872fa7b
|
execute_fileevent: use exit status instead of stderr data in status report
|
2023-10-23 10:33:08 +02:00 |
stefan schippers
|
d82ad002e8
|
better fill nodes listbox when selecting in-graph raw file, simulation->graph menu reordering
|
2023-10-23 09:28:29 +02:00 |
stefan schippers
|
447a5b8ae6
|
add ngspice interactive/control/batch simulation modes
|
2023-10-23 01:00:09 +02:00 |
stefan schippers
|
6e776262e6
|
remove debug msg
|
2023-10-23 00:05:34 +02:00 |
stefan schippers
|
10857629e1
|
add option --pipe (alias for -r / ----no_readline)
|
2023-10-22 22:16:17 +02:00 |
stefan schippers
|
2a8b0b40d8
|
add some additional help text in simulator config dialog
|
2023-10-22 12:14:49 +02:00 |
stefan schippers
|
8f3fedab1f
|
fix a bug when closing with ctrl-q (ie from callback(), calling proc quit_xschem) and there are multiple windows, some with changed data (switch_tab() was skipped due to xctx->semaphore). Process status dialog window will not be updated if vertical slider is not positioned to bottom
|
2023-10-22 02:53:03 +02:00 |
stefan schippers
|
d5d090afc0
|
better line-rectangle touch check for backward rectangle selection (intersection select)
|
2023-10-21 23:48:56 +02:00 |
stefan schippers
|
5c27e48ccf
|
fix rectangle intersection checker macro (RECT_TOUCH)
|
2023-10-21 22:37:01 +02:00 |
Stefan Schippers
|
73c4a17c2c
|
dragging to the right a selection rectangle will select objects fully enclosed. Dragging to the left will select all objects intersected by the select rectangle.
|
2023-10-21 19:09:17 +02:00 |
stefan schippers
|
109cef6c52
|
detect if program started in background and detach from console
|
2023-10-21 11:37:59 +02:00 |
stefan schippers
|
f2fd7e6e48
|
remove debug messages
|
2023-10-21 11:05:47 +02:00 |
stefan schippers
|
99f31e4535
|
periodic update of process status dialog, updated delta_sigma and rom8k examples for allowing batch mode ngspice run
|
2023-10-21 10:58:02 +02:00 |
stefan schippers
|
e603a71651
|
fix typo
|
2023-10-21 10:07:31 +02:00 |
stefan schippers
|
8a8d9f0148
|
added comments for sub-process management, disabled list sub-processes on windows (need specialized version)
|
2023-10-21 09:47:37 +02:00 |
stefan schippers
|
2e4e754a3e
|
add context menu entries for rotate and flip selection, add basic sub-process control in Simulation menu, enabled again Rotate and Flip from Edit menu, fix svg export from CLI (was resetting line width), add cascade menus in Simulation
|
2023-10-21 09:27:02 +02:00 |
stefan schippers
|
8e1df1b157
|
add proc sim_cmd to substitute variables in simulator commands and return the resulting command
|
2023-10-19 18:18:20 +02:00 |
stefan schippers
|
0e583cfac1
|
add tooltip showing full path of schematic when hovering the mouse over a tab
|
2023-10-19 15:14:29 +02:00 |
stefan schippers
|
0325b14499
|
add `none` i/o buffering mode (in addition to `line`) in execute `status` argument
|
2023-10-19 13:01:25 +02:00 |
stefan schippers
|
efb0351812
|
fix fullxzoom when selecting more (unlocked) graphs, graphs have a custom rawfile specified and current loaded sim is not of the same type (for example OP)
|
2023-10-19 10:47:01 +02:00 |
stefan schippers
|
1b7a035220
|
fix graph_fullxzoom in case of non monotonical sweep x axis variable
|
2023-10-18 16:10:08 +02:00 |
stefan schippers
|
0178e1c287
|
add @symref attribute that resolves to the full symbol reference as specified in instance: example: "sky130_fd_pr/pfet_01v8_lvt.sym"
|
2023-10-18 13:18:29 +02:00 |
stefan schippers
|
f9114a0888
|
proc graph_fill_listbox : use "xschem raw read" instead of "xschem raw switch" so if user enters a new file it will be immediately loaded
|
2023-10-18 10:48:23 +02:00 |
stefan schippers
|
cc5864e12f
|
fix 2 bugs in extra_rawfile(): xctx->extra_idx assignment in extra_rawfile "read" subcommand and return value if no command executed. Add "file_exists "procedure to be used in graph_edit_properties for rawentry resolution
|
2023-10-18 10:15:39 +02:00 |
stefan schippers
|
a41a0bf9fd
|
add noise analysis recognition in raw files
|
2023-10-18 02:56:06 +02:00 |
stefan schippers
|
ad07999dd3
|
do not use text widget -selectbackground on tcl8.4
|
2023-10-17 23:35:16 +02:00 |
stefan schippers
|
ecbbb68447
|
replace text widget "count -displaylines" with alternative tcl8.4 compatible
|
2023-10-17 23:31:13 +02:00 |
stefan schippers
|
8e8145a241
|
fix regression on input_line tcl procedure. buggy if empty cmd ws passed as argument
|
2023-10-17 23:06:49 +02:00 |
stefan schippers
|
52572a6ca4
|
update cmos_example.sch
|
2023-10-17 18:16:48 +02:00 |
stefan schippers
|
9917c8276b
|
revert to KeyRelease events (instead of FocusOut) for various widgets in graphdialog (better feedback), fix premature deallocation of data in child process in filter_data()
|
2023-10-17 17:05:10 +02:00 |
stefan schippers
|
025454e79e
|
fix a regression in graph_fullyzoom() if graph contains more than one expression
|
2023-10-17 16:39:25 +02:00 |
stefan schippers
|
306c5d0d15
|
fix two small memory leaks, doc updates (xschem raw command) Raw.filename renamed to Raw.rawfile
|
2023-10-17 16:08:27 +02:00 |
stefan schippers
|
9fda2adccb
|
fix graph_fullxzoom if displaying multiple op (transformed to dc sweep) sims
|
2023-10-17 14:20:34 +02:00 |
stefan schippers
|
b165720bc8
|
allow loading more and different analyses from the same raw file. Implied tcleval() in rawfile given in graphdialog, transform multiple saved OP sims into a dc sweep.
|
2023-10-17 14:00:43 +02:00 |
stefan schippers
|
8cfd51d8f9
|
add the ability to load multiple raw files with different analyses in a single schematic ( extra_rawfile() )
|
2023-10-17 00:42:31 +02:00 |
stefan schippers
|
5da81a7aea
|
shut down some gcc false warnings (uninitialized vars), add read_more_rawfile()
|
2023-10-16 11:16:12 +02:00 |
stefan schippers
|
f10555917e
|
optimized usage of interpolate_yval(), add raw->cursor_b_val[]
|
2023-10-16 09:53:03 +02:00 |
stefan schippers
|
d1309a8a47
|
fix uninitialized var in interpolate_yval()
|
2023-10-15 13:24:19 +02:00 |
stefan schippers
|
a7bcfb7941
|
do interpolation when annotating "b" cursor values in schematic, as done with measurements with "a" cursor.
|
2023-10-15 12:05:48 +02:00 |
stefan schippers
|
f87ab46310
|
refactor table_read(), less pointer indirections
|
2023-10-15 10:24:13 +02:00 |
stefan schippers
|
53286346e1
|
doc updates, tcl rawfile variable in place for future per-graph raw file
|
2023-10-14 23:41:19 +02:00 |
stefan schippers
|
663991ce70
|
add "filename" member in Raw (raw file) struct
|
2023-10-14 23:09:40 +02:00 |
stefan schippers
|
537cedbafe
|
better graphdialog layout, remove tcl redundant raw_level var
|
2023-10-14 22:43:58 +02:00 |
stefan schippers
|
8ceb4b6b41
|
fix false wcnt warning in draw_graph()
|
2023-10-13 23:09:27 +02:00 |
stefan schippers
|
25ab8a8b8a
|
cursor `a` measurements in graph match the %n dataset specified on nodes if any (or default to dataset 0)
|
2023-10-13 23:04:45 +02:00 |
Stefan Schippers
|
c6a3880b9d
|
fix a bug in draw_graph_points() changing and not restoring linewidths if called with idx==-1
|
2023-10-13 18:46:15 +02:00 |
stefan schippers
|
617e6b3b8d
|
update live backannotation if "a" and "b" cursors are swapped, syntax node%n is now allowed to plot only dataset "n" of the node. Update html docs and example autozero_comp circuit
|
2023-10-13 15:51:51 +02:00 |
stefan schippers
|
6ad282a3df
|
remove some global tcl vars
|
2023-10-13 09:41:34 +02:00 |
stefan schippers
|
cd01e5d314
|
in digital graphs use gr->magy (ylabmag attribute) to rescale node names on Y axix, as done in analog graphs on Y axis labels
|
2023-10-13 00:25:40 +02:00 |
stefan schippers
|
c86d48f321
|
expandlabel(): do bus_char substitution even if taking the shortcut
|
2023-10-13 00:04:58 +02:00 |
stefan schippers
|
ae58077447
|
move replace_key to global_array_list (it is an array var)
|
2023-10-12 21:09:45 +02:00 |
stefan schippers
|
88a5befbf2
|
add some cascade menus for less frequently used entries. better description of xschem unselect_all command
|
2023-10-12 19:37:22 +02:00 |
stefan schippers
|
676ce4fe3d
|
lock attribute for rectangles: work the same as for instances (can only double click to reset attributes, not selectable until lock reset to 0), add commands "xschem selected_set rect" and "xschem select_inside x1 y1 x2 y2"
|
2023-10-12 11:15:12 +02:00 |
stefan schippers
|
a5545c3dbf
|
fix keybinding doc typo
|
2023-10-11 23:56:36 +02:00 |
stefan schippers
|
f1cb655a7a
|
ERC: symbols with pass-through pins by definition do not match with schematic so do not check
|
2023-10-11 22:57:44 +02:00 |
stefan schippers
|
c9a2bca5d7
|
add local manual link in xschem about dialog
|
2023-10-11 17:10:06 +02:00 |
stefan schippers
|
e457292e04
|
trim_chars() function for various string operations
|
2023-10-11 16:31:42 +02:00 |
stefan schippers
|
9b4bd44fd0
|
merged in fast_raw_read branch
|
2023-10-11 14:05:27 +02:00 |
stefan schippers
|
3a25109fe1
|
fix compile error with CAIRO on Windows: dest_x and dest_y should be idx1 and idy1, respectively in my_cairo_fill
|
2023-10-11 13:59:08 +02:00 |
stefan schippers
|
6305b52d91
|
add safety check for null string in edit_text_property()
|
2023-10-09 13:53:57 +02:00 |
stefan schippers
|
b56ee2c998
|
use my_strdup2() in all text object copies(txt_ptr, prop_ptr, floater_ptr, ...) to better handle corrupted input data
|
2023-10-09 13:39:45 +02:00 |
stefan schippers
|
94bccc08d9
|
do not duplicate empty strings as NULLs in hash tables
|
2023-10-09 12:49:11 +02:00 |
stefan schippers
|
bb4f296211
|
use "2" instead of "X" for default return state in xschem logic_get_net command
|
2023-10-09 00:11:17 +02:00 |
stefan schippers
|
6b00a88f28
|
fix xschem simulator "mux" operator (M) to handle unknown selector state
|
2023-10-08 11:45:22 +02:00 |
stefan schippers
|
58af2567e6
|
fix initialization of default value for "xschem get_logic_net"
|
2023-10-08 11:32:56 +02:00 |
stefan schippers
|
62bc3759f0
|
add (disabled, should be done with keyboard shortcuts) Edit menu entries: rotate, flip, rotate_in_place, flip_in_place
|
2023-10-06 13:17:06 +02:00 |
stefan schippers
|
4f0377f1e9
|
expandlabel(): if empty node name is given return empty string instead of NULL
|
2023-10-06 11:24:00 +02:00 |
stefan schippers
|
3e4f49dbea
|
further fix expandlabel() potentially returning its string argument (instead of a copy) in case of weird and wrong node syntax
|
2023-10-06 11:11:17 +02:00 |
stefan schippers
|
42781f8456
|
fix a regression in expandlabel() returning it string argument without making a copy
|
2023-10-06 00:08:16 +02:00 |
stefan schippers
|
c4e1fb6a31
|
fix a memory leak in translate()
|
2023-10-05 20:15:47 +02:00 |
stefan schippers
|
0204b7596b
|
first selected instance is now always the master (instead of the first in the xschem array order) when doing an edit attribute on a group of selected elements
|
2023-10-04 17:15:52 +02:00 |
stefan schippers
|
9ecc5859b2
|
fix new_prop_string() when doing a name change on multiple selected instances
|
2023-10-04 00:44:43 +02:00 |
stefan schippers
|
5ffc7bb5e4
|
select_object() returns sel instead of sel.type (more info on return)
|
2023-10-04 00:09:12 +02:00 |
stefan schippers
|
822910fce7
|
strboolcmp(): remove debug message
|
2023-10-03 20:46:18 +02:00 |
stefan schippers
|
d613bcc47a
|
fix strboolcmp() (return false anyway if str="")
|
2023-10-03 20:44:44 +02:00 |
stefan schippers
|
02086d76a7
|
revert from tclgetboolvar to tclgetvar for edit_symbol_prop_new_sel, as this is not a boolean
|
2023-10-03 15:28:42 +02:00 |
stefan schippers
|
5c7abfa048
|
optimization for new_prop_string() done. doc updates for instance hide_texts=true attribute, align strboolcmp() to tcl allowed boolean values (1, true, on, yes)
|
2023-10-03 15:20:30 +02:00 |
stefan schippers
|
d441ba6966
|
fix missing update of name_is_used() call
|
2023-10-03 13:24:54 +02:00 |
stefan schippers
|
24bc44ad0c
|
doc updates (text attributes), prepare improvements for new_prop_string()
|
2023-10-03 13:21:04 +02:00 |
stefan schippers
|
e49f9902a7
|
remove redundant actions in toggle_colorscheme
|
2023-10-03 10:45:11 +02:00 |
stefan schippers
|
3ed97b3df2
|
some code refactoring, more usage of tclgetboolvar()
|
2023-10-03 10:27:29 +02:00 |
stefan schippers
|
b613d65fd9
|
read_dataset(): better set return codes on errors and cleanup allocated memory
|
2023-10-02 19:18:12 +02:00 |
stefan schippers
|
9fee9610ab
|
vsource.sym and ammeter.sym: add "savecurrent=1|0|true|false" attribute do decide if a .save I(...) is to be printed in netlist. default is 1 for ammeter.sym and 0 for vsource.sym. Add "deltax deltay rot flip" optional parameters for xschem "copy_objects" command to make copy operation scriptable (lot more efficient than using clipboard)
|
2023-10-02 12:11:05 +02:00 |
stefan schippers
|
05c79febc2
|
better implementation of cursor reconfiguring if draw_crosshair enabled
|
2023-09-30 00:22:10 +02:00 |
stefan schippers
|
c25a9f9d85
|
if crosshair is displayed and xschem blocked by a tk_messageBox restore pointer to default, so it will be visible. Do not parse labels if not vectored labels (shortcut)
|
2023-09-30 00:13:33 +02:00 |
stefan schippers
|
00ef95c90e
|
fix regression: hilight nets not incrementing color (if nets are singlebits)
|
2023-09-29 10:39:25 +02:00 |
stefan schippers
|
405d950412
|
add xctx->mouse_inside var to better decide if crosshair has to be drawn
|
2023-09-29 10:09:13 +02:00 |
stefan schippers
|
c569f93a65
|
added commands xschem get schprop|schvhdprop|schverilogprop|schtedaxprop|schsymbolprop, "xschem create_text" renamed to "xschem text" for syntax consistency
|
2023-09-29 09:46:31 +02:00 |
stefan schippers
|
64cb20dab9
|
add crosshair_layer tcl variable, so user can change crosshair layer.Crosshair is deleted on LeaveNotify events.
|
2023-09-29 00:30:43 +02:00 |
stefan schippers
|
db1bf8818a
|
cleanup in usage of new_prop_string() and hash_names()
|
2023-09-28 23:19:14 +02:00 |
stefan schippers
|
433ec84278
|
simpler state bits checking in callback() (use rstate to avoid redundant ShiftMask checks) . Enable loading SP Analysis raw files (they are equal as AC analyses) )
|
2023-09-28 21:03:28 +02:00 |
stefan schippers
|
8fe4f2fd11
|
add src/place_pins.tcl, src/place_sym_pins.tcl
|
2023-09-28 16:09:06 +02:00 |
stefan schippers
|
3a020b4305
|
add installation of place_sym_pins.tcl, place_pins.tcl scripts in XSCHEM_SHAREDIR
|
2023-09-28 16:07:01 +02:00 |
stefan schippers
|
31492b3955
|
added xschem set [schsymbolprop|schprop|schverilogprop|schvhdlprop|schtedaxprop] <value> commands for setting global schematic/symbol attributes
|
2023-09-28 15:45:07 +02:00 |
stefan schippers
|
cfe97c2ccf
|
extend "xschem rect" and "xschem line" commands, add "xschem get rects n" and "xschem get lines n"
|
2023-09-28 15:24:23 +02:00 |
stefan schippers
|
ff2f0477a6
|
remove dbg message
|
2023-09-28 13:34:47 +02:00 |
stefan schippers
|
e13922e94f
|
simplify place_symbol(), hash newly placed component name, so successive placements will not clash instance name. hash_all_names() renamed to hash_names()
|
2023-09-28 13:28:16 +02:00 |
stefan schippers
|
5df9347533
|
removed tcl variable connect_by_kissing (to many options is a mess)
|
2023-09-28 12:34:10 +02:00 |
stefan schippers
|
14a674b6f4
|
fix a random segfault due to out of bound array ref in find_pass_through_symbols()
|
2023-09-28 01:06:07 +02:00 |
stefan schippers
|
5080c2c33f
|
fix unitialized vars (mostly false errors, but why not...)
|
2023-09-28 00:30:00 +02:00 |
stefan schippers
|
6c4c8b3a50
|
handle Windows key on windows (Mod4Mask)
|
2023-09-27 21:15:25 +02:00 |
stefan schippers
|
ba00ba2921
|
add #ifdef __unix__ around filter of bits 13 and above on state var in callback()
|
2023-09-27 21:00:02 +02:00 |
Stefan Schippers
|
e7c53b59b5
|
callback(): filter out any state value that uses bits above 12
|
2023-09-27 18:35:40 +02:00 |
stefan schippers
|
0f29b53d25
|
remove an extra change_linewidth() in svg_embedded_graph() (now already done in resetwin())
|
2023-09-27 13:22:46 +02:00 |
stefan schippers
|
97e9b27bbd
|
fix garbage on screen if drawing something, go to another tab, return and move objects. Regression was introduced on repo.hu r3033
|
2023-09-27 13:13:15 +02:00 |
stefan schippers
|
f3230ceb42
|
FIX_BROKEN_TILED_FILL can now be changed runtime (fix_broken_tiled_fill)
|
2023-09-27 01:28:31 +02:00 |
stefan schippers
|
9316878559
|
fix a bug in hilight_net(): example: if a bus 3*A was highlighted hilight color was not incremented and highlighting another net gave the same color. added xctx->some_nets_added for that
|
2023-09-26 12:51:41 +02:00 |
stefan schippers
|
87da969b16
|
don`t break "** sch_path:" / "** sym_path:" lines in spice netlists
|
2023-09-26 09:20:04 +02:00 |
stefan schippers
|
576a7e329b
|
improve stretch move operations when auto trim is enabled
|
2023-09-26 02:19:37 +02:00 |
stefan schippers
|
983f6d9d6b
|
add tcl variable "unselect_partial_sel_wires" and related options menu entry to unselect partially selected wires attached to component pins after a stretch move command
|
2023-09-26 01:38:48 +02:00 |
stefan schippers
|
a4b597cfc2
|
add Alt-c command for copy object and create nets to connected terminals
|
2023-09-25 23:23:08 +02:00 |
stefan schippers
|
cfc87392d2
|
select_attached_nets() do not select wires attached to partially selected wires when doing a stretch move
|
2023-09-25 17:15:15 +02:00 |
stefan schippers
|
9af33003bc
|
rearranged menu entries. "Persistet wire/line place command" goes to Options, "Show net names on symbol pins" goes to Symbol, "Show netlist after netlist command" goes to simulation
|
2023-09-25 16:26:57 +02:00 |
stefan schippers
|
be8324293c
|
move "Options->Set symbol width" to "Symbol" menu
|
2023-09-25 15:56:17 +02:00 |
stefan schippers
|
db9c014566
|
move "auto join/trim wires" to Options menu, "m" and "ctrl-m" move commands are swapped if enable_stretch is enabled. new_prop_string() now check for true uniqueness (all inst names are expanded with expandlabel() and all bits are hashed). Fixed regression in check_unique_names()
|
2023-09-25 15:28:40 +02:00 |
stefan schippers
|
6c7d7080b9
|
some code refactoring (inst_table -> inst_name_table)
|
2023-09-25 09:05:10 +02:00 |
stefan schippers
|
03003ab7bf
|
fix redraw of move operation abort when done with "connect by kissing" (adding new wires)
|
2023-09-25 00:03:02 +02:00 |
stefan schippers
|
37f2edcc7e
|
if $USER_CONF_DIR (~/.xschem) is not existing create it and also place the template xschemrc into it
|
2023-09-24 21:27:27 +02:00 |
stefan schippers
|
2ec4b1c8b3
|
added a helper command "create_user_xschemrc" that copies system xschemrc to user xschem config dir (~/.xschem/xschemrc usually) if such file is not existing. After some thinking i came to the conclusion i wont do this automatically, as there might be use cases where a user does not want such a file.
|
2023-09-24 12:27:14 +02:00 |
stefan schippers
|
ba5eb149a8
|
small xschemrc edits
|
2023-09-24 10:55:38 +02:00 |
stefan schippers
|
41d9759953
|
xschem select instance given from CLI will select instances regardless of their lock attribute
|
2023-09-24 04:01:56 +02:00 |
stefan schippers
|
db1049d469
|
formatting, updated create_graph.tcl
|
2023-09-24 03:34:01 +02:00 |
stefan schippers
|
75526cacbe
|
add "xschem create_text" command for placing text objects with CLI
|
2023-09-24 03:16:53 +02:00 |
stefan schippers
|
abd5f75ef5
|
added enable_stretch tcl variable description in xschemrc
|
2023-09-24 01:26:45 +02:00 |
stefan schippers
|
152623f4aa
|
control-mouse drag select will negate the setting of enable_stretch tcl variable so drag and control-drag can be swapped vith Options->enable stretch
|
2023-09-24 00:29:15 +02:00 |
stefan schippers
|
4663a86da4
|
fix various regressions for handling instances with lock=true attribute
|
2023-09-24 00:17:48 +02:00 |
stefan schippers
|
112a12a87b
|
add tcl variable no_ask_save: if set to 1 xschem will not ask to save modified schematics
|
2023-09-23 11:47:11 +02:00 |
stefan schippers
|
6a0fcdae05
|
various optimizations (do not execute graphic ops with gctiled if FIX_BROKEN_TILED_FILL is defined, optimize XCopy Area blits
|
2023-09-23 01:46:39 +02:00 |
stefan schippers
|
aa75723446
|
fix MotionNotify events when crosshair is enabled and there is a selection and FIX_BROKEN_TILED_FILL not defined
|
2023-09-22 19:29:14 +02:00 |
stefan schippers
|
75e2efd5a7
|
filter unused bbox_set variable in draw_crosshair()
|
2023-09-22 19:15:26 +02:00 |
stefan schippers
|
274b4da441
|
xschem(): print an error if trying to execute commands that require schematic data structs (xctx) and xctx is not yet allocated
|
2023-09-22 19:13:13 +02:00 |
stefan schippers
|
426be0e68c
|
add !defined(__unix__) in all #if defined(FIX_BROKEN_TILED_FILL)
|
2023-09-22 18:33:16 +02:00 |
stefan schippers
|
288c053ec6
|
various FIX_BROKEN_TILED_FILL fixes
|
2023-09-22 18:26:18 +02:00 |
stefan schippers
|
42c76c9693
|
doc updates (cut wires)
|
2023-09-22 16:13:25 +02:00 |
stefan schippers
|
3ba3bbc21a
|
remove dbg message
|
2023-09-22 15:58:21 +02:00 |
stefan schippers
|
1da34af531
|
allow to use the Windows keys (if present) as alternatives for "Alt"
|
2023-09-22 15:53:23 +02:00 |
stefan schippers
|
fbffeec673
|
some minor fixes in src/xschemrc (order of libs, avoid referencing specific install paths)
|
2023-09-22 13:43:43 +02:00 |
stefan schippers
|
a2d3f68977
|
fix missing #if defined((FIX_BROKEN_TILED_FILL) in draw_crosshair()
|
2023-09-22 13:23:21 +02:00 |
stefan schippers
|
93291ed84b
|
add draw_crosshair() (if enabled) at end of any draw() operation
|
2023-09-22 13:13:35 +02:00 |
stefan schippers
|
eb91c8bbea
|
draw crosshair at end of copy/move ops if enabled
|
2023-09-22 13:02:51 +02:00 |
stefan schippers
|
8f0d920a96
|
add draw_crosshair setting in xschemrc: draw a crosshair at mouse coordinates
|
2023-09-22 12:48:22 +02:00 |
stefan schippers
|
a1fbbcfd80
|
add another command to cut wires without aligning cut point to snap (Alt-Shift-Right mouse button)
|
2023-09-22 10:40:57 +02:00 |
stefan schippers
|
951a18cb24
|
draw_selection(): erase rubbers correctly during copy/move ops if FIX_BROKEN_TILED_FILL enabled
|
2023-09-22 09:40:59 +02:00 |
stefan schippers
|
9e1feacab4
|
closest_point_calculation(): improve "closest point is on segment" detection
|
2023-09-22 09:33:41 +02:00 |
stefan schippers
|
a53ea21026
|
remove debug messages in closest_point_calculation()
|
2023-09-22 03:46:42 +02:00 |
stefan schippers
|
5181ca77e6
|
break_wires_at_point(): oblique lines can be cut at any point, the break point will be aligned to the snap value and broken wires are slightly changed to land on this new point.
|
2023-09-22 03:45:09 +02:00 |
stefan schippers
|
4ea2ccac4c
|
if FIX_BROKEN_TILED_FILL is defined disable all graphic operations with gctiled GC (set function to GXnoop) - Also clear selection rectangle with MyXCopyArea in select_rect()
|
2023-09-22 01:12:26 +02:00 |
stefan schippers
|
fbe3064cf2
|
remove gctiled in MyXCopyArea() calls (use gc[0], background, any GC is ok as long as it does not have some strange logic operator)
|
2023-09-21 23:51:17 +02:00 |
stefan schippers
|
95e1c833c8
|
better pan operation if FIX_BROKEN_TILED_FILL is set
|
2023-09-21 23:01:09 +02:00 |
stefan schippers
|
301f9c4bdf
|
add experimental compile flag in xschem.h, FIX_BROKEN_TILED_FILL, if defined work around some graphic adapters/driver implemtations that dont honor the X11 specifications for drawing with a pixmap tile fill pattern
|
2023-09-21 21:52:24 +02:00 |
stefan schippers
|
1479ca2ea6
|
fix regression in "xschem load <file> nofullzoom" (zoom was reset)
|
2023-09-21 10:11:39 +02:00 |
stefan schippers
|
129dd68b20
|
translate(): check for NULL xctx and xctx->inst
|
2023-09-21 09:56:29 +02:00 |
stefan schippers
|
ee26a247c5
|
fix a crash if translate() invoked for an instance with instname=NULL (due to incomplete symbol definition)
|
2023-09-20 15:13:44 +02:00 |
stefan schippers
|
0119f013e3
|
correct implementation of previous commit
|
2023-09-20 11:04:30 +02:00 |
stefan schippers
|
1fdf117a84
|
fix a bug regression in save_schematic when saving an existing schematic to a different filename. Xschem incorretly popped up the alert "Has been changed since opening. Save it anyway?"
|
2023-09-20 10:19:49 +02:00 |
stefan schippers
|
8d6a71b8bd
|
place_symbol(): make it smarter when dealing with generators. add parenthesis () after file name and better handle tcleval(...) given in file selector
|
2023-09-19 10:04:27 +02:00 |
stefan schippers
|
0680fd97fd
|
place_symbol(): better handle generator symbol insertions like res.tcl(@value\): @value can be resolved only after generator has emitted the symbol, but symbol generated depends on generator actual parameter. So generators must handle unresolved @params.
|
2023-09-19 01:42:51 +02:00 |
stefan schippers
|
75e99cae91
|
update tier.tcl generator to handle unresolvable parameters
|
2023-09-19 01:29:52 +02:00 |
stefan schippers
|
fd2be4a599
|
update res.tcl generator to handle unresolvable parameters
|
2023-09-19 00:08:42 +02:00 |
stefan schippers
|
7ffe70cb25
|
add other schematic manipulation script examples in developer_info.html
|
2023-09-18 17:16:03 +02:00 |
stefan schippers
|
98ffd177ce
|
improve connect by kissing: now 3 move operations are present: 1) just move selection, 2) move adding wires to connected pins/wire endpoints, 3) move by stretching wires attached to pins/endpoints to follow moving objects
|
2023-09-18 13:29:49 +02:00 |
stefan schippers
|
690486c848
|
editprop.c->update_symbol(): recalculate bbox for dynamic symbols (floaters and generators) when attributes are changed. xschem.tcl: cleanly report errors in file mkdir instructions in case of permission issues
|
2023-09-18 09:39:52 +02:00 |
stefan schippers
|
306271e247
|
parselabel.l: Add ")" to list of forbidden characters in bus trailer: A[3:0])_xx
|
2023-09-17 22:54:17 +02:00 |
stefan schippers
|
e5286a7f12
|
bus labels with trailing chars (A[15:0]_xx): fix rule conflicts in grammar parser. Add a trailer token in lexer
|
2023-09-17 21:17:35 +02:00 |
stefan schippers
|
898cfcc2e1
|
command "xschem change_elem_order" invalidate inst/wire hashes and connectivity to force consistency
|
2023-09-17 09:45:28 +02:00 |
stefan schippers
|
159f07e703
|
add "xschem rotate_in_place" command
|
2023-09-17 09:05:21 +02:00 |
stefan schippers
|
978d575e22
|
add tcl command "xschem change_elem_order n" add optional x0 and y0 coordinates as additional parameters to "xschem flip" and "xschem rotate" commands, add command "move_instance inst x y rot flip"
|
2023-09-17 00:13:52 +02:00 |
Stefan Schippers
|
f99eb07e23
|
update keybinding list (missing "s" - simulation) and some minor corrections in commands.html
|
2023-09-16 17:18:10 +02:00 |
Stefan Schippers
|
a32f3f0706
|
do not push undo state if clicking and switching graphs with graphdialog open, if no changes are made
|
2023-09-16 16:34:59 +02:00 |
stefan schippers
|
451cc4049e
|
add script examples in developer_info manpage
|
2023-09-16 09:58:59 +02:00 |
stefan schippers
|
216d2a1297
|
proc execute_fileevent: change exec ps syntax to work both on Linux and MacOS
|
2023-09-16 01:04:29 +02:00 |
stefan schippers
|
3f299589d1
|
remove a forgotten debug print line
|
2023-09-15 18:17:24 +02:00 |
stefan schippers
|
cb1b8a09a6
|
remove mysterious -width 1 -height 1 options when creating .graphdialog toplevel window. It seems a long standing bug, and not surprisingly it shows problems on MacOS/XQuartz
|
2023-09-15 18:08:26 +02:00 |
stefan schippers
|
ac07510513
|
xschem select: extend command to allow selecting rectangles, lines, polygons, arcs. returns 1 if something selected, 0 otherwise
|
2023-09-15 17:53:38 +02:00 |
stefan schippers
|
7d2f737c3b
|
attach_labels_to_inst(): do not cause an error (bbox(SET) call before bbox(START)) if invoked on selected instances who have all pins already wired up
|
2023-09-15 15:16:36 +02:00 |
stefan schippers
|
a28f9506f8
|
Some code cleanups in select.c, select_connected_nets() did not select labels directly attached (not by wires) to selected instances
|
2023-09-15 13:29:12 +02:00 |
stefan schippers
|
82f8afbb19
|
optimize select_dangling_nets() a bit
|
2023-09-15 11:01:33 +02:00 |
stefan schippers
|
4095651863
|
bump to version 3.4.4, updated Changelog
|
2023-09-14 10:03:14 +02:00 |
stefan schippers
|
e0bcc302c9
|
"xschem connected_nets" command now works for any selected instance, not only labels/probes/pins. Argument can be 0, 1, 2 (2-->select only wire segments drectly attached to selected net/instance)
|
2023-09-14 09:48:12 +02:00 |
stefan schippers
|
34946c2f0a
|
add commands "xschem get wires", "xschem getprop wire n attr", "xschem touch x1 y1 x2 y2 x0 y0", "xschem wire_coord n"
|
2023-09-14 08:31:01 +02:00 |
stefan schippers
|
e6211ac93b
|
command "xschem select_dangling_nets": skip ignored instances (lvs_ignore or spice_ignore), return # of selected dangling elements instead of just 1
|
2023-09-14 01:34:56 +02:00 |
stefan schippers
|
210f56cccb
|
remove debug messages in "xschem select_dangling_nets"
|
2023-09-14 01:04:46 +02:00 |
stefan schippers
|
75e5d3d5b0
|
add command "xschem select_dangling_nets" that selects all labels/wires that are not connected to any non-label/non-probe components
|
2023-09-14 00:57:13 +02:00 |
stefan schippers
|
afd25cf430
|
clear_schematic(): clear xctx->sch[..] name before assigning untitled.sch / untitled.sym path name
|
2023-09-12 23:16:32 +02:00 |
stefan schippers
|
55fcf5d28e
|
avoid doing a move_objects(RUBBER,...) if doing an "xschem paste xoffs yoffs" from script, to avoid graphical artifacts
|
2023-09-12 09:21:54 +02:00 |
stefan schippers
|
c5420f4f07
|
fix a crashing bug if descending a schematic those symbol has a @#resolved_net:... attribute, raw file is loaded and show net_names is enabled.
|
2023-09-11 09:24:03 +02:00 |
stefan schippers
|
4bd758bee7
|
xschem tcp connections: print in/out data on console only if in tcl debug mode
|
2023-09-10 08:00:26 +02:00 |
stefan schippers
|
045edb5e10
|
xschem tcp connections: print open/close messages only if in tcl debug mode
|
2023-09-10 07:54:40 +02:00 |
stefan schippers
|
02dddc90ef
|
Improve send nets to graph. do not refuse to send top level port signals, allow to send bussed signals even if graphdialog widget is not shown (proc graph_add_nodes_from_list)
|
2023-09-09 10:26:58 +02:00 |
stefan schippers
|
ff1216e142
|
hilight_parent_pins(): remove dbg info
|
2023-09-08 01:22:39 +02:00 |
stefan schippers
|
c75ddaf6ab
|
hilight_parent_pins(): if two or more child pins are attached to the same parent net hilighting one of these child pins will not propagate to parent if the unhilight child pin comes after the hilight pin. This is now fixed. Going up in hierarchy will never clear parent hilights. It is recommended to clear all probes before tracking child pin propagation with hilights upstream.
|
2023-09-08 01:16:52 +02:00 |
stefan schippers
|
a678c81b4c
|
update documentation for change in return code of "xschem switch" command
|
2023-09-07 20:25:08 +02:00 |
stefan schippers
|
b8d78e5b01
|
xschem switch command: return success also if command given (with right filename/winpath) when no additional windows/tabs are present
|
2023-09-07 08:49:39 +02:00 |
stefan schippers
|
baea7ab745
|
xschem switch command return exit status depending if switch context was successfull or not
|
2023-09-06 08:30:40 +02:00 |
stefan schippers
|
c23f38e10b
|
export ps/pdf, png, svg functions now use custom file chooser widget (as Save As does) to enable creation of new folders
|
2023-08-30 00:42:09 +02:00 |
stefan schippers
|
8dfaedf9ea
|
report in-hierarchy overlapped symbols when netlisting
|
2023-08-29 11:32:48 +02:00 |
stefan schippers
|
c94d6b66cb
|
yet some other fixes for displaying / updating ERC info data after a netlist
|
2023-08-28 23:21:42 +02:00 |
stefan schippers
|
590b6fb3cd
|
better ERC messaging in case of errors (shorts, pins with missing attrs), ...)
|
2023-08-28 18:40:11 +02:00 |
stefan schippers
|
cd3f188a30
|
fix wrong netlist filename if invoking netlist from GUI
|
2023-08-28 11:39:00 +02:00 |
stefan schippers
|
0805802bb8
|
fix performance issues (too many proc infowindow calls) on large schematics introduced by previous two commits
|
2023-08-28 10:39:11 +02:00 |
stefan schippers
|
9e4d3c111a
|
various fixes and cleanups - followup of previous commit
|
2023-08-28 03:00:48 +02:00 |
stefan schippers
|
1c3c9ff889
|
do not show ERC info window if netlisting invoked via CLI; global variable show_infowindow_after_netlist can now take 3 values: always, onerror, never, to decide when showing the ERC info window after netlisting. Old values (1, 0) still accepted as aliases for always and onerror
|
2023-08-27 23:55:48 +02:00 |
stefan schippers
|
519fb2fbf2
|
add optional "-messages" in "xschem netlist" comand to return ERC messages instead of fail(1)/good(0) code
|
2023-08-27 13:04:12 +02:00 |
stefan schippers
|
b521994a08
|
prefix ERC infowindow messages with Error: or Warning: or Info:
|
2023-08-26 14:28:35 +02:00 |
stefan schippers
|
6909971a61
|
bump to version 3.4.3, updated Changelog
|
2023-08-19 14:06:54 +02:00 |
stefan schippers
|
3f55893987
|
revert format of [xschem pinlist <instance> <attr>] to old (3.1.0) format: { {0} {PLUS} } { {1} {OUT} } { {2} {MINUS} } instead of {PLUS} {OUT} {MINUS}
|
2023-08-19 13:54:43 +02:00 |
stefan schippers
|
e3b9e67cb8
|
add postinit_commands description in distribution provided xschemrc
|
2023-08-16 13:26:04 +02:00 |
stefan schippers
|
c05c177885
|
add "postinit_commands" variable that can be set in xschemrc file, this variable may contain commands that will be executed after completing startup. Example: set postinit_commands {xschem set format xyce_format}
|
2023-08-16 08:45:41 +02:00 |
stefan schippers
|
dd71d533ce
|
make_symbol: ask before overwriting an existing symbol file.
|
2023-08-14 12:18:54 +02:00 |
stefan schippers
|
36f1285303
|
Correctly detect if DISPLAY env var is set but specified display is not existing or xserver not running, and start in text mode
|
2023-08-10 08:37:55 +02:00 |
stefan schippers
|
163eaea672
|
remove reference to cadsnap_default in menu widget "View->Set snap value"
|
2023-08-08 11:19:48 +02:00 |
stefan schippers
|
ac042ed21f
|
remove warning message if bespice_listen_port is not set (not necessary, scares new users)
|
2023-08-04 15:23:46 +02:00 |
stefan schippers
|
c54e43d24f
|
allow expandion of labels like aaa[3:2]_qq --> aaa[3]_qq,aaa[2]_qq and aaa[3..2]_qq --> aaa3_qq,aaa2_qq
|
2023-08-04 15:02:55 +02:00 |
stefan schippers
|
f95580906a
|
bump to version 3.4.2, updated Changelog
|
2023-07-26 09:32:25 +02:00 |
stefan schippers
|
f847b61333
|
Gerard upates for Xschem <--> BeSpice TCP communication
|
2023-07-25 23:33:46 +02:00 |
stefan schippers
|
39b3195794
|
proc tk_textPaste: add author info
|
2023-07-20 09:24:55 +02:00 |
stefan schippers
|
efecd33d51
|
added tcl variable text_replace_selection (default: enabled (1) ) to automatically replace selected text in text widgets when pasting from clipboard
|
2023-07-20 09:06:58 +02:00 |
stefan schippers
|
2d11c5086c
|
case insensitive compare in boolean attributes (attr=false, attr=True, attr=FALSE, attr=1)
|
2023-07-14 08:17:04 +02:00 |
stefan schippers
|
bf46fd3e7b
|
allow "1" / "0" in addition to "true" / "false" in all boolean attributes
|
2023-07-14 00:49:51 +02:00 |
stefan schippers
|
231f3a38d4
|
make the "X" window button close the search dialog box, as Cancel (and Escape key) does
|
2023-07-14 00:06:39 +02:00 |
stefan schippers
|
ff66a48df0
|
doc updates about print command
|
2023-07-13 14:26:42 +02:00 |
stefan schippers
|
cf675be805
|
add "xschem print pdf_full" and "xschem print ps_full" commands to print full view properly fitting paper size, regardless of xschem window size, some fixes in circle postscript drawing (set newpath) and rectangle clipping. Add menu command "PDF/PS export full"
|
2023-07-13 13:24:17 +02:00 |
stefan schippers
|
3c73bb918b
|
add case insensitive matching in xschem search function
|
2023-07-12 13:58:54 +02:00 |
stefan schippers
|
83b1993c32
|
add xschemrc variable "ps_paper_size" to specify custom paper sizes in ps/pdf exports
|
2023-07-12 08:10:00 +02:00 |
stefan schippers
|
b646a0f79f
|
explicitly clear instance flag bits when allocating new instance array data to avoid random data in bit 8 (IGNORE_INST). This does not cause any problem but random data in log files, causing false positives in automated regression tests
|
2023-07-07 23:54:46 +02:00 |
stefan schippers
|
83071b4b21
|
fix crash on windows if a new tab is opened and immediately closed (incorrect call of draw() after clearing pixmap)
|
2023-07-07 08:30:13 +02:00 |
stefan schippers
|
d06b1c83ae
|
fix regression(repo.hu: r2353, github: 0bb4c9f) : "xschem instance" command not setting modified flag on schematic, so following xschem save doing nothing.
|
2023-07-06 23:56:33 +02:00 |
stefan schippers
|
587a847722
|
add xschem command `xschem instance_coord [instance]`: returns placement coords, rotation, flip of selected or specified instance
|
2023-07-06 09:12:31 +02:00 |
stefan schippers
|
2b38ed5f07
|
initialize tcl_files to empty in xschemrc to avoid side effects if reloading another xschemrc
|
2023-07-03 23:12:22 +02:00 |
stefan schippers
|
970c2fce65
|
fix utile/ stuff uninstall in Makefile
|
2023-07-03 12:32:57 +02:00 |
stefan schippers
|
cdecc6ad04
|
xschem netlist command accepts an optional filename argument
|
2023-07-03 09:06:46 +02:00 |
Stefan Schippers
|
9f23965096
|
do not use tclreadline if $tcl_interactive is 0
|
2023-07-02 19:47:04 +02:00 |
Stefan Schippers
|
33eb3fecce
|
quit and detach globals refactored to cli_opt_quit and cli_opt_detach
|
2023-07-01 21:07:52 +02:00 |
stefan schippers
|
a20fce8cdf
|
fix tedax netlisting (do not netlist noconn devices), recognize @#pin_name:net_name and @#pin_name:pin_attr attributes in tedax format string
|
2023-07-01 09:22:24 +02:00 |
Stefan Schippers
|
af153593e9
|
removed some redundant code lines in netlist.c, updated xschemtest.tcl netlist hashes with new noconn.sym
|
2023-06-30 20:54:07 +02:00 |
stefan schippers
|
f8f7c4f230
|
updated moude_bindings.tcl with Paul`s new version, updated noconn.sym (do not use *_ignore attributes, put comments in netlist about NC net)
|
2023-06-30 09:11:04 +02:00 |
stefan schippers
|
6755975369
|
do not create nets for devices that have *_ignore=true attribute set, this generates false warnings about undriven nets.
|
2023-06-30 08:29:11 +02:00 |
stefan schippers
|
f2812e1444
|
bump to version 3.4.1, updated Changelog
|
2023-06-29 21:40:49 +02:00 |
stefan schippers
|
476499b250
|
better recognize implicit datasets (sweep var wrap to initial value in raw file)
|
2023-06-28 08:20:09 +02:00 |
stefan schippers
|
8399106ed4
|
avoid using "string is list" if tclversion <= 8.4
|
2023-06-28 00:32:56 +02:00 |
stefan schippers
|
39751be9e1
|
add mouse_bindings.tcl, courtesy Paul Bodenstab
|
2023-06-27 08:45:12 +02:00 |
stefan schippers
|
eaa56bdc45
|
make the "xschem_quit" command work (close current window / tab) also if xschem started in -x (no graphics) mode
|
2023-06-26 07:57:00 +02:00 |
stefan schippers
|
4ec80d850b
|
changed tcl procedure `setup_tcp_xschem` to allow setting a different port number for further tcp commuication (and freeing the original port number)
|
2023-06-26 00:08:13 +02:00 |
stefan schippers
|
5d9e0d3d8a
|
enable xschem to load multiple files even if started with "-x" (only CLI mode)
|
2023-06-25 23:33:26 +02:00 |
stefan schippers
|
6198d21404
|
add "show_infowindow_after_netlist" tcl variable (default = 0) that can be set in xschemrc to always show erc window after netlist even without or no critical errors
|
2023-06-25 09:05:37 +02:00 |
stefan schippers
|
f95a1b7244
|
further fix initial full zoom of schematics loaded into multiple tabs with File->Open
|
2023-06-24 08:25:14 +02:00 |
stefan schippers
|
31451e6be9
|
do not do a context switch on first invocation of callback() (set old_winpath = ".drw").
|
2023-06-24 07:38:55 +02:00 |
stefan schippers
|
40d8b960f3
|
fix initial full zoom of schematics loaded with xschem load file from the xschem tcl prompt
|
2023-06-23 23:36:11 +02:00 |
Stefan Schippers
|
0f3a0c62a8
|
resetwin() do nor process pending_fullzoom if window size has not set by window manager (width ==1 || height ==1)
|
2023-06-23 20:03:48 +02:00 |
stefan schippers
|
cf5c02c141
|
if a file is given on cmdline without any path qualifier (/.../, ./, ~/, ...) look into search paths. Fix wrong initialization of xctx->lw=-1.0 in alloc_xschem_data(), set to 0.0
|
2023-06-23 15:49:23 +02:00 |
stefan schippers
|
d5c0fbcf15
|
remove debug messages
|
2023-06-23 11:18:02 +02:00 |
stefan schippers
|
cd15362376
|
improve prevous commit: do not execute "pending_fullzoom" drawing if main window unmapped (do not decrement the pending_fullzoom flag and delay until window is visible)
|
2023-06-23 11:15:54 +02:00 |
stefan schippers
|
9ea7121846
|
set pending_fullzoom=1 on additionally created tabs so will display correctly if xschem started deiconified (wm withdraw .)
|
2023-06-23 10:59:06 +02:00 |
stefan schippers
|
70995165b0
|
fix regression (--command option)
|
2023-06-23 09:53:05 +02:00 |