Stefan Frederik
|
eecc81437c
|
flat_netlist and only_probes moved into xctx struct
|
2021-11-17 23:12:17 +01:00 |
Stefan Frederik
|
daf90b0645
|
fix icon pixmap on child schematic windows
|
2021-11-17 22:15:36 +01:00 |
Stefan Frederik
|
dcae02e8c4
|
remove dbg messages
|
2021-11-17 17:56:32 +01:00 |
Stefan Frederik
|
e27c5dc21a
|
separate pack_widgets and set_bindings
|
2021-11-17 17:53:18 +01:00 |
Stefan Frederik
|
043e83e18f
|
fix correct drawing of new schematic window if schematic not found
|
2021-11-17 13:32:32 +01:00 |
Stefan Frederik
|
bd626427fd
|
fix status bar info correctly swicthing when focusing multiple xschem child windows; multiple schematic window handling within one xschem instance is now working
|
2021-11-17 01:12:55 +01:00 |
Stefan Frederik
|
ad05513838
|
some parameter checks in xschem commands, global var removal in simulation help window - No use for production yet
|
2021-11-16 22:28:10 +01:00 |
Stefan Frederik
|
dfb4821ef8
|
2 more global window declarations removed
|
2021-11-10 14:11:27 +01:00 |
Stefan Frederik
|
59198f2dda
|
removed a whole bunch of global UI-related variables and tcl/C redundancies
|
2021-11-10 13:43:08 +01:00 |
Stefan Frederik
|
c3c1b39cb5
|
(2) full widget creation for xschem new windows, code cleanup, removed old stuff
|
2021-11-09 19:05:56 +01:00 |
Stefan Frederik
|
3ec3add6c0
|
redundant code elimination in new_schematic(), fixed a memory leak in update_symbol()
|
2021-11-03 00:31:08 +01:00 |
Stefan Frederik
|
6dbd952910
|
code cleanup in new_schematic(), error checks to make new window creation safe and simpler (proc new_window what path filename)
|
2021-11-02 02:23:45 +01:00 |
Stefan Frederik
|
8dbe8b7771
|
simplified simdata struct
|
2021-10-28 10:36:23 +02:00 |
Stefan Frederik
|
e7d28947c1
|
removed redundant "valid" member in simdata struct
|
2021-10-27 22:56:33 +02:00 |
Stefan Frederik
|
fe5d2efc59
|
fix false positive in double-free detection, reported by updated track_memory.awk; fix missing free on allocated string
|
2021-10-26 01:18:16 +02:00 |
Stefan Frederik
|
04e670b3cf
|
fine tuning of previous commit
|
2021-10-26 00:04:13 +02:00 |
Stefan Frederik
|
b81325ea00
|
code cleanup, comments, more globals in Xctx context structure
|
2021-10-25 17:05:43 +02:00 |
Stefan Frederik
|
95c0ad1572
|
better identify commented pieces of code
|
2021-10-17 22:05:55 +02:00 |
Stefan Frederik
|
04eee411f3
|
better implementation of prevous commit
|
2021-10-10 00:44:01 +02:00 |
Stefan Frederik
|
86dcb4cafa
|
Do the update (process pending X events) only if a filename is given on cmdline, to avoid losing an Expose event if no file given
|
2021-10-09 13:30:44 +02:00 |
Stefan Frederik
|
4f8120cd2d
|
add "update" after binding creation in xinit.c, to avoid incomplete initialization of event binding if xschem called with non-existent file
|
2021-10-09 10:25:24 +02:00 |
Stefan Frederik
|
434e0f012b
|
Any attribute embedded in a tcleval(....) construct will be passed by get_tok_value() down to tcl for evaluation. This generalizes what was done for the "schematic" attribute in 20210617
|
2021-09-20 00:55:33 +02:00 |
Stefan Frederik
|
00311e7ff1
|
update license info
|
2021-07-27 16:42:54 +02:00 |
Stefan Frederik
|
e5208e2d99
|
refactoring: "plotfile[]" global moved into xctx struct
|
2021-07-14 01:43:29 +02:00 |
Stefan Frederik
|
5880e23f94
|
added hierarchical ps/pdf export (File menu)
|
2021-06-13 23:55:17 +02:00 |
Stefan Frederik
|
500feade8d
|
Joanne fixes for potential crash in align_sch_pins_with_sym() if there is a sym/sch pin number mismatch. Moved box declaration to beginning of scope block for C89 compatibility
|
2021-03-07 00:15:16 +01:00 |
Stefan Frederik
|
238c9f592d
|
fix -N option for output netlist filename
|
2021-02-09 17:19:37 +01:00 |
Stefan Frederik
|
934e16ab87
|
uniquify __UNCONNECTED_NODE__ by appending a unique number to avoid shorting multiple missing connecting nodes
|
2021-01-14 18:12:02 +01:00 |
Stefan Frederik
|
b25bd1d06d
|
saving to file made 4x faster, this implies less latency due to undo buffer savings on freaking big schematics.
|
2021-01-06 03:01:14 +01:00 |
Stefan Frederik
|
6cac6f2291
|
cleanups in sample xschemrc comments
|
2021-01-04 15:19:08 +01:00 |
Stefan Frederik
|
94cd0d0c7d
|
hash_hi() made faster by caching sch_path_hash[]
|
2021-01-02 01:55:01 +01:00 |
Stefan Frederik
|
a9d7d93e40
|
caching simulation data into "simdata" struct for performance
|
2020-12-31 03:08:24 +01:00 |
Stefan Frederik
|
bcf8986314
|
Some more global state into Xctx
|
2020-12-28 13:44:10 +01:00 |
Stefan Frederik
|
41d9e17527
|
option for transparent background in svg export; added ngspice backannotation tutorial
|
2020-12-28 02:52:44 +01:00 |
Stefan Frederik
|
5917cd9717
|
added flip-flop simulation capabilities. added examples: merry xmas greeter and 7 segment display driver and counter.
|
2020-12-27 19:20:24 +01:00 |
Stefan Frederik
|
9b4534d6b0
|
A change_linewidth(-1.0) is added after resetwin() creates a new pixmap (example: after a window resize) . This sets colors, backgrounds fill styles for the new pixmap.
|
2020-12-26 22:29:45 +01:00 |
Stefan Frederik
|
582863f825
|
added menu option to load most recent file: ctrl-shift-o, fix menu entry "unhilight selected nets" (did unhilight all); removed a wire[].node clear in hash_wire() that caused broken connectivity. this data is cleared in delete_netlist_structs when needed.
|
2020-12-25 04:37:53 +01:00 |
Stefan Frederik
|
779c789100
|
better "xschem print" command accepting viewport and image dimensions, better zoom_full (with margin), good for embedding in script and do automatic export generation
|
2020-12-22 00:13:25 +01:00 |
Stefan Frederik
|
4ddc9654e8
|
add xschem commands for specifying image size for png and pdf: xschem print svg file.svg 800 600; svg background color taken from svg_colors variable so it can be changed like any other color
|
2020-12-21 04:38:57 +01:00 |
Stefan Frederik
|
dfa58a0a08
|
spaghetti code removal, more reused code
|
2020-12-20 15:56:29 +01:00 |
Stefan Frederik
|
821ebf06f2
|
optimizations in instance (connected to wires/net labels) highlights
|
2020-12-18 19:22:08 +01:00 |
Stefan Frederik
|
e46033f0bb
|
fix regression due to r1395, updated Changelog, fix set initial window size when doing ps/pdf export from cli
|
2020-12-17 03:48:34 +01:00 |
Stefan Frederik
|
5b4d6ab640
|
postscript fonts in ps/pdf export
|
2020-12-16 18:30:33 +01:00 |
Stefan Frederik
|
f22f7a26f5
|
allow to specify fixed, user defined line width (does not change on zoom) and allow specify if grid points should be same size as line width
|
2020-12-14 19:11:24 +01:00 |
Stefan Frederik
|
fc5b1a9616
|
code formatting
|
2020-12-12 20:50:06 +01:00 |
Stefan Frederik
|
a3e1564c48
|
option for variable-width grid points for better visibility on hyper-resolution monitors
|
2020-12-12 13:36:39 +01:00 |
Stefan Frederik
|
bb64297b6e
|
better #if/#endif configuration of various xrender/xcb/cairo combinations
|
2020-12-07 20:04:57 +01:00 |
Stefan Frederik
|
e80896dbf9
|
added render_format assignment that got deleted after xinit code refactoring
|
2020-12-07 18:51:15 +01:00 |
Stefan Frederik
|
c5c729fc89
|
tcl code indentation fixes, cleanup, some global vars removed
|
2020-12-07 15:46:20 +01:00 |
Stefan Frederik
|
4d56fcc72d
|
indentation cleanups
|
2020-12-06 22:07:33 +01:00 |
Stefan Frederik
|
c3ba3112e0
|
remove some redundant warnings in memory allocations, since all alloc calls have an ID and wrapper issues warnings in case of failures. Use some Tk wrapper functions to get X11 related data since all windows are already opened by tcl-tk.
|
2020-12-06 20:52:35 +01:00 |
Stefan Frederik
|
17124c761c
|
each schematic windows has its own "current later" (rectcolor)
|
2020-12-06 16:40:08 +01:00 |
Stefan Frederik
|
4d26ce66a8
|
more state variables into xctx: move / create new objects
|
2020-12-06 16:10:22 +01:00 |
Stefan Frederik
|
e7e5ad190b
|
more schematic context in xctx: cairo surfaces and context, save buffer graphic context (GC), hilight hash tables and data, node name hash tables. Refactoring of resetwin , resetcairo routines (also used in xinit to avoid code duplication), switching schematics seems almost complete now
|
2020-12-06 02:10:53 +01:00 |
Stefan Frederik
|
f138db5aba
|
fix linewidth when done with preview, also avoid to destroy & create main pixmap since it was saved
|
2020-12-05 04:12:56 +01:00 |
Stefan Frederik
|
780b994aeb
|
use short data type for small integer data: rot, flip, dash, bus etc...
|
2020-12-05 03:16:01 +01:00 |
Stefan Frederik
|
29d8b0c3a8
|
resetwin(1,1,1) instead of resetwin(1,1,0) in preview_window so save_pixmap is reset to correct size when switching back to main window
|
2020-12-04 02:27:35 +01:00 |
Stefan Frederik
|
1268a6faae
|
removed redundant XSetTile in preview_window()
|
2020-12-04 01:38:48 +01:00 |
Stefan Frederik
|
76ef664757
|
undo data structures into xctx context
|
2020-12-04 00:30:13 +01:00 |
Stefan Frederik
|
2b7e31e0d6
|
add utility functions to create new schematic window
|
2020-12-03 23:17:13 +01:00 |
Stefan Frederik
|
3732bd8d01
|
put cairo save surface and context into xctx, faster and smoother preview (avoid unload/load if no filename change)
|
2020-12-03 18:21:23 +01:00 |
Stefan Frederik
|
66a73e4e99
|
cleanup in preview code
|
2020-12-03 11:49:29 +01:00 |
Stefan Frederik
|
4322101f9b
|
cleanup in preview code
|
2020-12-03 11:46:00 +01:00 |
Stefan Frederik
|
9588a859da
|
cleanup in preview code
|
2020-12-03 11:42:06 +01:00 |
Stefan Frederik
|
a64d69ed7a
|
some code refactoring, more globals in xctx context, fixed unnoticed shift-reduce conflict in expandlabel
|
2020-12-03 04:20:05 +01:00 |
Stefan Frederik
|
8902f3b56b
|
more state in xctx context
|
2020-12-02 19:35:42 +01:00 |
Stefan Frederik
|
e279262f00
|
more globals into xctx context struct
|
2020-12-02 15:10:47 +01:00 |
Stefan Frederik
|
08e179e588
|
better cmdline filename path parsing
|
2020-12-01 13:25:00 +01:00 |
Stefan Frederik
|
eda64b7ee1
|
removed event_reporting feature
|
2020-11-29 03:27:45 +01:00 |
Stefan Frederik
|
d93826f61c
|
wrap long lines in source code, set default direction of pins to "B"(idirectional) if not specified in spice netlist (no *.PININFO information)
|
2020-11-22 00:51:24 +01:00 |
Stefan Frederik
|
0d59d01170
|
allow to pass down to tcl evaluation (via tcleval( ....) wrap) instance parameters: example of a mos transistor : name=m1 w=2 l=0.13 model=net ad="tcleval([expr @W * 0.29])" --> in netlist: m1 d g s b nfet w=2 l=0.13 ... ad=0.58
|
2020-11-20 18:46:27 +01:00 |
Stefan Schippers
|
71fd1bcb68
|
comments about color handling in source code, set_cairo_color() function
|
2020-11-19 15:08:40 +01:00 |
Stefan Schippers
|
bf183f0d20
|
Option (default now) to export svg images using the svg <text> element. This makes generated SVGs much smaller and in most cases faster to render.
|
2020-11-18 18:29:14 +01:00 |
Stefan Schippers
|
78a82a9bc0
|
fix regression: ps and svg exports were broken due to enable_layer[] used for enabling selections
|
2020-11-17 02:17:34 +01:00 |
Stefan Schippers
|
61dd4e99b0
|
better xschem icon: added shapemask for "transparent" background
|
2020-11-10 13:17:25 +01:00 |
Stefan Schippers
|
24dd02b713
|
Fixed Windows Xschem running from VS2019 without installing Xschem to find (Root)/xschem_library/devices as XSCHEM_LIBRARY_PATH, so that viewing schematics through VS2019 will find all symbols in xschem_library/devices. Moved doc and xschem_library XML files to its own *.wxs. Cleaned up Product.wxs by taking out doc and xschem_library files; fixed spacings in License.rtf; added condition that proper version of Active TCL is required to install
|
2020-11-07 10:52:50 +01:00 |
Stefan Schippers
|
73bab32aa9
|
__unix__: do simple tilde subst ( ~/ --> /home/user) just in case this was not done by the shell
|
2020-10-27 22:56:53 +01:00 |
Stefan Schippers
|
5706b12ad9
|
do not execute tcl proc "build_windows" in xinit.c if no X or -x option given
|
2020-10-27 12:00:34 +01:00 |
Stefan Schippers
|
b4681b22af
|
aligned linux code to windows: check if preview pixmap != main pixmap before destroying. probably not needed but good practice
|
2020-10-20 23:34:40 +02:00 |
Stefan Schippers
|
7e845db5df
|
exampels/poweramp.sch and examples/cmos_example.sch show how to use dynamuc ngspice simulation data backannotation, optimized fix of previous bbox bug
|
2020-10-20 19:48:59 +02:00 |
Stefan Schippers
|
3e3c1ea671
|
uniquify malloc IDs
|
2020-10-17 22:39:52 +02:00 |
Stefan Schippers
|
632dbd8931
|
allow dim background color in "View -> Dim oclors"
|
2020-10-17 03:47:32 +02:00 |
Stefan Schippers
|
8a45e319c9
|
if xschem is started with -n (netlist) load_schematic will not call tcl proc is_xschem_file to determine if sch or sym type, since command line option has higher priority. reverted back possibility in update_symbol() to have double quotes around name attribute (name="My strange name"). This has toooo many implications everywhere. name attribute must be wihout double quotes, xschem will strip them off if any.
|
2020-10-17 02:54:42 +02:00 |
Stefan Schippers
|
55723e9429
|
line width is related to the schematic, so it is moved under xctx; removed all integer versions (lw, bus_width) that needed to be kept in sync, created two macros to get the integer values from xctx->lw. main window save_pixmap is preserved when doing a schematic preview in file open dialog, so no need to regenerate its content (with a draw() call) after preview.
|
2020-10-17 00:53:19 +02:00 |
Stefan Schippers
|
9e38fbd173
|
fix wrong const declaration in save.c
|
2020-10-16 23:19:20 +02:00 |
Stefan Schippers
|
f0e6559324
|
fix: restore modified state (set_modify() ) was done before swicthing back xctx to current schematic
|
2020-10-16 19:36:21 +02:00 |
Stefan Schippers
|
7c757f9803
|
removed unused set_fill() function
|
2020-10-16 19:27:19 +02:00 |
Stefan Schippers
|
aa2a47c5b9
|
grouping X11 specific global declarations
|
2020-10-16 19:16:03 +02:00 |
Stefan Schippers
|
f0f1f9c2f0
|
optimization in preview function: no un-needed redraw of current schematic; no window title change when previewing xschem files
|
2020-10-16 18:24:06 +02:00 |
Stefan Schippers
|
1c294ce31d
|
preview function now does no more need to save whole schematic on the undo stack, it is just a matter of pointer switching
|
2020-10-15 18:08:14 +02:00 |
Stefan Schippers
|
e7928727d6
|
all xctx context is now a dynamically allocated structure; no observable performace impact
|
2020-10-15 17:39:21 +02:00 |
Stefan Schippers
|
0eb706a67e
|
removed changes in strings due to variable refactoring
|
2020-10-15 17:05:30 +02:00 |
Stefan Schippers
|
6d96c8bd61
|
move xctx.sch_path free under free_xschem_data()
|
2020-10-15 16:32:09 +02:00 |
Stefan Schippers
|
c70aa9b06d
|
update_symbol() do not throw away quotes in name attrs (name="some thing")
|
2020-10-14 16:02:05 +02:00 |
Stefan Schippers
|
5d26115bd2
|
refactored token.c, differentiate between windows and unix in absolute filename construction in xinit.c
|
2020-10-14 01:38:51 +02:00 |
Stefan Schippers
|
1c2bbc609f
|
added "xschem samefile" command to verify if 2 files are the same entity by comparing inodes, pwd_dir set in xinit.c to $env(PWD) if PWD var is defined as it does not dereference symlinks
|
2020-10-13 17:51:14 +02:00 |
Stefan Schippers
|
8ea275013e
|
updated print_spice_subckt() to reflect updates done in print_spice_element(); abs_sym_path recognize ././././, ./., other strange paths., use $env(PWD) for current_dirname on startup instead of getcwd() if possible, to avoid dereferencing symlinks
|
2020-10-13 16:23:48 +02:00 |
Stefan Schippers
|
6f80fdbf76
|
fix once again an issue when working in symlinked directories and giving a relative .sch file path on cmdline; clean up print_spice_element(). JL to check if tclgetvar("env(PWD)") works on windows (xinit.c:1435)
|
2020-10-13 01:07:28 +02:00 |
Stefan Schippers
|
64c0abc58e
|
code refactoring (global context in Xschem_ctx), "New Schematic" or "New Symbol" will set netlist_type to "spice" or "symbol" respectively
|
2020-10-12 13:13:31 +02:00 |
Stefan Schippers
|
4d0a3d8f7c
|
allow probing to gaw current in voltage sources in addition to ammeters
|
2020-10-09 22:19:54 +02:00 |