Eeschema shows background fills on a different z-level than the rest of
the symbols/elements. Print the backgrounds prior to the foregrounds in
order to preserve this view for print output
Fixes https://gitlab.com/kicad/code/kicad/issues/12559
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
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
It was removed by accident in commit c72091d7e.
without the filtering pins, in symbols with conversion, pins are added
twice in Pin list and create errors in ERC
Pass the current SCHEMATIC object pointer in SCH_SYMBOL ctor so that
newly created symbols will update the current instance data on creation
when the current sheet instance is being displayed.
This is a better fix for the master branch and cherry-picking from 6.0
was a mess.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12190
Allows placing parts from an external database that reference symbols from another loaded library.
Includes:
- nanodbc wrapper
- database schematic library plugin
- basic tests
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7436
This change removes the incorrect assumption that symbol pin numbers are
integers and are the same as indexes in the vector storing the symbol
pins.
"~" is now used to denote a floating sim model pin.
The commit bumps the schematic file format version in order to fix the
initial symbol default instance data to the first instance of each symbol.
It also sets the initial instance data to undefined in the SCH_SYMBOL
ctor so on the first schematic save, the default instance will be set
to the first instance of the symbol.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12190
There is no technical reason for this restriction for non-power symbols, so let's remove it.
This will allow more flexibility and compatibility with other tools.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9389
The legacy and s-expression (prior to version 20200828) file formats only
supported symbol unit and reference fields so the newly added value and
footprint fields must be updated from the original symbol fields.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12226
Implemented serialization and deserialization of models in symbol fields
through the SIM_VALUE class. We don't carry the Spice legacy of
case-insensitive suffixes, instead we conform to the SI standard (i.e. M
is Mega, not milli, P is peta, p is pico).
Parameter grid value validation is implemented by simply not allowing
any characters that will make the value invalid (instead of highlighting
the field in a red color). This will likely be changed at some point in
the future.
SCH_SYMBOL::Unit() is updated when the symbol is on the screen, we need
to get the instance unit so it's right even if it's not being displayed /
has never been displayed.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12050