Commit Graph

764 Commits

Author SHA1 Message Date
Marek Roszko 8c6899b0d3 Tear out the eeschema conditional compile of PROJECT 2023-09-27 23:05:30 -04:00
afkiwers c97db9b6c4 fixed for field duplication
This removes case-sensitivity when mapping.
2023-09-27 18:12:39 +00:00
Marek Roszko 37e8a008ab Remove obsolete config_params.h includes 2023-09-25 20:40:29 -04:00
jean-pierre charras 938001250d SCH_SEXPR_PARSER: fix missing init of pixels size in internal units.
(the pixel size was the default for 300PPI, so the bounding box was incorrect
for images not using 300 PPI)
Avoid also magic numbers in SCH_BITMAP code.
2023-09-25 12:06:23 +02:00
Andre Iwers f2fdf0f3df httplib: add support for exclude attributes
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15720
2023-09-24 13:37:01 +00:00
Jon Evans 1635df57a3 httplib: code style fixes 2023-09-18 21:37:34 -04:00
Jon Evans 8f6ae8c6b3 httplib: code style / spelling fixes 2023-09-18 21:27:39 -04:00
Andre Iwers 2bcad18cc2 ADDED: HTTP library support
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12027
2023-09-19 01:09:21 +00:00
jean-pierre charras a568e4f4d3 Fiw a few compil and Coverity warnings. 2023-09-18 18:15:02 +02:00
Alex Shvartzkop ff49d5ada9 Fix ambiguous overloads on wx 3.3 2023-09-14 19:05:46 +03:00
Jeff Young a63025733a Fix symbol sorting routine to be determinant. 2023-09-12 16:52:47 +01:00
Alex Shvartzkop a2b7bf97b9 Altium schematic: support Line dash styles and colors. 2023-09-11 17:52:21 +03:00
Alex Shvartzkop 1e02c6aa71 Altium schematic: WORDWRAP is false when missing. 2023-09-11 14:18:15 +03:00
Alex Shvartzkop 16062bbe33 Altium schematic: support custom sheet sizes. 2023-09-11 10:02:59 +03:00
Alex Shvartzkop de2b645fc8 Altium schematic: hide power symbol pin. 2023-09-11 10:02:43 +03:00
Alex Shvartzkop c96b7bb472 Altium import: set units for LIB_TEXTBOX.
Still doesn't work on symbols in schematic for some reason.
2023-09-09 20:30:13 +03:00
Alex Shvartzkop cd9fcc1b87 Altium import: fix arcs in library symbols. 2023-09-09 20:30:05 +03:00
Alex Shvartzkop 946f6e978c Altium sch import: put transparent colors on background too. 2023-09-09 20:30:02 +03:00
Marek Roszko 11de95778b Unwrap the FROM_UTF8 macro in favor of direct function
The extern just gets annoying to try to export the func later. We also yeet TO_UTF8 to string_utils.h for parity.
2023-09-09 00:10:57 -04:00
Marek Roszko 3cd60007c5 Dont leak richio into everything 2023-09-07 22:29:40 -04:00
jean-pierre charras 8aa408f0c9 fix a minor compil warning
fix a typo in translatable string.
2023-09-07 20:00:29 +02:00
Jeff Young a9bfadd71a Fix merge error. 2023-09-07 18:00:04 +01:00
Jeff Young 0310973e3f Push TEXT_SPIN_STYLE from SCH_TEXT out to SCH_LABEL_BASE.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15444
2023-09-07 17:42:51 +01:00
Seth Hillbrand 3723e9efc1 Remove unused var 2023-09-07 15:35:17 +02:00
Alex Shvartzkop 21ee65aa9c ADDED: Importers for EasyEDA (JLCEDA) Standard / Professional. 2023-09-07 11:02:40 +03:00
jean-pierre charras ecd8c7e2cc Fix a compil issue (in sch_altium_plugin.cpp) and compil warnings. 2023-09-07 08:53:30 +02:00
Marek Roszko 8bcc4e52aa Fix build due to gdicmn removal
My VS build state is in psuedo-outerspace mode atm that this worked before this haha
2023-09-06 18:40:15 -04:00
Marek Roszko a4d8c021aa Remove rouge gdicmn include 2023-09-06 18:33:22 -04:00
Seth Hillbrand 08ffb17489 Only allow parameters for the full lib part in Altium 2023-09-06 19:15:35 +00:00
Seth Hillbrand 25a60fac54 Altium fixes
- Designators and Parameters are shared by all display modes, so don't
  try to extract one, just place the elements on them all
