Commit Graph

495 Commits

Author SHA1 Message Date
stefan schippers f22307afad `xschem raw clear` command: allow to specify a number `n`; delete the`n-th` raw file 2025-04-14 10:00:33 +02:00
stefan schippers 2f1643368e add command `xschem raw rename old_node new_node` 2025-03-08 21:14:46 +01:00
stefan schippers 96eeef5a95 raw_read(): cleanup allocated `rawptr` if nothing loaded due to missing file 2025-03-07 15:34:19 +01:00
stefan schippers aa68a3a0d2 fix spurious overwrite of xctx->graph_struct done in raw_read() called from draw_graph() which uses xctx->graph_struct 2025-02-28 18:51:35 +01:00
stefan schippers a306d97725 update docs (#pattern#@name tag) 2025-02-23 12:12:59 +01:00
stefan schippers 25db8b8f9a ellipses rendered in ps/pdf export. Do not allow to select objects with mouse button press if a poligon insertion is ongoing. my_fopen() for read mode open, check for regular file. More checks for failed fopen()s. 2025-02-18 02:25:55 +01:00
stefan schippers 1e1c56801d when loading a raw file, if graphs are present and cursor2 is enabled in 1st graph setup annotation in the schematic (no need to move the cursor) 2025-02-16 14:08:31 +01:00
stefan schippers 5c4be8313b better xctx->save_netlist_type setting when navigating in the hierarchy (of LCC schematics specifically) 2025-02-14 14:40:56 +01:00
stefan schippers 26710d3bd0 fix setting netlist_type to CAD_SYMBOL_ATTRS when doing a descend symbol (`i` key) into a LCC schematic and setting back to previous netlist_type when going back 2025-02-14 13:58:36 +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 05d61b3987 optimization: replace some sumbol "template" token lookups with existing cached sym[].templ field 2025-02-02 23:59:41 +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 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 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 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 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 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 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 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 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 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 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 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 b23b162f2c rewritten the menu system using a menubar vs the menubuttons 2024-12-31 03:51:05 +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 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 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 2a7ee749ba xschem raw add: add optional sweep_var parameter 2024-12-09 00:00:27 +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 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 4fff388f99 add `constants` plot type in graph sim type drop down menu 2024-11-22 00:11:37 +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 de9c40af65 allow file extension spec in tmpfile creation, update index.html 2024-11-13 12:04:56 +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 b7e39700d4 add ability to read ASCII raw files 2024-11-06 11:59:00 +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 a7cded9f19 fix crash if multiple raw files are loaded and last one fails loading due to corrupt raw file 2024-10-24 22:16:46 +02:00
stefan schippers 8de9004468 added operator "cph()" to transform discontinuous phase ph(xxx) in AC analyses to aontinuous phase, like ngspice cph() function. Usage: instead of ph(out) use "ph(out) cph()" 2024-10-16 17:02:36 +02:00
stefan schippers 4311ac424a handle NULL analysis type in debug messages (extra_rawfile()), recursive value substitution in symbol displayed strings: if translated text begins with @ search for recursive upper level definitions for text following @, example: @model symbol text, instance has model=@modeln, upper instance has modeln=nfet: resolve symbol text and display "@model" as "nfet", proc inutile: add optional wait argument to block xschem while dialog displayed 2024-10-03 13:08:32 +02:00