Commit Graph

8653 Commits

Author SHA1 Message Date
jean-pierre charras bbaf5a21c2 Eeschema: fix a plot issue with arcs.
Arcs are really error prone, due to different Y axis orientation, and geometry transforms.
Probably we should remove plot and print functions using arc angles as parameters
that are a can of worms.
Fixes #12465
https://gitlab.com/kicad/code/kicad/issues/12465
2022-09-20 16:04:17 +02:00
Mikolaj Wielgus 2bf6791352 Sim: Move SIM_LIBRARY_SPICE parsing facilities to a new class
This leaves SIM_LIBRARY_SPICE very small, but it will grow larger later.
2022-09-20 08:17:51 +02:00
Jeff Young 30a4d3d2de Coverity fixes. 2022-09-20 00:19:15 +01:00
Seth Hillbrand 4b20eb9cb0 Remove debugging code 2022-09-19 15:25:06 -07:00
Seth Hillbrand e0f7c3b057 Properly handle non-connected labels in ERC
All labels need to be attached to a net that has at least 2 pins in
order for this to be a valid net.  To check for the existing pins, we
need to interate over all subgraphs in the net, counting pins
2022-09-19 15:18:32 -07:00
Jeff Young 64a6fc0fd4 Push UNITS_PROVIDER down into a low-level mixin.
This allows us to also construct cheap UNIT_PROVIDERs for specific
tasks when necessary.
2022-09-19 17:10:59 +01:00
jean-pierre charras 5990595619 When adding a bitmap, do not clone it during moving.
Cloning is not necessary, and is memory consuming.
2022-09-19 17:41:47 +02:00
Mike Williams 9304607624 TOOL_EVENT: make command string non-optional
We're getting segfaults in places where this isn't checked. Also, add
some asserts so we can catch bad tool push/pop.

Removes all uses of GetCommandStr() and makes it private.
2022-09-19 10:23:09 -04:00
Jeff Young 45d6b4a9fc Readability improvements. 2022-09-19 11:18:20 +01:00
Mikolaj Wielgus 8599323dce Sim: Move Spice model parsing to a separate class hierarchy
Roughly analogous to the SPICE_GENERATOR hierarchy.
2022-09-19 07:24:46 +02:00
Mikolaj Wielgus 0efc1149af Sim: Create a common base class for models sourced from Spice libs 2022-09-18 21:25:28 +02:00
Marek Roszko 63295cfb9e Remove unused vars 2022-09-18 08:49:07 -04:00
Mikolaj Wielgus 3b94624e90 Commit forgotten files
I must stop forgetting to commit new and renamed files.
2022-09-18 07:27:47 +02:00
Mikolaj Wielgus a8d7a845b6 Sim: Rename SIM_MODEL_SPICE to SIM_MODEL_RAW_SPICE 2022-09-18 07:25:56 +02:00
Mikolaj Wielgus 4128a5533f Sim LTspice compat: Ignore mfg, icrating, vceo, type params 2022-09-18 04:14:57 +02:00
Mikolaj Wielgus dcb3f16fbc Sim: Don't use long type in SIM_VALUE 2022-09-18 02:25:40 +02:00
Jeff Young e6c8cf0f03 Don't escape spaces in bus groups and transfer hyperlinks.
Fixes https://gitlab.com/kicad/code/kicad/issues/12451

