Commit Graph

291 Commits

Author SHA1 Message Date
stefan schippers e01f545567 --diff option to visually compare two different (versions of) schematics 2022-12-13 13:51:33 +01:00
Stefan Frederik d1aa8a9e42 global properties dialog box: close if clicking outside or pressing Shift-Return 2022-10-24 14:11:34 +02:00
Stefan Frederik a8689becd6 shift-enter/clicking outside ends text insert widget. Entry widget for text properties string replaced with multiline text widget 2022-10-24 13:05:32 +02:00
Stefan Frederik cecd205ff7 Faster implementation of previous change 2022-10-17 00:30:20 +02:00
Stefan Frederik 63a27e410e Engineering notation in wave measurement tooltip 2022-10-17 00:26:28 +02:00
Stefan Frederik 6be0fc392b refactoring of netlister code 2022-10-07 23:29:42 +02:00
Stefan Frederik ae4b74f2d8 graph axes in engineering notation (20u, 10p, 3k), fix an issue in graph panning with button1 mouse; ngspice:: get_current, get_voltage, get_diff_voltage, get_node embedded into xschem.tcl, to_eng tcl procedure to convert number to engineering form. 2022-09-28 19:14:31 +02:00
Stefan Frederik 472751dfc0 better file globbing in load_file_dialog 2022-09-27 13:15:04 +02:00
Stefan Frederik d4b6986e24 added File -> Component browser, clicking recent component buttons displays preview 2022-09-27 12:28:54 +02:00
Stefan Frederik 3e6815ccc5 recent components are in paned window (can be resized) 2022-09-27 09:27:39 +02:00
Stefan Frederik 0bb4c9f2e0 New option for non blocking file selector, so it will remain open allowing to pick multiple components (Shft-Insert). Aborted place symbol operation will no more set schematic status to modified 2022-09-26 18:38:19 +02:00
Stefan Frederik fd72e72dba test and got svg_embedded_graph(...) to work on Windows with Cairo (Joanne). added some #ifndef __unix__ guards to avoid compiler warnings about defined and not used functions, initial implementation of "Recent components" browser. 2022-09-25 21:11:52 +02:00
Stefan Frederik 314acbabda allow tabs and newlines in graph expressions in addition to spaces; updated example schematics 2022-09-23 02:18:51 +02:00
Stefan Frederik e67ff344c8 cleanup/rename some xctx variables and graph-related functions, avoid drawing graphs using data file loaded from from schematics that are unmatched with current schematic or up in the hierarchy levels 2022-09-21 11:25:45 +02:00
Stefan Frederik 933faceabf some cleanups in scheduler.c "xschem annotate_op" command. 2022-09-20 23:07:50 +02:00
Stefan Frederik c695c435d2 move initialization of s=0 outside the loop in backannotate_at_cursor_b_pos(). If only_probes is set do not display graphs and images. 2022-09-20 17:59:01 +02:00
Stefan Frederik af475e00df xschem raw_read accepts an optional type argument after file name (tran, ac, dc, op, ...) to select type of simulation to load from raw file. New command xschem annotate_op will replace ngspice::annotate tcl procedure. 2022-09-20 16:49:42 +02:00
Stefan Frederik 7abceb3344 fix regression in ngspice::get_current, simplified voltage reporting in net label symbols 2022-09-20 00:12:27 +02:00
Stefan Frederik 73e8b440c8 if sweep variables are defined on X axis (instead of default index 0) use first sweep X-axis var in live cursor backannotation 2022-09-19 12:19:39 +02:00
Stefan Frederik 6f102ff05a make cursor live backannotation work on logscale X axes 2022-09-19 12:08:07 +02:00
Stefan Frederik 09f2727168 fix: update backannotation data in schematic if changing dataset with "t" key 2022-09-19 02:04:14 +02:00
Stefan Frederik ad6cbb4df6 let cursor graph backannotation work for multiple sweeps (implicit datasets) 2022-09-18 23:29:48 +02:00
Stefan Frederik 7afbd6a51d various small fixes for cursor b backannotation, updated xschemtest netlist hashes 2022-09-18 12:25:09 +02:00
Stefan Frederik c06034e33e performance optimization in live cursor b backannotation 2022-09-18 11:06:48 +02:00
Stefan Frederik 96f80d1d33 Alt-a in graph annotates schematic with values at cursor b position. Simulation->Live annotate option to automatically update schematic probes if cursor moved. Some improvements and fixes in ngspice_annotate.tcl. Fix xschem setprobe command. Added missing housekeeping_ctx when a new tab is created. housekeeping_ctx: added more variables to sync. 2022-09-18 05:29:16 +02:00
Stefan Frederik 52405a29c7 restructured graph dialog box, added min/max x, adjusted sweep variables vertical aligmnent, added atof_spice() that recognizes spice suffixes (12p, 4.2MEG etc) 2022-09-16 17:01:59 +02:00
Stefan Frederik 75db846e58 ask confirmation if pressing "s" for simulate; node lists in graph dialog box are returned as they are with no tcleval() resolution; poweramp.sch now can be simulated unchanged with Xyce 2022-09-13 00:31:20 +02:00
Stefan Frederik 9efacd8a8b Revert r2272; zoom by area plots reverse x axis if done with Shift key pressed 2022-09-07 09:31:09 +02:00
Stefan Frederik ecca24191e fixes in fullscreen code (restore zoom lavels) 2022-09-04 14:16:38 +02:00
Stefan Frederik 02c1dce486 zomm area in graphs: if dragging backward (in x direction) reverse x axis. 2022-09-04 01:09:05 +02:00
Stefan Frederik c7501d4a28 fix UI lockout (can not switch tabs) if a tab is closed with bindkey ctrl-q 2022-09-03 22:19:49 +02:00
Stefan Frederik 2095995b51 apply [t]rack operation to all locked (instead of selected) graphs 2022-09-03 09:46:22 +02:00
Stefan Frederik b7bf351801 [t]rack bindkey applied to digital graphs if they are selected, although track does not work if pointing in digital graphs 2022-09-02 18:19:39 +02:00
Stefan Frederik 5c808505b3 [t]rack bindkey applied to all selected plots in addition to graph where mouse is pointing 2022-09-02 18:09:51 +02:00
Stefan Frederik ae1bed65f4 added [t]rack bindkey in graph to display the wave closest to mouse in multiple dataset plots 2022-09-02 17:11:50 +02:00
Stefan Frederik d279783faa added menu entries to set and conmpare with schematic. 2022-08-25 13:59:36 +02:00
Stefan Frederik a2de3e9c1b Added compare_schematics() function. Empty graphs (no data loaded) are not editable. Set window title if opening a non-existent file. 2022-08-25 00:25:29 +02:00
Stefan Frederik 0f5881cd61 print_spice_subckt(): check for tcl_hook2() errors, check for NULL in strtoupper/strtolower, fix unitialized local variable 2022-08-23 10:01:32 +02:00
Stefan Frederik 84f9497755 fix graph zoom by area with mouse drag and absolute x positioning of locked graphs that are not vertically aligned 2022-08-19 01:23:45 +02:00
Stefan Frederik 89afd902ea get_raw_value(): return plain value, no implicit log calculation if log scale on axis. Zoom full scale X and X axis pan: use 1st sweep X variable, do not assume spice sweep variable (idx==0) 2022-08-08 09:52:33 +02:00
Stefan Frederik edf185616b Y log axis option in graphs 2022-08-08 01:18:42 +02:00
Stefan Frederik 15e367ba73 user selectable log X scale instead of assiming log X for AC analyses only 2022-08-05 00:57:03 +02:00
Stefan Frederik 9e888b8b44 Button 1 Double click does edit object attributes 2022-07-31 09:06:10 +02:00
Stefan Frederik a7202ddee2 avoid panning interfere with constrained (horiz/vertical) copy or move 2022-07-25 10:09:35 +02:00
Stefan Frederik e7f31cf3ee allow each window (in tabbed or window interface) to run its own simulation, preventing spawning another simulation process for same tab/window if previous not finished 2022-07-15 12:32:57 +02:00
Stefan Frederik c9d16d6008 use 5 significant digits in graph (time) measures 2022-06-29 11:47:10 +02:00
Stefan Frederik cd7eb3ab54 update license info 2022-06-24 00:36:12 +02:00
Stefan Frederik f882918931 more conversion warnings suppressed 2022-04-28 10:12:16 +02:00
Stefan Frederik 23102433c2 fixed lot of conversion warnings/ bugs (int/double/size_t) 2022-04-27 13:18:45 +02:00
Stefan Frederik 89f538ffa1 added bindkey "s" for running simulation 2022-04-25 08:39:51 +02:00
Stefan Frederik 00de54c582 Honor hide attribute for texts in ps/pdf and svg exports 2022-03-01 19:36:08 +01:00
Stefan Frederik d457565c2d declared more functions static where possible and appropriate 2022-02-19 14:31:55 +01:00
Stefan Frederik fc6268395b dedicated function for calculating y extent of custom wave equations 2022-02-17 01:22:15 +01:00
Stefan Frederik c08cc359f3 plot_raw_custom_data() returns idx or -1 in case of expr syntax errors to avoid plotting junk 2022-02-14 19:28:24 +01:00
Stefan Frederik 4ebf3ea601 allow wave alias naming, fix off-by-one errors in plot_raw_custom_data() calls 2022-02-14 17:51:18 +01:00
Stefan Frederik b95d78734f allow ";" in addition to "," for separator in nodes to be plotted. ";" will be used for node alias. Fix potential uninitialzed data in get_bus_idx_array() 2022-02-13 22:54:28 +01:00
Stefan Frederik c6a7d8f9bb optimize custom data plots and expression evaluation, added avg() 2022-02-12 13:20:24 +01:00
Stefan Frederik defd2a92a7 rpn expressions in graphs 2022-02-12 04:55:02 +01:00
Stefan Frederik e37d5a28b8 more flexible my_strtok_r (handle quoting and escapes), allow quoted expressions in graphs for doing math on vectors 2022-02-07 03:52:42 +01:00
Stefan Frederik d6d932e730 fix save simconf (thanks mkk). put template code for custom function plots 2022-02-05 00:28:06 +01:00
Stefan Frederik 008b289e4f ac analysis in graphs (mag + phase, log axis) 2022-02-02 18:33:16 +01:00
Stefan Frederik faa210fb2f code cleanup, removed code redundancy, itoa(), dtoa() functions, removed unnecessary tcl graph_* global vars, mstrcat function. 2022-01-30 03:10:09 +01:00
Stefan Frederik 4ec5d2ce9e send selected nets to last selected graph if graph configure dialog not open 2022-01-29 12:27:54 +01:00
Stefan Frederik c083491738 probe nodes from xschem into its own wave viewer 2022-01-29 02:36:54 +01:00
Stefan Frederik 0b0e749801 Graph UI improvements. Persistent bold waves. Graph UI bug fixes 2022-01-28 04:44:07 +01:00
Stefan Frederik ee263197d8 bold clicked wave for better visibility if multiple waves 2022-01-27 21:14:52 +01:00
Stefan Frederik 038ef39bb5 UI improvements for graphs, change colors, insert waves etc 2022-01-27 20:47:27 +01:00
Stefan Frederik 320ad6e2aa embedded raw file storage 2022-01-21 19:17:43 +01:00
Stefan Frederik 42703b020d fix wave panning if a non graph added, better error reporting in png writer function, better flags option names for special objejcts (image and graphs) 2022-01-21 02:18:07 +01:00
Stefan Frederik e66abe36fa fix wave panning if a non graph added, better error reporting in png writer function, better flags option names for special objejcts (image and graphs) 2022-01-21 02:16:51 +01:00
Stefan Frederik 6941451d9b fix crash when graph (bottom)x-scaling if dataset given > raw file datasets 2022-01-18 04:21:32 +01:00
Stefan Frederik f0d856560f removed useless old pan command 2022-01-17 22:41:36 +01:00
Stefan Frederik 622fb168c1 obsolete comments scrub 2022-01-13 17:24:04 +01:00
Stefan Frederik da27141112 fix left/right arrow keys for tab switching on Windows and Linux 2022-01-11 22:57:55 +01:00
Stefan Frederik 7d3c19441d cleanup in tabbed/multi-context code, remoevd redundant functions, more tests in xschemtest 2022-01-11 01:09:56 +01:00
Stefan Frederik d6b513e1e2 issue warning if opening same circuit in different tabs, if tabbed if is active edit sch/sym in new window will do in a new tab 2022-01-10 18:54:07 +01:00
Stefan Frederik b81ce64c0c ctrl-left arrow / ctrl-right arrow to quickly move between tabs 2022-01-10 04:30:51 +01:00
Stefan Frederik 1360641d75 Tabbed windows interface option added 2022-01-09 22:19:58 +01:00
Stefan Frederik e238f571b0 code added for tabbed window interface 2022-01-09 05:14:25 +01:00
Stefan Frederik ef7effab69 separate bindkey (ctrl-shift-F) to zoom full selection 2022-01-08 00:00:13 +01:00
Stefan Frederik 0eaf884039 modularized usage of simconf`s scrollable frame so it can be reused 2022-01-07 12:45:18 +01:00
Stefan Frederik d9a51e4b1a bus value viewer show transitions (`X`), adding some query commands to get/set waveform attributes/plot data 2022-01-07 01:54:41 +01:00
Stefan Frederik 71a98e78f5 don`t try bring up the info ERC window if xschem is used in cli mode without X; filter out some events from graph event callback 2022-01-06 22:38:00 +01:00
Stefan Frederik 6f83b0cae5 code cleanup 2022-01-06 07:41:15 +01:00
Stefan Frederik 7c91b691ac remove dbg info 2022-01-06 07:38:59 +01:00
Stefan Frederik fdf93666b4 fix the hardest bug ever in master graph x-axis zooming (f**k!) 2022-01-06 07:37:44 +01:00
Stefan Frederik 8eae5398c5 fix clipping cursor texts 2022-01-06 05:34:42 +01:00
Stefan Frederik 9bdac2d854 fix horizontal alignment when panning multiple graphs 2022-01-06 05:00:24 +01:00
Stefan Frederik 223b9dc0a6 various regressions due to refactoring fixed 2022-01-06 01:10:06 +01:00
Stefan Frederik c35d7b5d22 created Graph_ctx for graph data access; code refactoring 2022-01-05 23:07:08 +01:00
Stefan Frederik 09d8474a2c fix measure data in multiple sweep/wraps graphs 2022-01-05 17:38:01 +01:00
Stefan Frederik 31ba4ce0d6 added wave @ cursor measurement feature 2022-01-04 05:54:25 +01:00
Stefan Frederik 625495e27a measurement tooltip in graphs 2022-01-03 18:43:34 +01:00
Stefan Frederik 27a8e2246a full vertical resize applied only on active graph 2022-01-03 04:20:45 +01:00
Stefan Frederik 33ecb08c4f checks for zero range axes, removed some unused function params 2022-01-03 02:28:34 +01:00
Stefan Frederik 2c09982e5a resolve a race condition in context menu (mouse click and immediately destroy menu by exiting the area) 2022-01-03 01:38:15 +01:00
Stefan Frederik 81cbbfa39f better vertical scrolling of digital graphs 2022-01-03 00:27:15 +01:00
Stefan Frederik 104d0f8cc3 fixes for digital waves y axis scaling 2022-01-02 22:24:44 +01:00
Stefan Frederik 2a3e9ddea4 graph UI improved (unlock xaxis flag) 2022-01-02 04:42:15 +01:00
Stefan Frederik 81a7041c9f faster graph drawing by direct graph->screen transformation, avoiding double graph->xschem->screen scaling. File entry box is also a glob-search pattern in file open dialog 2022-01-01 15:46:03 +01:00