Commit Graph

546 Commits

Author SHA1 Message Date
Jon Evans 66799b60f8 DbLib: Reconnect if connection is lost 2022-12-22 12:15:04 -05:00
Wayne Stambaugh 84f927d057 Schematic import bug fix.
Check for already loaded schematics in the current sheet path as well
as the current project root sheet path to prevent multiple loads of
shared schematic.  This bug was causing shared sheets to be loaded more
than once which caused instance data to get separated by each copy rather
than saved in one copy of the schematic which would result in all instance
data being lost except the last saved copy of the schematic.  This bug has
been around forever and may be the cause of some unexplained schematic
instance data corruption issues.  This bug does not apply when opening
the full project.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11076
2022-12-15 09:58:39 -05:00
Marek Roszko f1f5fff072 Add cli export of symbols from kicad libraries 2022-12-12 22:44:26 -05:00
jean-pierre charras 96a9ec4a0c Enhance compatibility with V6.0 for Intersheetrefs fields associated to GLOBAL labels.
In V6.0, the identifier is "Intersheet References" and was not immediately
seen as Intersheetrefs field.
2022-12-12 16:38:04 +01:00
jean-pierre charras a57ca559aa sch_field named Intersheetref in global labels: fix incorrect behavior when loading a sch file.
This is a special field, always existing, that cannot be handled like other fields.
Also avoid using translated names when initializing the field name.
Translated names can be used only in UI, not in internal data.
fixes #13113
fixes #13125
2022-12-11 18:56:14 +01:00
Jon Evans 2b94b7df77 DbLibs: Support empty virtual table names
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12902
2022-12-10 16:35:11 -05:00
Jon Evans 966dee6730 A screen must always be generated for a new sheet
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13104
2022-12-10 14:32:24 -05:00
Wayne Stambaugh 945361ca65 Fix schematic editor crash when saving shared schematics.
Shared schematics can have a root sheet instance when opened with the
schematic editor in stand alone mode.  This would cause a crash when
opening the shared schematic in a project where it was shared because
the root instance was trying to be saved in the normal sheet instance
data which is not valid.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13102
2022-12-09 10:02:16 -05:00
Stefan 1fcdd94caf add missing whitespace 2022-12-08 07:36:59 +00:00
Jeff Young b9287968d6 Update symbol default prefixes after updating instance data.
Also moves the sim model fixups after the instance data updating as
it uses the prefixes.
2022-12-07 01:34:56 +00:00
Wayne Stambaugh 5001555f0e Fix crash in Altium schematic importer.
The crash was caused by an unhandled exception. The uncaught exception
caused a cacophony of null configuration setting pointers so guards were
added to prevent crashes should other exceptions occur that do not get
handled correctly.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13046
2022-12-05 20:20:01 -05:00
Jeff Young f50b9799a6 Remove old code that was only needed when we auto-added netclasses...
... to netclass flags.  They're now directive labels and the netclass
field isn't auto-added anymore.  However, we *do* auto-add an intersheet
refs field, and that's required.
2022-12-04 21:06:35 +00:00
Wayne Stambaugh 0a62c17040 Remove schematic symbol value and footprint field instance data.
https://gitlab.com/kicad/code/kicad/-/issues/12933
2022-11-30 11:47:13 -05:00
Marek Roszko 21fed9fc8c Hotglue a symbol upgrade function in cli 2022-11-29 00:00:45 -05:00
jean-pierre charras ef6348606a altium schematic import: convert ports to hierarchical labels instead of global labels 2022-11-28 17:56:46 +01:00
Wayne Stambaugh ef624199cd Fix Altium schematic import bug. 2022-11-27 19:34:46 -05:00
Seth Hillbrand f1556ed801 Prevent mirror of text elements
While we never allow the creation of mirrored text elements in the
schematic and symbol library editors, external generation of symbols may
cause the property to be set, which can then never be changed.  This
leaves the property unset for all elements

Fixes https://gitlab.com/kicad/code/kicad/issues/13007
2022-11-26 10:48:44 -08:00
Wayne Stambaugh a89102fdfc Fix Altium schematic import library symbol bug. 2022-11-25 19:38:13 -05:00
jean-pierre charras 6f438b6cad altium export: add messages about skipped items (IEEE_SYMBOL and PIECHART) 2022-11-25 09:51:13 +01:00
jean-pierre charras a71c669543 Altium importer: try to import elliptical arcs rather to skip them.
Some schematics use elliptical arcs to describe usual arcs.
2022-11-24 19:43:00 +01:00
jean-pierre charras 199743e8b0 altium/sch_altium_plugin: do not initialize unit to -1 for common to units items.
-1 as unit id is illegal and breaks the lib file. So ensure id >= 0
(id = 0 for common to units items)
2022-11-23 14:47:55 +01:00
Wayne Stambaugh f5707eeca7 Fix assertion in schematic copy formatter. 2022-11-22 16:45:38 -05:00
Wayne Stambaugh 4a27d856f7 Move schematic sheet instance information into file sheet definition.
This will make it possible to maintain sheet instance information when
copying and pasting from any sheet other that the root sheet of a
project.