Fixes https://gitlab.com/kicad/code/kicad/issues/12452
2022-09-17 20:56:50 +01:00
Mikolaj Wielgus 15b5b48992 Sim: More descriptive parsing errors in all Spice parsers
In my previous commit, which changed Spice parsing errors to be more
descriptive, I forgot to apply this to all invocations of the Spice
parser. This commit corrects that.
2022-09-17 08:46:45 +02:00
Mikolaj Wielgus 5fa0a1a064 Sim: Output more descriptive parsing errors 2022-09-17 08:29:18 +02:00
Marek Roszko 5f85c3b8b9 Fix everything loading DNP 2022-09-17 00:21:05 -04:00
Marek Roszko ece23d434b Split up Double2Str to a format function to make its use case clear 2022-09-17 00:10:22 -04:00
Marek Roszko 3d5913c825 Remove convert_to_biu.h, merge contents to base_units.h 2022-09-16 21:09:28 -04:00
Marek Roszko 66e8931405 Remove IU_PER_MM thats standalone 2022-09-16 21:09:27 -04:00
Marek Roszko 7a5829f8d6 Move IU2Mils 2022-09-16 21:09:27 -04:00
Marek Roszko 61e11d6896 Strip out Mils2Iu 2022-09-16 21:09:27 -04:00
Marek Roszko e6ed275c25 Repoint IU_PER_MILS 2022-09-16 21:09:26 -04:00
Marek Roszko a8613ee80f Combine Iu2Millimeter & remove PcbMm2iu 2022-09-16 21:09:26 -04:00
Seth Hillbrand e0a6ff3f14 Don't hold on to the background print color option
When printing b/w we need to set the print background to off otherwise
we can inadvertently get backgrounds printing
2022-09-16 17:23:06 -07:00
Mikolaj Wielgus d48ec3aa8c Sim: Slightly simplify grammars 2022-09-17 02:18:23 +02:00
Seth Hillbrand 524b129c64 ADDED: Support for explicit DNP field
Dims elements shown as DNP.  Adds property `dnp` to explicitly denote
parts that should not be populated. These parts are not included in X/Y
files
2022-09-16 22:26:16 +00:00
Jeff Young 2aa8facacd Reconcile SPIN_STYLE and text alignment/rotation controls.
Fixes https://gitlab.com/kicad/code/kicad/issues/12443
2022-09-16 20:01:18 +01:00
Jeff Young 907cafef6d Update font size before querying properties dependent on it (like the text margin).
Fixes https://gitlab.com/kicad/code/kicad/issues/12444
2022-09-16 18:57:12 +01:00
jean-pierre charras dd1abcbee9 Fix a UTF8 convert issue in some BOM python scripts.
Fixes #12435
https://gitlab.com/kicad/code/kicad/issues/12435
2022-09-16 10:25:51 +02:00
Mikolaj Wielgus 545212eb13 Sim Window: Support dark theme 2022-09-16 06:57:27 +02:00
Mark Roszko b00178adb3 Nuke base_units from orbit 2022-09-16 04:38:10 +00:00
Mikolaj Wielgus 4ae2225b6d Sim: Replace all wxStrings with std::strings in SIM_VALUE 2022-09-16 06:11:14 +02:00
Mikolaj Wielgus d19b2dbfe4 Sim Model Editor: Display error when failing to set parameter 2022-09-16 05:44:23 +02:00
Mikolaj Wielgus ce3fe46751 Sim Window: Display latest netlist without having to run sim
Fixes https://gitlab.com/kicad/code/kicad/issues/11787
2022-09-16 03:12:28 +02:00
Jeff Young 1e64db779c Fix some issues in ERC error messages.
1) use consistent punctuation
2) make sure all are translated

Fixes https://gitlab.com/kicad/code/kicad/issues/12432
2022-09-15 23:43:46 +01:00
jean-pierre charras 8a0384e2f6 crossprobing pcb->schematic: handle correctly empty sheets.
(filtering selection candidates was not made for empty sheets)
Fixes #12427
https://gitlab.com/kicad/code/kicad/issues/12427
2022-09-15 17:52:57 +02:00
Wayne Stambaugh aeb4021854 Add missing symbol library file format version change.
This was back dated to the original merge date.  See merge request #1302.
2022-09-15 10:54:34 -04:00
jean-pierre charras fb793d9a62 Recreate panel_eeschema_editing_options_base.cpp: there were strange tooltips.
Looks like the file was edited by hand.
2022-09-15 16:13:51 +02:00
Jeff Young a21d24a4c8 Experiment with loading recent searches into the search menu.
Fixes https://gitlab.com/kicad/code/kicad/issues/11743
2022-09-15 14:44:02 +01:00
jean-pierre charras 83fb06ff75 Fix compil and Coverity warnings. 2022-09-15 10:50:14 +02:00
Mikolaj Wielgus 907ad27e7f Sim: Move SPICE_GENERATOR class to a new file 2022-09-15 05:26:23 +02:00
Jon Evans da9be1a812 ADDED: Multi-selection cut/copy/paste in symbol editor library tree
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11505
2022-09-14 22:20:38 -04:00
lulu731 0180bcf90a ADDED: Implement Drag and Drop
dropping files to Kicad manager :
  *.kicad_pro, *.pro -> open project;
  gerber and job files -> open in Gerbview editor;
  Eagle and Cadstar files -> open project.
dropping file to schematic editor -> append schematic;
dropping library file to Symbol editor -> add library;
dropping board file to PCB editor -> append board;
dropping library or footprint file to Footprint editor -> add library or import footprint;
dropping ZIP file or gerber files to Gerbview editor -> open files;
dropping sheet file to Drawing Sheet editor -> open sheet.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11638
2022-09-14 22:28:09 +00:00
kliment b97f9ea329 Add support for symbol unit display names in eeschema and symbol editor 2022-09-14 22:11:37 +00:00
Mikolaj Wielgus e4c5bc6c66 Sim: Refactor Spice code generation to a new SPICE_GENERATOR class 2022-09-14 09:36:49 +02:00
Marek Roszko e473e71ef8 Restore the original lib property file indentation 2022-09-13 23:39:35 -04:00
Mikolaj Wielgus ba723d36c9 Sim: Don't generate .model line when there's no instance param overrides 2022-09-14 03:16:53 +02:00
aris-kimi 7cc14100fe Modify some sizers in Preferences, Symbol Editor
Display and Editing Options

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11721
2022-09-13 22:05:32 +03:00
Jeff Young ef05069ebc ADDED 2 new vars: EXCLUDE_FROM_BOM and EXCLUDE_FROM_BOARD. 2022-09-13 13:47:24 +01:00
Jeff Young d3d5d0f46e Distinguish between user added fields and those found in symbols.
Fixes https://gitlab.com/kicad/code/kicad/issues/11511