2023-09-06 19:15:35 +00:00
Seth Hillbrand 468beb5a05 Handle font sizes in Altium libs 2023-09-06 19:15:35 +00:00
Seth Hillbrand 893ebdd016 Adding additional Altium features
- Allow pins to be hidden
- Force backgrounds that overlap items to be in the background
- Include footprint information from Altium libraries
- Handle ellipses more intelligently
- Altium hairline treated as 1mil line (not 100nm)
2023-09-06 19:15:35 +00:00
Seth Hillbrand c7868f0832 Altium Plugin updates
Handle Altium multiple display modes (e.g. DeMorgan)
Handle Altium overbar format (o\v\e\r\b\a\r\)
Transform ellipses and elliptical arcs into approximate arcs
Add remaining unknown RECORD ids
2023-09-06 19:15:35 +00:00
Seth Hillbrand 3bd745ee15 Add support for Altium ellipses
Not really ellipses but instead, use two arcs to simulate
2023-09-06 19:15:35 +00:00
Seth Hillbrand 24d3df5416 ADDED: Altium SchLib Support 2023-09-06 19:15:35 +00:00
Seth Hillbrand f9b745f3d2 Allow multiple format image saving
- Keep original image data.  When loading JPEG, this avoid recompression
  that changes file data and decreases image quality
