Commit Graph

77 Commits

Author SHA1 Message Date
Stefan Frederik ac99227365 fix a bug when pasting / ctrl-v into an empty schematic (instances not selected for moving) 2021-01-22 01:03:16 +01:00
Stefan Frederik e332008fa8 removed/updated obsolete keybinding descriptions, removed status check on Delete key events 2021-01-13 13:44:57 +01:00
Stefan Frederik 50028baa9f added Hi-Z in logic values 2021-01-11 19:31:47 +01:00
Stefan Frederik 2063b42613 fixed a hypotetical integer overflow issue, do increment and modulo of hilight_color , remove some spaghetti code (use propagate_hilights() ) 2021-01-08 21:25:11 +01:00
Stefan Frederik ef1f297290 more flexibility in constrained move operations (draw wires, lines, copy/move), pressing h/v again toggles constrained / unsonstrained move 2021-01-05 01:24:45 +01:00
Stefan Frederik 8eb2147b18 removed obsoleted commands (shift/ctrl Del) 2021-01-04 18:21:29 +01:00
Stefan Frederik b272080637 bind select "connected wires" to alt/ctrl-right button click 2021-01-03 12:37:15 +01:00
Stefan Frederik b63d3bec09 finalizing "select nets up to junctions" 2021-01-03 01:26:54 +01:00
Stefan Frederik cf5813970c prepare for delete connection implementation 2021-01-02 23:42:22 +01:00
Stefan Frederik cc993bfe44 added in the menu the (undocumented) "propagate-highlight" function (propagate through conductive elements) 2021-01-02 20:33:34 +01:00
Stefan Frederik d6b9740c4b specify state==0 (no modifiers) for Delete keypress events 2021-01-02 19:15:59 +01:00
Stefan Frederik 3528634124 Add Shift-Delete command that selects all nets/labels/probes physically attached to current selected wire segment/label/pin/probe 2021-01-02 18:56:42 +01:00
Stefan Frederik 46e986cc62 added "auto join/trim wires" menu option since now the trim operation is doing fast even on big designs 2021-01-02 03:24:26 +01:00
Stefan Frederik 14ead18ea4 "propagate_to" attribute for pins renamed to "goto" 2020-12-30 21:26:58 +01:00
Stefan Frederik ebaa2d932b redraw wire/line/rect/arc/poly rubbers after changing zoom/panning; do not wait for Motion events 2020-12-29 03:45:12 +01:00
Stefan Frederik 17d8db59ff num parameter to logic_set() to perform "num" toggling operations 2020-12-28 20:20:45 +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 b71199c5b8 added "xschem_simulator" sample example directory for trying logic propagation of probed nets 2020-12-26 19:26:33 +01:00
Stefan Frederik 3f452beb8e Fix: search() "unselect" function was not updating drawing 2020-12-25 15:14:41 +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 a837682731 caching "lab" and "highlight" attributes for speed 2020-12-19 03:22:38 +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 f9f9de3371 added "PWD" button in file load/place component dialog box that brings back to the directory containing current schematic. Selecting a component before doing "place component" will make the file load dialog start from the directory containing the selected component 2020-12-05 05:18:35 +01:00
Stefan Frederik 2b7e31e0d6 add utility functions to create new schematic window 2020-12-03 23:17:13 +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 e279262f00 more globals into xctx context struct 2020-12-02 15:10:47 +01:00
Stefan Frederik d47a569f9f bussed nets/pins in hierTEDAx netlists 2020-11-28 16:41:35 +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 Schippers f6e85bc90c replaced select_connected_nets() with faster select_hilight_net(), net_name() used only for displaying net names will not trigger erc messages 2020-11-16 15:44:51 +01:00
Stefan Schippers 2d01eee04b trim_wires() made 2 O.O.M. faster on big wire meshes; rects, lines, polys, arcs on hidden layers (View -> Visible Layers) not selectable by area or by mouse click 2020-11-16 01:28:19 +01:00
Stefan Schippers 957b9888d1 Removed all static/global name conflicts, avoided global conflicts with flex/bison generated code so xschem (as a test bench) can be compiled as a single big file that includes all other sources 2020-11-03 12:10:55 +01:00
Stefan Schippers 679348b7f8 "Delete files" menu command added 2020-10-24 23:46:19 +02:00
Stefan Schippers 367810f6dc add some hideen commands in menu: "place net label(2)", "highlight net/pin name mismatches of selected instances", "Flip", "Rotate" 2020-10-24 23:00:41 +02:00
Stefan Schippers 6d4c8881f2 regression fix: unselect all when placing a component, to avoid dragging selected stuff with the new object 2020-10-24 20:06:42 +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 c90f188703 do not call calc_drawing_bbox() on monster schematics as it takes more time than just drawing the viewport 2020-10-18 13:53:58 +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 e7928727d6 all xctx context is now a dynamically allocated structure; no observable performace impact 2020-10-15 17:39:21 +02:00
Stefan Schippers c87f44a441 added "xchem load_symbol" command to load a symbol without binding to any instance, text edit attribute "Load" button will start in "$current_dirname" 2020-10-15 15:37:06 +02:00
Stefan Schippers e82f270f61 replaced @ character with ? for spice netlist node multiplicity tags, so translate() will not try to expand them, do not print erc warnings for "non electrical" symbols (architecture, package, port_attributes, use, etc), print_spice_element() result string will be forwarded to translate() if enclosed within tcleval(...), so all @vars will be expanded. translate() in turn will forward to tcl_hook() if necessary. 2020-10-14 23:15:05 +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 32f85ac4f4 do not force a full hash_wires() on every net insertion; code formatting 2020-10-11 13:08:32 +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
Stefan Schippers 0f61e0fe0f JL fix regression for path resolution on windows, Esc resets manhattan_lines setting 2020-10-07 16:12:33 +02:00