Fixes https://gitlab.com/kicad/code/kicad/issues/8999
2022-09-12 23:39:33 +01:00
Seth Hillbrand 60374daa49 Fix ERC global label unit tests
Need to test all units in the subgraph as there are chances that the
subgraph might have more than one label, which needs to be consistently
handled
2022-09-12 13:16:45 -07:00
Mike Williams 9cda5e200c Hotkeys: Swap on Shift S and revert old actions back to S 2022-09-12 14:18:54 -04:00
Mike Williams 37d2addf0e Icons: add swap 2022-09-12 11:11:49 -04:00
Mike Williams f70e1d0f22 SCH/PCB: Set Swap hotkey to 'S'
* Move Add Sheet to Shift+S in Schematic Editor
* Move Set Grid Origin to Shift+S in PCB Editor
2022-09-12 11:11:49 -04:00
Mike Williams 926f979ebc Schematic: Add swap action 2022-09-12 11:11:49 -04:00
Mikolaj Wielgus 0e0d1a34f5 Sim: Spice grammar fixes
- Fix parsing .model lines with model names containingnon-alphanumeric
  characters like - and _,
- Fix parsing libraries in which EOF is not preceded by a newline.

Fixes https://gitlab.com/kicad/code/kicad/issues/12394
2022-09-12 04:05:17 +02:00
Jeff Young 45fb0107a0 Copy field properly.
Offset for new parent, and set parent property.

Fixes https://gitlab.com/kicad/code/kicad/issues/12376
2022-09-11 23:16:34 +01:00
Jeff Young fb48bef49f Formatting. 2022-09-11 23:13:37 +01:00
Jeff Young 536561f7b3 Move bus aliases to std::set.
This is mostly to output the aliases sorted (for ease of VCS integration),
but also because a btree will be faster than hashing on a small dataset.

Fixes https://gitlab.com/kicad/code/kicad/issues/11890
2022-09-11 19:48:08 +01:00
Mikolaj Wielgus e56635a02b Sim: Add mutual inductor model 2022-09-11 19:23:01 +02:00
Jon Evans 371985b3e2 Autoplace fields if enabled after changing symbol 2022-09-11 10:11:25 -04:00
Mikolaj Wielgus 91358dfcac Sim Model Editor: Fix Enable/Disable of parameters
Only SIM_STRING_PROPERTY-based parameters were updated.
2022-09-11 15:24:16 +02:00
WhiteChairFromIkea 50716ed8f2 Simplify "Remove fields" 2022-09-11 12:28:53 +00:00
Jeff Young 5d468ca759 Use MESSAGE_TYPE::OUTDATED_SAVE for read-only infobar messages as well.
Fixes https://gitlab.com/kicad/code/kicad/issues/12252
2022-09-10 21:27:10 +01:00
Jeff Young eb70934457 Fix type in SelectConnection.
Fixes https://gitlab.com/kicad/code/kicad/issues/12341
2022-09-10 20:56:35 +01:00
Jeff Young bb0bd29715 Improve tooltips.
Fixes https://gitlab.com/kicad/code/kicad/issues/10843
2022-09-10 19:04:38 +01:00
Jeff Young 83615de81f Move FILL_WITH_COLOR from background to device layer.
Fixes https://gitlab.com/kicad/code/kicad/issues/12393
2022-09-10 10:27:49 +01:00
Jeff Young fdc00ed22d Fix uninitialized variable. 2022-09-10 10:25:52 +01:00
Jeff Young bcaca947b9 Don't display busy cursor over remap symbols dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/11648
2022-09-10 09:31:27 +01:00
Jeff Young f87bf3c46d Special case up-key so it can get past headers in paged dialogs.
Fixes https://gitlab.com/kicad/code/kicad/issues/10078
2022-09-10 09:31:27 +01:00
Mikolaj Wielgus 1b7ff376b0 Sim: Simplify generated .model cards
One parameter per line instead of wrapping after a certain line width.
Consistent with the formatting in the recently added generation of
.subckt cards from the schematic.
2022-09-10 02:45:48 +02:00
Seth Hillbrand 05cdf915d0 Show ERC errors when any label only has 1 pin
To be connected, the label must have at least two pins on a subgraph
(or, in the case of a hierarchical label, two pins somewhere in its
connection)