Setting and getting sheet page numbers must now be performed using a
sheet path.  This was done to ensure that the instance paths were not
getting changed unexpectedly from different code paths.
2022-11-22 16:45:38 -05:00
Mike Williams 60d42a7b1e Spelling: fix various suppress misspellings 2022-11-22 13:47:10 -05:00
Wayne Stambaugh 6f90a63381 Fix legacy schematic symbol instance data bug. 2022-11-20 14:57:37 -05:00
Wayne Stambaugh 3c6f1cd0f9 Fix broken legacy schematic file save.
Manual cherry-pick from commit a22c466639.
2022-11-18 03:08:33 -05:00
Wayne Stambaugh db993bc8cc Fix broken Eagle schematic import.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12893
2022-11-17 09:35:10 -05:00
Jon Evans 120dd654ef Apply inherit_properties to built-in fields
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12904
2022-11-15 21:27:43 -05:00
Jon Evans d9d3ccd6eb DbLib: Allow inheriting field properties from source symbol
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12856
2022-11-09 21:24:31 -05:00
Jon Evans dbd498f451 Re-add keyword mapping 2022-11-09 20:50:01 -05:00
Jon Evans c07477b94c Move to explicit symbol properties mapping
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12845
2022-11-08 22:19:08 -05:00
Jon Evans dd94b2d3a7 Rename PROPERTIES to STRING_UTF8_MAP for clarity
This class has nothing to do with the properties system
2022-11-06 11:51:52 -05:00
Wayne Stambaugh e62f764678 Update Eagle schematic importer to handle recent instance data changes. 2022-11-02 08:25:58 -04:00
Wayne Stambaugh 349de90bb0 Fix Altium schematic importer bug(s).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11412
2022-10-31 10:03:35 -04:00
jean-pierre charras 6794b0f4f9 EEschema, arcs in library: fix incorrect data after conversion of some old
libraries to the new arc format using startPoint, midPoint, endPoint.
Now, arc angles are constrained to < 180 deg.
Fixes #12514
https://gitlab.com/kicad/code/kicad/issues/12514
2022-10-25 09:07:30 +02:00
Wayne Stambaugh 85805bdad7 Fix broken legacy file format symbol instance data import. 2022-10-19 12:23:28 -04:00
Wayne Stambaugh 598b09821a Coverity fixes. 2022-10-17 15:30:20 -04:00
Wayne Stambaugh b109136c5c Fix complex hierarchy instance data when loading legacy schematic. 2022-10-15 14:50:06 -04:00
Wayne Stambaugh f782323960 Fix yet another symbol instance issue when loading legacy schematics. 2022-10-15 14:16:03 -04:00
Jeff Young 254dff2813 Add do_not_autoplace to schematic parser and printer.
Fixes https://gitlab.com/kicad/code/kicad/issues/12657
2022-10-15 19:09:25 +01:00
Seth Hillbrand 5c974f8cd0 Don't arbitrarily close tags that are not open
Fixes https://gitlab.com/kicad/code/kicad/issues/12647
2022-10-14 15:30:51 -07:00
Wayne Stambaugh 148467d2a1 Fix schematic symbol rescue issues.
This fix makes some fundamental changes to the way symbols are rescued:

* The new symbol library file format is used when rescuing symbols defined
  in the symbol library table.
* The original library nickname is appended to the symbol name rather than
  the rescue library nickname when rescuing symbol defined in the symbol
  library table.
* Escaping strings has been removed from legacy library rescues since the
  legacy library file format never supported it.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/12525

Fixes https://gitlab.com/kicad/code/kicad/-/issues/12624
2022-10-11 16:18:59 -04:00
jean-pierre charras 8c19bf4815 eeschema: fix arc orientation issue when reading old symbol libs (version 20210619).
Fixes #12514
https://gitlab.com/kicad/code/kicad/issues/12514
2022-10-07 16:57:45 +02:00
Wayne Stambaugh 03d847118a Fix crash when copying symbol in schematic editor.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12574
2022-10-04 17:51:58 -04:00
Wayne Stambaugh a11c40197f Expunge default symbol instance from schematic file format.
Now that importing hierarchical sheets "properly" imports instance data,
the default symbol instance setting doesn't have any meaning.
2022-10-04 15:42:41 -04:00
Seth Hillbrand f5f6d44a48 Correctly increment field IDs
Setting to -1 is no longer valid despite the previous comment as this
will pick out a single non-mandatory field to save

Fixes https://gitlab.com/kicad/code/kicad/issues/12567
2022-10-03 21:50:29 -07:00
Wayne Stambaugh 2b387ae9c3 Move schematic symbol instance data back into symbol definition.
This change reverts the storage of all symbol instance data in the root
schematic.  This was done because it's not possible to reuse instance
data when importing from sub-sheets.

There has been a fundamental change in how sheet paths are store in the
instance data.  The root schematic UUID is always used when saving the
instance data.  To prevent file churn, the virtual root sheet UUID is set
to the root schematic UUID when loading the project.  This provides a way
to determine the project that stored the instance data.  All uses of paths
without root sheet have been expunged from the code.

The sheet instance data is still saved only in the root sheet for the
time being.  New sheet instances will be automatically assigned an page
number based on the incremental virtual sheet page number.  Sheet page
numbers will not be imported.

Added project name to instance data to improve the readability of the
schematic file format.  It also creates an opportunity to remove orphaned
instance data by project name rather than cryptic UUIDs.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/12472
2022-10-02 15:06:42 -04:00
Jeff Young 27296b5043 Quote all bus members when writing to file.
Fixes https://gitlab.com/kicad/code/kicad/issues/12447
2022-10-02 17:43:47 +01:00
Seth Hillbrand 93239516d9 Remove ID from property fields
ID was not maintained or used other than to ensure unique fields.
Instead of saving, we assign the known IDs to specific field names and
sequentially create new IDs on load

Fixes https://gitlab.com/kicad/code/kicad/issues/12390
2022-09-30 17:19:53 -07:00
Jeff Young c0a666507c Work around more instances of the wxWidgets color string locale bug.
Fixes https://gitlab.com/kicad/code/kicad/issues/12552
2022-09-30 20:56:25 +01:00