Commit Graph

494 Commits

Author SHA1 Message Date
stefan schippers ad96e222f1 if autoload is set in graph and a filename is given (rawfile graph attr) load raw file immediately when drawing graph. Don`t wait for user to load an intiial raw file to trigger auto loading 2024-09-08 13:43:29 +02:00
stefan schippers 1dd3e28b32 remove memory tracking alloc IDs 2024-09-06 22:27:05 +02:00
stefan schippers 391464bab9 fix another small memory leak due to tclvareval("xschem exit...")--> use tcleval() 2024-09-06 22:19:36 +02:00
stefan schippers fddc4650d1 graphs will autoload (if autoload checked) raw data even if no raw file is specified in graph dialog box (use current loaded raw file, usually a different analysis) 2024-09-06 16:57:13 +02:00
stefan schippers 291ba02339 save 4 vars ( node, ph(node), re(node, im(node) ) instead of 2 ( node, ph(node )for ac plots 2024-09-06 10:24:12 +02:00
stefan schippers 89eb02f188 add autoload checkbutton in graph properties to automatically load or not custom graph-specified raw files 2024-06-23 15:59:22 +02:00
stefan schippers 9f368d32e5 sim_pinnumber attribute on schematic pins will be used for top level .subckt pin ordering if no corresponding symbol exists when creating a spice netlist 2024-05-31 09:07:56 +02:00
stefan schippers 2060ca8871 update all text_bbox() calls to account for tabs in bbox calculation 2024-05-24 18:05:37 +02:00
stefan schippers 8067f58b43 uniquify /tmp/xschem_web (--> /tmp/xschem_web_xxxxxx), also handle like /tmp/xschem_undo_xxxxx, create on startup and remove on exit. 2024-05-20 19:00:33 +02:00
stefan schippers c871efa627 xschem image rectangles: allow to fetch urls using filter="tcleval(wget --quiet http://.... -O -)" and image="" 2024-04-22 18:00:15 +02:00
stefan schippers 62eb256159 xschem wave processor: added <, >, <=, >=, ==, != and contitional ? (3 operands) operator 2024-04-22 15:11:25 +02:00
stefan schippers 8d68beb914 added drc_check() function, that evaluates tcl scripts contained in symbol `drc` attribute. Used for checking allowed dimensions, mostly 2024-04-15 16:43:56 +02:00
stefan schippers 51a34ed4a7 get_raw_index(): look up node name as is, before trying upper/lower case 2024-04-08 00:06:18 +02:00
stefan schippers ce1d4b4bbb initial support for drawing ellipses (from rectangle boxes) 2024-04-05 01:34:54 +02:00
Stefan Schippers cab89d03d9 revert to commit 2024-03-26 18:48:48 2024-03-30 19:20:51 +01:00
stefan schippers fdeca4646a cursor a and b: when draging in a graph with default sweep var correctly map cursor in other graphs with different sweep vars 2024-03-29 13:57:06 +01:00
Stefan Schippers 85d7e565a3 cairo_font_scale can be changed runtime to rescale text fonts, hier_hilight_hash_lookup(() function to hilight an arbitrary hierarchic net; improved xschem list_hilights command 2024-03-24 19:34:30 +01:00
stefan schippers f84305930f fix size and number of items ordering in fread() to match returned sizes 2024-03-15 16:07:46 +01:00
stefan schippers d30715bc2c add #ifdefs for missing libjpeg libraries to avoid link problems, remove some warnings from compilers/glib versions that tave some functions marked as -Wunused-result 2024-03-15 13:59:52 +01:00
stefan schippers bef157aacf More return codes when something goes wrong, like loading failure of a file given on cmdline 2024-03-15 11:56:35 +01:00
stefan schippers b1b2c3797b rename ps_drawPNG to ps_embedded_image for consistency with svg 2024-03-13 16:03:27 +01:00
stefan schippers 05c6f4770b cleanup the use of set_netlist_dir(), never use simuldir directly, updated intuitive_interface_cheatsheet 2024-03-10 23:50:38 +01:00
Stefan Schippers c75d672d15 remove dbg msg 2024-03-09 18:33:42 +01:00
stefan schippers a855f732c9 fix redundant push_undo() in shape_point_selected ops 2024-03-09 06:16:41 +01:00
stefan schippers 218d4ad3f2 fill=solid in addition to fill=1 (stippled fill) or fill=0 (no fill) for rectangles, polygon/beziers and circles 2024-03-09 03:12:25 +01:00
stefan schippers 064e7accde xschem raw new: allow create multiple `sim_type`s in same raw name; some color adjtstments (background) in widgets 2024-03-08 11:56:59 +01:00
stefan schippers 53fdf69f9e remove debug msgs 2024-03-08 11:09:16 +01:00
stefan schippers ae69c55bd8 fix error in plot_raw_custom_data() wave expression calculator (missing part of the expression due to an improper `else if` 2024-03-08 11:07:14 +01:00
stefan schippers 7daea289a2 refactored callback() (more sub-functions), some fixes in copy between windows 2024-03-04 14:38:32 +01:00
stefan schippers 55ac6bb396 further fix previous regression 2024-03-03 04:21:49 +01:00
stefan schippers 54e446dbc2 fix regression: sel_or_clip filename not updated in merge_file() and in save_selection(). Fixed commit `copy between windows: allow to navigate between more than 2 windows` 2024-03-03 03:17:53 +01:00
stefan schippers 48e93c4e37 added dark_gui_colorscheme (default: 0) for dark widget colorscheme configuration. Enabled again partial select (resize) of arcs 2024-03-03 00:40:51 +01:00
stefan schippers 236f4967a9 use `flags: complex` in raw file in addition to `Plotname: ac` to determine if data is stored as complex numbers 2024-02-28 00:08:08 +01:00
stefan schippers 5fe6fa4639 xschem raw read: allow to read raw file with unspecified type (will get the first section found in file) 2024-02-27 23:42:19 +01:00
stefan schippers 2f1b819755 extra_rawfile: added null sim_type (type) check in table_read 2024-02-27 23:32:53 +01:00
stefan schippers 7ede51737d table_read: skip empty csv rows (some tools save as ,,,,,) 2024-02-27 11:56:18 +01:00
stefan schippers 95fc6377d4 get rid of `sim_type=tablefile`, use `table` (scheduler.c, extra_rawfile()) for reding tables 2024-02-27 11:27:29 +01:00
stefan schippers 1e3ac96085 table_read(): read csv files 2024-02-27 10:24:21 +01:00
stefan schippers 783b5c7aaa added wave processor functions `re()` and `im()` to get real and imaginary part from modulus and phase (expressed in deg) 2024-02-25 23:54:39 +01:00
stefan schippers 7a45497b45 add `xschem raw del node` command 2024-02-25 12:21:13 +01:00
stefan schippers 2fae34caa1 fix idx() function in wave processor, unified `xschem raw_query` and `xschem raw` commands 2024-02-25 00:06:15 +01:00
stefan schippers 5a2891e4de add idx() function (return index of point, 0, 1, 2, ...). doc updates about new wave processor functions 2024-02-24 22:35:54 +01:00
stefan schippers 203cf38e1e add option `keep_symbols in xschemrc to avoid purging symbols when netlisting /descending hierarchy. Add functions atan, asin,acos, cosh, sinh, atanh,acosh,asinh in wave processor 2024-02-24 13:15:43 +01:00
stefan schippers de2572e448 fix an off by 1 array bound in raw_add_vector 2024-02-24 01:53:26 +01:00
stefan schippers bf71dbc9e7 command xschem raw new to use `start end step` instead of `start step number` 2024-02-23 21:58:41 +01:00
stefan schippers 44707d71db extend command `xschem raw_query add [expr]` for fast (C-speed) expression calculation 2024-02-23 12:46:03 +01:00
stefan schippers d1bd5140fe various bug fixes for `xschem raw new` command 2024-02-23 04:19:29 +01:00
stefan schippers ac3f3acb62 added command `xschem raw new name type sweepvar start step number` that creates an in-memory plot (like a loaded raw file) with only the sweep variable 2024-02-23 01:03:20 +01:00
stefan schippers be22993410 add command `xschem raw_query add <node>` to add a vector <node> with all zeros to the loaded raw file. This vector can then populated with programmatic values using z `xschem raw_query set <node> point value` loop 2024-02-22 19:59:09 +01:00
stefan schippers 965bf381ea fix regression in xschem raw_read_from_attr when invoked from launcher 2024-02-22 14:36:34 +01:00
stefan schippers 446c0d687a add command `xschem raw table_read table_file` to read an ascii table file without closing other loaded raw files 2024-02-21 23:16:58 +01:00
stefan schippers 1cbbed77ba first commit for parametric models in subckts --DO NOT USE-- 2024-02-09 17:00:56 +01:00
stefan schippers 331722ab07 fix too early xctx->currsch increment in descend_symbol() 2024-02-02 10:48:51 +01:00
stefan schippers 778dd2c0dc recognize integrated_noise, improve `xschem preview_window` command 2024-01-27 11:42:05 +01:00
stefan schippers 1f35fdf05c add `spectrum` type analysis in graph dialog sim type combobox. Make sp and spectrum aliases of ac in read_dataset() and extra_rawfile() 2024-01-22 01:19:27 +01:00
stefan schippers a7f1b2a5f1 add Spectrum analysis recogniztion (yet another ac type) in raw files 2024-01-08 23:59:55 +01:00
Stefan Schippers cd6deb0bf9 xschem raw_read: allow specifying t1 and t2 to load only a portion of simulation file 2023-12-31 20:33:08 +01:00
stefan schippers 26fbb82f6b fix unwanted head_undo_ptr change when doing a netlist. Add current backannotation info in capa.sym, ind.sym, isource.sym, isource_table.sym 2023-11-27 00:01:45 +01:00
stefan schippers aafe94822a save_file_dialog: file filter by default set to `*` (show all files) 2023-11-22 01:41:16 +01:00
stefan schippers f4f61d23a6 comments added 2023-11-18 23:13:52 +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 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 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 8856ab6e0d add min() and max() clipping functions in wave calculator 2023-11-11 12:13:38 +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 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 4ff28fd39d avoid calling simuldir in load_schematic when traversing hierarchy during netlisting 2023-11-08 02:52:50 +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 71f5994798 reset simulation button on save AS 2023-11-06 19:03:19 +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 0b93634fee Better Simulation->Graphs-> Load raw file (ask filename) 2023-11-03 23:37:09 +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 d5fd026196 xschem raw command: delete also last (base) raw file in clear subcommand 2023-10-28 17:12:32 +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 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 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 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 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 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 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 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 9b4bd44fd0 merged in fast_raw_read branch 2023-10-11 14:05:27 +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 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 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 0119f013e3 correct implementation of previous commit 2023-09-20 11:04:30 +02:00