Commit Graph

535 Commits

Author SHA1 Message Date
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
Wayne Stambaugh 979b4a4eb7 Revert "Move schematic symbol instance data back into symbol definition."
This reverts commit 7984e114db.
2022-09-29 15:33:23 -04:00
Wayne Stambaugh a60ed99510 Revert "Add project name to symbol instance data."
This reverts commit 4b276b339a.
2022-09-29 15:33:23 -04:00
Wayne Stambaugh 4b276b339a Add project name to symbol instance data.
This improves the readability of the schematic file format and creates
an opportunity to remove orphaned instance data by project name rather
than cryptic UUIDs.
2022-09-29 17:47:57 +00:00
Wayne Stambaugh 7984e114db 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.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/12472
2022-09-29 17:47:57 +00:00
Jeff Young 10d8db482e Init intersheet refs field pos to local {0,0}, not global {0,0}
Fixes https://gitlab.com/kicad/code/kicad/issues/12517
2022-09-26 21:00:46 +01:00
Ian McInerney 44c2782d39 Fix more for loops making copies of iterates 2022-09-25 00:48:38 +01:00
Jeff Young 45d6b4a9fc Readability improvements. 2022-09-19 11:18:20 +01: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