Ananth
|
899e7f93d2
|
add handle_button_press/release
|
2025-02-10 14:34:20 -07:00 |
Ananth
|
04e7300f48
|
correct type for mx,my in handle_motion_notify; added handle_key_press
|
2025-02-10 13:52:57 -07:00 |
Ananth
|
bef19b7057
|
refactored : handle_motion_notify for readability
|
2025-02-10 13:42:28 -07:00 |
stefan schippers
|
fe8ef89052
|
update version info in some rom8k symbols. Do a xschem remove_symbols in proc cellview_setlabels to force a reload of changed symbols.
|
2025-02-10 18:49:11 +01:00 |
stefan schippers
|
89a8d8b719
|
same previous fix for resetwin() restore done in ps_embedded_graph() backported also in svg_embedded_graph() (not necessary here but safer)
|
2025-02-10 17:44:05 +01:00 |
stefan schippers
|
88ee9ba0ad
|
fix wrong window size re-setting after a hierarchy ps/pdf printout (due to messing with portrait / landscape)
|
2025-02-10 17:36:10 +01:00 |
stefan schippers
|
6b090273fb
|
lock graphs only if they have the same simulation type loaded. So zooming/panning a tran plot will not affect dc or ac plots.
|
2025-02-10 15:18:01 +01:00 |
stefan schippers
|
b5eb81c107
|
updates in proc cellview
|
2025-02-10 13:44:12 +01:00 |
stefan schippers
|
3d972e8e42
|
`AUTO SET` button in graph edit dialog box to automatically assign increasing colors to displayed waves
|
2025-02-10 02:43:23 +01:00 |
stefan schippers
|
724869638e
|
fix max size of graph bitmap calculation in svg_embedded_graph() and ps_embedded_graph()
|
2025-02-10 01:21:22 +01:00 |
stefan schippers
|
5e3c27d7ee
|
load_schematic(): ability to load / preview a generator (adds () to filename)
|
2025-02-09 20:52:15 +01:00 |
stefan schippers
|
a50b3681c8
|
calc_drawing_bbox(): initialize xctx->show_hidden_texts before calculating bbox.
|
2025-02-09 19:44:40 +01:00 |
stefan schippers
|
8bd9c3d939
|
fix bitrots in proc cellview (Update function)
|
2025-02-09 15:27:55 +01:00 |
stefan schippers
|
b5a25e5925
|
fix update not working in proc cellview
|
2025-02-09 13:48:39 +01:00 |
stefan schippers
|
77a6bd2bb8
|
change order of last statements in hier_psprint() to avoid displaying garbage while moving crosshair cursor and ps->pdf conversion is in progres...
|
2025-02-09 12:23:51 +01:00 |
stefan schippers
|
b625a45dab
|
place_symbol(): trim leading and trailing whitespace from symbol name given as input
|
2025-02-09 03:20:57 +01:00 |
stefan schippers
|
188e73cf8b
|
place_symbol() and proc is_xschem_file: if /path/to/gen.tcl(arg1,arg2,arg3) is given remove (...) argument list before checking existence of generator file. Do not add () to generator filename if argument list already given. Do not include hidden texts in schematic boundbox for full zoom if show hidden_texts is not enabled. draw_graph(): do not wrap graphs using sweepvar_wrap if not dc (this includes: do not wrap multi-point OP sims). print_spice_element(): better @param lookup in instance prop_ptr, symbol template, parent instance prop_ptr (if instance based "additional" symbol) and parent instance symbol template string (use translate3())
|
2025-02-09 02:46:45 +01:00 |
stefan schippers
|
0b3db90f19
|
one more argument to translate3()
|
2025-02-07 14:39:21 +01:00 |
stefan schippers
|
0024dc2759
|
more comments and refactoring in token.c
|
2025-02-07 14:23:58 +01:00 |
stefan schippers
|
51ff56357d
|
some simplification and refactoring of print_spice_element() and translate()
|
2025-02-07 13:22:08 +01:00 |
stefan schippers
|
1573ea3cad
|
improvements in eval_expr.y, print_spice_element(), translate() to allow multiple expr(...) patterns in strings, they all will be evaluated if possible or returned unevaluated (without `expr(` and `)` )
|
2025-02-06 23:57:01 +01:00 |
stefan schippers
|
a4ce2d1b64
|
subst_token(): better token removal (remove space or newline to avoid having many remaining blanks); `netlist_postprocess` xschemrc tcl variable to insert commands after netlist is created
|
2025-02-06 12:45:21 +01:00 |
stefan schippers
|
53fda635c9
|
remove dbg msg, reduce precision in eval_expr(), add expr() resolution at end of translate()
|
2025-02-06 10:39:50 +01:00 |
stefan schippers
|
7926a833be
|
added `d` to unselect object under the mouse, `Shift-D` to unselect by area, both work with or without infix_interface, moved delete files to `Ctrl-d`, update keybinding docs
|
2025-02-06 04:20:57 +01:00 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
stefan schippers
|
0e63e1bfff
|
remove commented dirty hack
|
2025-01-03 13:48:23 +01:00 |
stefan schippers
|
abc88e8819
|
Revert dirty hack to make a click on an open menu close it, still some issues
|
2025-01-03 13:15:30 +01:00 |
stefan schippers
|
ed1149edb2
|
dirty hack to make a click on an open menu close it
|
2025-01-03 13:09:18 +01:00 |
stefan schippers
|
e77cc334f4
|
has_included_subcircuit() and proc has_included_subcircuit: compare and reorder only ports with associated symbol pin. do not consider `extra` ports assigned via attributes
|
2025-01-03 00:49:54 +01:00 |
stefan schippers
|
294a10bd5a
|
go_back(): if a write of modified schematic is requested before going up but write fails (for example due to permission issues) then issue a warning and go ahead anyway. Previously xschem got stuck in the lower hierarchy with no way to escape. If xschem load is done with `noundoreset` option do not change some context data (xctx->currsch, xctx->sch_path, xctx->portmap, xctx->sch_inst_number, ...). Various fixes/enhancements in cellview and traversal procedures.
|
2025-01-02 22:38:40 +01:00 |
stefan schippers
|
45382d1b1d
|
fix `s` command (simulate) to work with new menu system
|
2025-01-02 13:22:34 +01:00 |
stefan schippers
|
2bd205427d
|
load_schematic(): do not set xctx->time_last_modify if called with reset_undo == 0; fix persistent command mode when started from menu; update traversal procedures
|
2025-01-02 12:52:51 +01:00 |
stefan schippers
|
8fa2c9c22a
|
add all_hierarchy parameter to proc traversal
|
2025-01-01 11:48:33 +01:00 |
stefan schippers
|
041d90548d
|
xschem.tcl toolbar procs reordering
|
2024-12-31 22:57:28 +01:00 |
stefan schippers
|
3a8d36d0fe
|
update add_custom_menu.tcl to new menu system, some refactoring in xschem.tcl for toolbar (add_toolbuttons procedure)
|
2024-12-31 21:00:09 +01:00 |
stefan schippers
|
05dc1a4772
|
update add_custom_menu.tcl for new menu system
|
2024-12-31 13:05:48 +01:00 |
stefan schippers
|
b23b162f2c
|
rewritten the menu system using a menubar vs the menubuttons
|
2024-12-31 03:51:05 +01:00 |
stefan schippers
|
2c8468ee1c
|
add custom binding to MenuButton Button-1 events so clicking on a posted menubutton will unpost it
|
2024-12-30 19:03:06 +01:00 |
stefan schippers
|
1a14adaade
|
Hovering other menu titles while one is open will drop down the other menus, even wihout holding down mouse button1
|
2024-12-30 15:31:59 +01:00 |
stefan schippers
|
1e75d69dfe
|
remove unused variable mbg in menu system
|
2024-12-30 11:20:07 +01:00 |
stefan schippers
|
c45ae9248b
|
slightly bigger font for traversal
|
2024-12-30 01:11:37 +01:00 |
stefan schippers
|
724c67435c
|
updates in traversal proc, fix searching for xschem_man.html if clicking the link into the About dialog and running xschem from the src/ dir.
|
2024-12-30 01:04:40 +01:00 |
stefan schippers
|
0ba037894f
|
update keys.help
|
2024-12-29 21:37:17 +01:00 |
stefan schippers
|
135022a39d
|
removed src/traversal.tcl
|
2024-12-29 19:39:29 +01:00 |
stefan schippers
|
0b4cedbf05
|
add Button3 drag for rectangle zoom, move ctx menu to Button3Release, updates in traversal and cellview
|
2024-12-29 19:35:49 +01:00 |
stefan schippers
|
b68731481c
|
updated cellview and traversal procedures
|
2024-12-29 14:47:27 +01:00 |
stefan schippers
|
be39ce970b
|
remove traversal.tcl from src/Makefile.in
|
2024-12-29 12:52:28 +01:00 |
stefan schippers
|
0ffd327b85
|
do not do a rectangle zoom (`z` key) if no minimum area is given; added `xschem get symbols` command; added `derived_symbols` in `xschem symbols` command; added menu `simulations->Keep symbols when traversing hierarchy`; created `proc cellview` and integrated `traversal.tcl` into xschem.tcl
|
2024-12-29 12:38:26 +01:00 |
stefan schippers
|
61c4f72c15
|
some `xschem test` benchmarks added
|
2024-12-24 03:15:50 +01:00 |
stefan schippers
|
b16a5ef927
|
code comments
|
2024-12-23 12:24:06 +01:00 |
stefan schippers
|
3fecba878c
|
fix double push_undo() call when adding a wire in intuitive_interface (by click and drag from a wire endpoint or symbol pin). This led to inconsistencies (spurious connecting dots on wires) when doing an Undo operation
|
2024-12-23 02:22:40 +01:00 |
stefan schippers
|
712b985333
|
proc edit_prop: better selection of value=".... \" .... \" ...": dont get confused by escaped quotes
|
2024-12-23 00:51:52 +01:00 |
stefan schippers
|
7a8ab78d11
|
restore rotten intuitive interface command ctrl-shift-click-drag to move a component creating wires if pins attached to components or wires
|
2024-12-22 18:49:58 +01:00 |
stefan schippers
|
c4ebc92aa2
|
update xschem go_back command (pas integer notitle to go_back() function; simplify wrap handling vs sweep variable in draw_graph(), graph_fullyzoom(), calc_custom_data_yrange(), find_closest_wave()
|
2024-12-21 13:05:33 +01:00 |
stefan schippers
|
6682965dba
|
make @spice_get_current work for pnp and npn symbols
|
2024-12-21 00:49:44 +01:00 |
stefan schippers
|
b892ad8ac7
|
Make @spice_get_current report Id (drain current) for mos devices (defined as plain mosfets in model (ngspice syntax), may be to extend for Xyce)
|
2024-12-20 22:25:19 +01:00 |
stefan schippers
|
1ddafe3276
|
updated autozero_comp.sch to show saout histogram; xschem raw switch: do not call update_op() if not switching into a 1-point OP or DC sim
|
2024-12-20 11:56:53 +01:00 |
stefan schippers
|
47f0d2d57c
|
improvements in raw_get_pos(), fix test_backannotated_subckt.sch (was not simulating anymore)
|
2024-12-20 02:28:38 +01:00 |
stefan schippers
|
d9d75de337
|
remove dbg message
|
2024-12-20 01:19:02 +01:00 |
stefan schippers
|
d03f3b52e1
|
bars for hystograms use squared lines, not rounded lines, added command `xschem raw pos_at node value` to find position (in raw file) where node = value
|
2024-12-19 23:53:11 +01:00 |
stefan schippers
|
7402385a82
|
fix regression from commit `graphs: always plot one point before x1 and one point after x2 of simulation`: 2-dimensional dc-sweeps did miss first or last point
|
2024-12-18 01:55:05 +01:00 |
stefan schippers
|
da6532d8d8
|
doc updates (xschem image command)
|
2024-12-17 09:27:01 +01:00 |
stefan schippers
|
6b75aa62aa
|
avoid a redundant set_modify(-1) in review_window("destroy"...)
|
2024-12-17 01:07:36 +01:00 |
stefan schippers
|
158ed8decc
|
load_schematic(): do not invoke trim_wires (if enabled) if called non interactively with reset_undo == 0 (it will change name of top schematic in tab and window title while netlisting)
|
2024-12-16 16:44:56 +01:00 |
stefan schippers
|
5bc194f3a5
|
separated undo_initialized and mem_undo_initialized, so they can be used more interchangeably
|
2024-12-16 12:14:11 +01:00 |
stefan schippers
|
b4423126ea
|
add (disabled) debug message in proc set_tab_names
|
2024-12-16 09:09:39 +01:00 |
stefan schippers
|
8c4d5cb7b8
|
push_undo() correctly handle case when tmpdir can not be created (init_undo() fails)
|
2024-12-16 02:18:32 +01:00 |
stefan schippers
|
cac5392a45
|
proc set_tab_names: call [xschem get schname] only once
|
2024-12-16 01:24:36 +01:00 |
stefan schippers
|
538d3bf2ad
|
xschem raw values now returns full precision, no more 8 digit rounding, as this is undesirable for transient noise sims
|
2024-12-15 12:24:51 +01:00 |
stefan schippers
|
5eea0728c7
|
update in_memory_undo.c to be in sync with pop_undo(4, ...)
|
2024-12-14 22:39:13 +01:00 |
stefan schippers
|
e8e217591d
|
add verilator in addition to icarus verilog simulator
|
2024-12-12 12:45:24 +01:00 |
stefan schippers
|
a97b47623f
|
annotate_op: delete current raw file (to replace with new OP raw) ONLY if current loaded raw file is an OP simulation (npoints==1)
|
2024-12-11 01:54:31 +01:00 |
stefan schippers
|
13e38b803d
|
annotate_op command only deletes loaded OP raw file (if any), does no more delete all loaded raw files.
|
2024-12-10 23:31:09 +01:00 |
stefan schippers
|
4bdfa44575
|
use ttk::combobox instead of spinbox where available (tcl > 8.4) for graph Line/HistoH/HistoV selection
|
2024-12-10 11:41:35 +01:00 |
stefan schippers
|
48d7522a8c
|
remove debug messages
|
2024-12-10 00:37:26 +01:00 |
stefan schippers
|
893c48d7dd
|
fix some HistH graph draw artifacts when panning/zooming the graph
|
2024-12-10 00:07:33 +01:00 |
stefan schippers
|
8bb69b65e9
|
HistogramH and HistogramV graph modes
|
2024-12-09 17:25:40 +01:00 |
stefan schippers
|
2a7ee749ba
|
xschem raw add: add optional sweep_var parameter
|
2024-12-09 00:00:27 +01:00 |
stefan schippers
|
2ec8c61757
|
fix previous commit for digital graphs
|
2024-12-07 11:40:49 +01:00 |
stefan schippers
|
f73cf30452
|
added a fix in draw_graph_points() to avoid waves to be drawn outside of the graph box container on Windows, where there is no working XSetCLipRectangles()
|
2024-12-07 00:56:04 +01:00 |
stefan schippers
|
963e877497
|
Allow wave expressions with spaces on a single line without quotes ("...."). Quotes can be used for wave expression on multiple lines. Side effect: multiple nodes can no more be specified on a single line separated with spaces. Use newlines
|
2024-12-05 02:54:08 +01:00 |
stefan schippers
|
75b5cc13f4
|
added `-undo 1` to all text widgets. If text_replace_selection is enabled replace selection when pasting also in entry widgets as done with text widgets
|
2024-12-04 16:38:35 +01:00 |
stefan schippers
|
0734414bd7
|
simplify some regsub pattern substitutions in xschem.tcl
|
2024-12-04 13:41:52 +01:00 |
stefan schippers
|
ce99d093c4
|
screen grab: if draw crosshair is enabled and a screen grab is done show default mouse pointer
|
2024-12-01 11:55:46 +01:00 |
stefan schippers
|
5ae730a5fb
|
waves_selected(): do not check sch_waves_loaded() to return is_inside
|
2024-11-30 10:57:06 +01:00 |
stefan schippers
|
17a564062c
|
graphs: always plot one point before x1 and one point after x2 of simulation waves so they will extend to full graph area even if there are few simulation points.
|
2024-11-30 01:16:37 +01:00 |
stefan schippers
|
ebc4babdd4
|
add graph_use_ctrl_key variable (default 0) to force holding Control key to interact with graphs. This avoid graphs "stealing" events that are expected to work on the schematic
|
2024-11-29 22:52:36 +01:00 |
stefan schippers
|
7ca8857302
|
starting a move (m) or copy (c) operation when nothing is selected does not change ui_state. Clearly a bug
|
2024-11-29 01:30:38 +01:00 |
stefan schippers
|
8eb60ae32b
|
allow full specification of file selector window geometry and pane sizes. examples in xschemrc
|
2024-11-28 11:37:21 +01:00 |
stefan schippers
|
471675ad49
|
fully remember panedwindow (vertical and horizontal) sash positions in load_file_dialog
|
2024-11-28 10:06:37 +01:00 |
stefan schippers
|
e2f19d8b7c
|
better implementation of previous fix. if read_dataset() does not find a matching dataset, delete only current raw structure, not all loaded raw files.
|
2024-11-28 03:51:27 +01:00 |
stefan schippers
|
9c48617e4e
|
xschem annotate_op command: if no OP analysis is found in raw file try to load a DC sweep and use first point for schematic annotation. This is done because Xyce stores OP data as a 1-point DC sweep
|
2024-11-28 03:18:32 +01:00 |
stefan schippers
|
f9b341ef98
|
revert last changes in draw_graph_points(). Optimization was already done.
|
2024-11-28 00:51:38 +01:00 |
stefan schippers
|
b642d63215
|
avoid unneeded calls to draw_crosshair(1) if crosshair is not enabled. Double performance of draw_graph_points() (do not draw on xctx->window if XCopyArea drawing model (now the default) is enabled
|
2024-11-27 16:13:48 +01:00 |
stefan schippers
|
ca6fb60ce7
|
added `legend` checkbutton in graph dialog box to switch off signal legend in analog graphs
|
2024-11-25 14:29:19 +01:00 |
stefan schippers
|
cf7933b99d
|
save.c: do not assume complex data for `constants` raw file sections, deduce data type from Flags line (both complex and real constants sections exist)
|
2024-11-25 12:48:25 +01:00 |
stefan schippers
|
7fccc2eed1
|
better xschem bbox command
|
2024-11-22 03:12:57 +01:00 |
stefan schippers
|
4fff388f99
|
add `constants` plot type in graph sim type drop down menu
|
2024-11-22 00:11:37 +01:00 |
stefan schippers
|
893bd20901
|
remove a clipping condition in draw_graph_points() as graph-area clip is set in draw_graph()
|
2024-11-21 10:58:15 +01:00 |
stefan schippers
|
67a4407952
|
fix typo in condition (draw_pixmap instead of save_pixmap)
|
2024-11-16 10:19:34 +01:00 |
stefan schippers
|
7e699d94e5
|
indentations in xschem.tcl
|
2024-11-14 20:41:54 +01:00 |
stefan schippers
|
1c69848325
|
correctly handle `set_title & 2` in descend_schematic()
|
2024-11-14 00:35:21 +01:00 |
stefan schippers
|
819e2f0969
|
limit precision of (now unsnapped) selection rectangle dimensions in status line
|
2024-11-13 23:05:46 +01:00 |
stefan schippers
|
de9c40af65
|
allow file extension spec in tmpfile creation, update index.html
|
2024-11-13 12:04:56 +01:00 |
stefan schippers
|
4fca204e8d
|
improvement of previous commit. Sanitize paths ending with ////, like /aa/bb/cc///
|
2024-11-12 22:48:21 +01:00 |
stefan schippers
|
169d743b33
|
insert symbols should tolerate paths in XSCHEM_LIBRARY_PATH ending with `/`
|
2024-11-12 20:58:09 +01:00 |
stefan schippers
|
20359ed43e
|
update license info. Remove unneeded newline saving in version line of .sch/.sym files, remove c89 flag based on lib versions
|
2024-11-12 20:23:18 +01:00 |
stefan schippers
|
aa95f0ff9d
|
Small changes to allow build with tcl-tk 9.0
|
2024-11-12 01:16:43 +01:00 |
stefan schippers
|
127a2a0221
|
add needed include <stdarg.h> in scheduler.c (needed, probably some library or other include file was sourcing it).
|
2024-11-11 20:59:29 +01:00 |
stefan schippers
|
63ac9ccbb9
|
update Changelog for 3.4.6
|
2024-11-11 17:17:42 +01:00 |
stefan schippers
|
dd33a067de
|
select rectangles are unsnapped. much easier to select small objects
|
2024-11-10 09:53:37 +01:00 |
stefan schippers
|
346666e13d
|
draw_graph_grid(): handle NaN in y-data , avoid infinite loop
|
2024-11-07 00:39:53 +01:00 |
stefan schippers
|
b7e39700d4
|
add ability to read ASCII raw files
|
2024-11-06 11:59:00 +01:00 |
Stefan Schippers
|
bb49cc9b26
|
fix incomplete line in actions.c
|
2024-11-05 20:09:04 +01:00 |
stefan schippers
|
92c99c10f9
|
get_additional_symbols(): some sanity checks, descend_schematic() more options in set_title argument (avoid set title, avoid processing pins/nets, avoid descending into i-th xdec[3] instance, descend as a whole xdec[3:0], add `xschem get_additional_symbols what` command, allow `xschem get_sch_from_sym -1 inv.sym` to get schematic associated with symbol. hier_psprint(): avoid printing / listing duplicate schematics, improved traversal.tcl
|
2024-11-05 13:59:37 +01:00 |
stefan schippers
|
0bd6ccef86
|
select_element(): do not draw selection if fast argument given
|
2024-11-03 10:33:11 +01:00 |
stefan schippers
|
e26e03ff0b
|
comments on top of change_sch_path()
|
2024-11-03 00:23:49 +01:00 |
stefan schippers
|
94d5c44599
|
xschem change_sch_path command for changing the current path we are descended in; set_title parameter for xschem descend and xschem go_back (optimization for faster scripts). optimized utility procedure traversal.tcl. Catch glob pattern errors in proc setglob
|
2024-11-03 00:22:40 +01:00 |
stefan schippers
|
f3abdf2eb8
|
avoid another crash in case of malformed raw files (if raw->npoints not allocated return without attempting to read raw file)
|
2024-11-01 00:27:29 +01:00 |
stefan schippers
|
65bd4ce766
|
fix is_quoted() (reported "aaa\\\"bbb" as unquoted)
|
2024-10-31 11:06:19 +01:00 |