Fixes https://gitlab.com/kicad/code/kicad/issues/7203
2022-09-09 17:21:57 -07:00
Seth Hillbrand 16479277cc Catch connection errors when stacked pins have NC flags
Don't flag the error as having a connected net with an NC flag.  Stacked
pins are not connected in that sense, so are allowed an NC flag
2022-09-09 17:21:57 -07:00
Seth Hillbrand f2e3329617 Add ERC QA tests 2022-09-09 17:21:57 -07:00
Seth Hillbrand 09ef7c8f1e Add RPT_SEVERITY_DEBUG for developer-type messages
Move a bunch of importer messages out of the user-visible space as they
are not information that the average user can act on.
2022-09-09 17:21:47 -07:00
Jeff Young 59f546ced0 Allow recursion up the sheet hierarchy for text variable resolution.
Fixes https://gitlab.com/kicad/code/kicad/issues/11953
2022-09-10 00:04:20 +01:00
Mikolaj Wielgus 4f5998ee6b Spice Model Exporter: Export port directions as comments
Also fix missing subcircuit name.

Fixes https://gitlab.com/kicad/code/kicad/issues/11813
2022-09-09 23:49:17 +02:00
jean-pierre charras aeb7447102 Fix a compil issue on wxWidgets version < 3.1.6
wxSpinCtrl::SetIncrement() exists only in version >= 3.1.6
2022-09-09 20:14:38 +02:00
Wayne Stambaugh 26e7261b20 Eeschema: fix schematic symbol library cache refresh bug.
Please note that this changes the LIB_PIN object name comparison from case
insensitive to case sensitive.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/12342
2022-09-09 13:30:34 -04:00
Jeff Young b2a29e08a4 Improve repeat-last-item to handle unfold-from-bus.
Fixes https://gitlab.com/kicad/code/kicad/issues/12018
2022-09-09 18:09:09 +01:00
Jeff Young 4973816f90 Fix errant format specifier. 2022-09-09 18:09:09 +01:00
Jeff Young 6507a4165e Work around odd issue with wxWidgets initializing control wrong. 2022-09-09 18:09:09 +01:00
Mikolaj Wielgus 0184875d26 Commit missing files 2022-09-09 18:14:33 +02:00
Mikolaj Wielgus 300a1c4144 Add a new schematic exporter to Spice .subckt model
An option to use the current sheet as root is added to both the original
and new (.subckt model) exporters.
2022-09-09 16:18:48 +02:00
Jeff Young f2abf0832a Filter pins by unit.
Fixes https://gitlab.com/kicad/code/kicad/issues/12076
2022-09-09 13:41:13 +01:00
Jeff Young f179754118 Implement add-new-on-return for some of our grids.
Fixes https://gitlab.com/kicad/code/kicad/issues/12335
2022-09-09 13:41:13 +01:00
Jeff Young d030f03844 Don't allow a SaveAs to overwrite the root sheet.
Also prevents EESchema from loading sheets which recurse.

Fixes https://gitlab.com/kicad/code/kicad/issues/10872
2022-09-08 23:43:07 +01:00
WhiteChairFromIkea 758ba5ab18 Altium sch: Import circle-like ellipses as circles for now 2022-09-08 16:55:32 +00:00
jean-pierre charras 2033d9a6c5 SCH_LABEL_BASE::ResolveTextVar(): Protect against null pointer
It can happen in QA tests.
2022-09-08 17:12:32 +02:00
Jeff Young 9bed145475 Allow the current sheet a chance to resolve text variables.
Fixes https://gitlab.com/kicad/code/kicad/issues/8692
2022-09-08 14:10:18 +01:00
Marek Roszko 9f522e1343 Forgot to actually change the fmt specifiers... 2022-09-08 07:17:58 -04:00
WhiteChairFromIkea 77046e9506 Add "Open file after plot" to Plot dialog 2022-09-08 11:11:20 +00:00
Marek Roszko 5b96736059 LOCALE_IO is expensive to hammer, use fmt
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12377
2022-09-08 07:04:45 -04:00
Jeff Young 6f5281258e Separate text-thickness clamping into strict and lenient modes.
We used to use the bold setting, but since PCBNew allows you to
directly define the width you end up with settings in between normal
and bold that get clamped to the normal max.

Fixes https://gitlab.com/kicad/code/kicad/issues/12367
2022-09-08 00:28:30 +01:00
Jeff Young b874aaac5e Add display options to Symbol Browser toolbar.
Particularly important on Mac where the menubar is disabled when the
frame is used in modal mode.

Also adds a display control to override the symbol's show pin numbers
setting.

Fixes https://gitlab.com/kicad/code/kicad/issues/7789
2022-09-08 00:28:30 +01:00
Jeff Young f4de7bfc48 Improve dialog layout. 2022-09-08 00:28:30 +01:00