- Allow schematic and page layout editors to store non-PNG data as well
- Move page layout editor to store base64 instead of hex-coded data
2023-09-06 12:12:32 -07:00
Jeff Young c2057ba1bc Don't use Clone() for duplicating. It returns the same UUID.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14162
2023-09-03 19:06:20 +01:00
Wayne Stambaugh f8cb239f40 Fix symbol library save issue.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15561
2023-09-03 09:11:06 -04:00
Alex Shvartzkop e128896ba6 Schematic plugins refactoring, fixes for PCB plugins.
- Move PLUGIN_FILE_DESC to common.
- SCH_PLUGIN: rename Load -> LoadSchematicFile, Save -> SaveSchematicFile.
- Use PLUGIN_FILE_DESC and CanRead* in schematic plugins.
- Return none/unknown types from Find/GuessPluginType functions.
- Iterate over file types for file wildcards.
- Clean-up header checking in IO plugins.
- Use PCB plugin list in IO_MGR::GuessPluginTypeFromLibPath.
2023-08-31 05:08:03 +03:00
Jeff Young 86f96d544b {slash}-to-/ comparison special-cases need to run both ways.
(The library may be legacy format, or the document may be.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15540
2023-08-29 18:29:49 +01:00
Roberto Fernandez Bautista 18e6fa6a53 Fix nullptr exception in cadstar sch plugin
Fixes KICAD-30E
2023-08-28 20:49:42 +02:00
jean-pierre charras f4bf3bf611 Do not use the deprecated wxWidgets wxPATH_NORM_ALL flag.
Replaced by our equivalent FN_NORMALIZE_FLAGS flag.
Fix also a typo in a string.
2023-08-28 14:37:15 +02:00
Roberto Fernandez Bautista 0e1baa6fef CADSTAR Parts Libraries: Correctly handle relative paths to .csa file 2023-08-27 20:52:46 +02:00
jean-pierre charras 15f5a14217 Fix minor compil warnings 2023-08-27 11:11:08 +02:00
Wayne Stambaugh 1026596964 Allow symbols to be derived from other derived symbols.
[CHANGED] Symbols can now be derived from other derived symbols removing
          the requirement to derive from root symbols.
2023-08-24 07:59:32 -04:00
Jon Evans e118d2fca0 DbLib: Map multiple footprints to footprint filter list
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13587
2023-08-23 19:16:49 -04:00
Marek Roszko 93fa3a17aa Remove plotter.h from one file 2023-08-19 19:01:29 -04:00
Alex Shvartzkop 9b2ac10002 LTspice spelling. 2023-08-10 00:31:21 +03:00
Mike Williams bdecdce1b4 Exclude from Sim: move from field to attribute 2023-08-08 12:36:36 -04:00
Alex Shvartzkop 717ee350c8 Support >180 deg arcs in schematic. 2023-08-07 14:18:38 +03:00
jean-pierre charras 3a82374719 sim/sim_model: fix an annoying issue when adding new fields: their ID was
set in undefined, that create an issue (the canonical name was returned as
"Field-1", breaking the schematic file).
Now, new field IDs are not set to -1, and the saved file uses the field name
(if exist) when saving fields with undefined ID.
2023-08-01 13:37:53 +02:00
Jon Evans 148e111579 Refactor pin orientation to be an enum class
Add various LIB_PIN properties
2023-07-26 23:46:15 -04:00
jean-pierre charras a16ab0aae1 Replace SHAPE_T::RECT by SHAPE_T::RECTANGLE: RECT creates a collision name
issue with a Windows header on msys2.
Change very similar to the commit 9a47b344 about class PAD_SHAPE.
No actual code change
2023-07-25 09:11:55 +02:00
Roberto Fernandez Bautista cf0b719a4a Fix some unreachable code msvc warnings 2023-07-16 15:41:05 +02:00
Alex Shvartzkop 89a9eee174 LTspice import: fix Mac path variable shadowing. 2023-07-12 18:07:26 +05:00
Alex Shvartzkop f8f7b84f13 LTspice import: add LTspice 17.1 Windows library path. 2023-07-12 10:57:30 +05:00
Alex Shvartzkop c652abecff LTspice import: don't scan input file directory recursively. 2023-07-12 09:58:51 +05:00
Alex Shvartzkop 2266ba78c5 LTspice import: much faster library path scanning. 2023-07-12 08:38:18 +05:00
Alex Shvartzkop 32fdb231b2 LTspice import: fill symbol rectangles with body color when needed. 2023-07-12 08:38:18 +05:00
Alex Shvartzkop 568a461080 LTspice import: Fix multiline text alignment. 2023-07-12 08:38:18 +05:00
Alex Shvartzkop 0bc546fa62 LTspice import: fixes for graphical items. 2023-07-11 16:03:29 +05:00
Alex Shvartzkop a5ba9ccce2 LTspice import: don't try loading .asc files for non-subsheets.
Subsheets don't have "Prefix" attribute, components do.
2023-07-11 16:03:29 +05:00
Alex Shvartzkop ef1a2ff050 LTspice import: text and pin justification, polarity fixes. 2023-07-11 13:00:43 +05:00
Alex Shvartzkop e80e4ff410 LTspice import: hide pin names with None justification, hide pin numbers 2023-07-11 12:57:56 +05:00
Alex Shvartzkop b957c1ad17 LTspice import: Support VCenter text justification 2023-07-11 04:09:16 +05:00
Alex Shvartzkop 1e149704b8 LTspice import: Fix M270 symbol orientation. 2023-07-11 04:09:16 +05:00
Jeff Young 3ba7e7e993 A few baby steps in trying to straighten out LTSPICE_SCHEMATIC::Load(). 2023-07-10 11:34:06 +01:00
Jeff Young 229dcde948 Fix a memory leak.
There are likely *many* more in this routine, but I can't quite
understand what it's trying to do.
2023-07-10 11:34:06 +01:00
Roberto Fernandez Bautista dfe7051171 LTspice importer fixes
- Correctly find the library paths for new and old LTspice versions
- Use case insensitive comparison (store element names as lower case in the map)
- Better search paths
- Allow user to copy contents of LTspice "lib" folder to the same folder as file being imported

Partially addresses https://gitlab.com/kicad/code/kicad/-/issues/15061
2023-07-09 22:53:23 +02:00
Roberto Fernandez Bautista 6539171459 LTspice importer - remove dead code 2023-07-09 22:51:21 +02:00
Alex Shvartzkop 37772ac29e Altium schematic: import net label justification. 2023-07-04 10:27:46 +03:00
Marek Roszko b5e420c33c Fix EDA_TEXT creation that worked due to implicit cast
A leftover from the units object rework and I forgot to double back. The DEFAULT_SIZE_TEXT is set inside the constructor now
2023-07-03 11:23:30 -04:00
Jeff Young aa8dbc03a2 Error reporting for missing ltspice symbol (.asy) files. 2023-06-26 21:59:57 +01:00
Jeff Young 4f52c69724 Better path handling for importing LTspice files. 2023-06-26 20:51:16 +01:00
Jon Evans d4b7144448 Properties: expose symbol attributes
Flip polarity of exclude-from-BOM and -board for symbols
to match that of footprints and match the GUI display.
2023-06-24 22:03:06 -04:00
Jon Evans bf2e9f8261 Properties for SCH_LINE
Also rename an incongruous setter
2023-06-24 20:08:42 -04:00
Jon Evans 39a5929f33 Database libraries performance improvements
Rework caching system and optimize queries
2023-06-22 18:49:37 -04:00
Mike Williams 043ed0b148 Schematic: fix up more field ID parsing to fix QA 2023-06-21 10:51:28 -04:00
Mike Williams 5b4ddaba89 Schematic: fix field parsing when some mandatory fields are missing 2023-06-20 22:05:03 -04:00
Mike Williams 85f889bc19 Fields: Description now mandatory
Propagate from symbols to footprints, footprints keep a library
description, too. (GetLibDescription())
2023-06-20 18:34:52 +00:00
Ian McInerney 4761815f36 Fix reversed arguments in ltspice importer 2023-06-15 23:01:39 +01:00
Ian McInerney d96580c651 Properly handle improper symbols when pasting in symbol editor
Before, an improper symbol (one without the starting toekn) weren't
detected and reported to the user properly and would instead assert. Now
properly detect these and pass the error up the stack to the tool.

(Sentry issue KICAD-21J).
2023-06-12 23:14:56 +01:00
Jeff Young 96073402ce Don't accidentally add NULL ptrs to the LibSymbols cache.
Operator[] will add a blank element if it isn't found in the map.

Probably Sentry KICAD-23Y.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14927
2023-06-11 15:50:24 +01:00
Wayne Stambaugh bdee545841 Coverity warning fixes. 2023-06-03 07:28:17 -04:00
Roberto Fernandez Bautista 8493cc4c89 CADSTAR SCH LIB: Add plugin options + improve symbol caching 2023-05-28 23:56:42 +02:00
Marek Roszko ded099c07d Unreachable code warning 2023-05-20 08:08:22 -04:00
jean-pierre charras 3be8bfe193 Fix a few Coverity warnings (not initialized vars) 2023-05-14 10:11:38 +02:00
jean-pierre charras 31d613c746 Fix a few Coverity warnings (not initialized vars)
It also fixes a potential crash when closing Kicad.
2023-05-10 09:21:39 +02:00
Jon Evans 7a7a23c83a Fix crash when database lib config is not valid 2023-05-07 09:06:37 -04:00
Jeff Young 8fe02ee83c Handle Eagle user-defined attributes.
(We map these to text variables.)

Fixes https://gitlab.com/kicad/code/kicad/issues/13798
2023-05-06 21:10:34 +01:00
Jeff Young b41d446f58 Fix a bunch more issues with sheetpaths and allowExtraText.
A sheetpath is required to correctly resolve text variables.
Depending on currentSheet is rife with bugs.

There are many places where we do *not* want to be prepending
field names to the field values, such as netlisting,
building PDF hypertext menus, etc.

Also, Find/Replace needs to work on unresolved text, as
that's what we're going to display (and if replace nuked
your variable references you wouldn't be happy).
2023-05-05 17:23:52 +01:00
Jeff Young df7d62fdd3 Added a sort-order dropdown to lib-tree filters.
Also simplifies the scoring algorithm so that it only
differentiates between exact-match, match-at-start and
any-match.  The rest of the position-based matching
stuff is gone, as is the knowledge of the name vs the
keywords vs the description.  All that is left to the
provider of the weighted search terms array.
2023-05-01 21:26:43 +01:00
Jon Evans dc847db19d Add initial support for database library settings UI
For now, just for diagnostic purposes (settings changes are not preserved)
2023-04-29 18:15:00 -04:00
Jeff Young be657d947c Import pin-names from LTSPice models. 2023-04-28 12:52:37 +01:00
Jeff Young 9d2824ec5e Pass correct sheetpath to SCH_SYMBOL(). 2023-04-26 17:25:27 +01:00
Jeff Young dd6e3c0432 Finish two-step rename of ltspice folder.
(CLion didn't want to do a capitalization-only change in a
single step.)
2023-04-25 15:27:46 +01:00
Jeff Young 744dec65d7 Add (limited) support for LTSpice DATAFLAGs.
Even though we can't evaluate the expressions, we should at
least show the text so users can decide what to do with them.
2023-04-25 15:27:46 +01:00
Jeff Young 69500bfcaa LTSpice schematic import based on the work of Chetan Shinde. 2023-04-24 13:52:52 +01:00
Seth Hillbrand 7eb728ca12 Don't consider saving SCH_MARKERs
These are ephemeral, view-only elements, so don't include them in our
save map

Fixes https://gitlab.com/kicad/code/kicad/issues/11405
2023-04-19 17:00:50 -07:00
Jeff Young b74d964bff Handle legacy libraries with escaped symbol names.
Fixes https://gitlab.com/kicad/code/kicad/issues/14057
2023-04-15 17:47:32 +01:00