53 Commits

Author SHA1 Message Date
JamesJCode
88c09517f2 Ignore empty net class fields in net class ERC 2025-08-08 14:37:11 +01:00
Mark Roszko
5895c27f4a Rename Prj() on schematic to avoid conflict with global function 2025-08-07 23:21:41 -04:00
Seth Hillbrand
d8a99ea38f ADDED: New ERC test for mis-match GND pins
If you have a pin with a label containing the letters "GND" in it and it
is not connected to a net with a label also containing "GND" AND there
is another pin on your symbol that _is_ connected to a net containing
"GND", then there is a likelihood that you have accidentally mixed up
your connections to the GND pin
2025-08-07 15:42:56 -07:00
Jeff Young
3eb66e1b3d Similar local labels on different sheets are fine
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21334
2025-07-30 18:03:50 +01:00
Jeff Young
15468c86b9 Formatting. 2025-07-30 17:56:45 +01:00
Jeff Young
ec155c00f3 Comboboxes for units and body styles.
Also for pin-types in pad properties.

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

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19905
2025-07-23 14:35:37 +01:00
Jeff Young
e230d5164d Honour renderSettings' default font.
This still leaves a few things out in the cold,
such as hit-testing and polygon generation.
But at least it allows us to plot with a default
font.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19031
2025-07-17 09:35:21 +01:00
Jeff Young
21992c5030 Remove overzealous assert (KICAD-7YQ). 2025-07-12 15:53:46 +01:00
Jeff Young
4678000a0e ADDED: DNP, etc. attributes to SCH rule areas.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14037
2025-06-10 18:26:34 +01:00
Jeff Young
8265950658 Treat stacked pins as a single item in 4-way connection test.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20532
2025-06-02 12:53:17 +01:00
Jeff Young
2dd28d18e8 Performance improvements for ERC. 2025-05-26 13:37:57 +01:00
Jeff Young
42c68f1a16 Uniform application of recursion guards in simulation code. 2025-05-25 09:09:11 +01:00
Jeff Young
524575a595 Allow embedded files to come from components
as well as parent containers, part II.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20210
2025-04-25 12:26:31 +01:00
Mike Williams
c67924ccac schematic: convert RunOnChildren to also take recursion mode argument
Prepping for SCH_GROUPS, making consistent with the PCB code.
2025-03-27 13:16:09 -04:00
Jeff Young
38cf86cb09 Don't flag double no-connect annotations.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20222
2025-03-06 10:27:07 +00:00
Seth Hillbrand
49a4699d5a ADDED: Local power symbol option
Local power symbols work like regular power symbols except that they are
scoped only the the sheet in which they are instantiated

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2075
2025-03-04 17:07:46 -08:00
Wayne Stambaugh
a9cea9fbb7 Show the correct footprint name on footprint filter mismatch ERC warning.
The lower case variant used for internal comparison was being used which
is confusing because it doesn't match the footprint name capitalization.
2025-02-27 09:48:13 -05:00
Jeff Young
f9c41d70d1 No-connect pins aren't endpoints.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18316
2025-02-24 11:08:29 +00:00
Seth Hillbrand
157c7422b0 Allow sim models to reference embedded files
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20024
2025-02-22 14:53:59 -08:00
Jeff Young
2a1b93a254 Fix bugs in library existence checking, and add for symbol libs. 2025-02-19 23:43:52 +00:00
JamesJCode
35172fe402 Guard against null m_part in erc TextVar checks
Also removes duplication of LIB_SYMBOL dummy() construction methods

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19575
2025-01-10 00:13:53 +00:00
Jan Wichmann
473b43994c Fixed severity ERC local and global labels
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18814
2025-01-05 22:10:47 +00:00
Ian McInerney
d847e2bd92 Add ERC check for off-grid bus entry 2025-01-03 14:32:43 +00:00
Seth Hillbrand
0b2d4d4879 Revise Copyright statement to align with TLF
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo.  Avoids needing to
repeatly update.

Also updates AUTHORS.txt from current repo with contributor names
2025-01-01 14:12:04 -08:00
Jeff Young
4883c27972 Handle ERC/DRC assertions in drawing sheet.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19132
2024-12-02 20:13:43 +00:00
Jon Evans
499ed2ef93 Fix similar labels ERC to catch all errors
Logic issue with test was causing QA failures on macOS
due to the order of item iteration changing between
the QA test and eeschema standalone, and the test not
checking more than one possible mismatch per normalized name.
2024-12-01 15:50:40 -05:00
Jeff Young
ae6171a988 Match filters against full-id and lib-item-name.
Also, filter matching is case-insensitive.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19074
2024-12-01 17:29:16 +00:00
Alex Shvartzkop
74a507249d Try to work around AppleClang 15 compiler bug.
The error message is:
reference to local binding 'pinIt' declared in enclosing function 'ERC_TESTER::TestPinToPin'
2024-11-23 14:52:41 +03:00
Daniel Treffenstädt
81ecccb21c Fixed: Fewer ERC items for pin connection conflicts in larger set of conflicting pins 2024-11-22 23:26:31 +00:00
John Beard
df5fe44839 sch_symbol.h doesn't need sch_lib_table.h
It doesn't even use the forward-declared
SYMBOL_LIB_TABLE.

Including this pulls in the whole richio system,
and sch_symbol.h is a very-included header.

Quite a few things do use SYMBOL_LIB_TABLE, but nowhere
near as many as use SYMBOL.
2024-10-04 18:06:18 +01:00
Alex Shvartzkop
36019314e9 Make simulation reporter warnings non-fatal.
Adds REPORTER::HasMessageOfSeverity for WX_STRING_REPORTER,
which allows us to show simulation warnings and fail only if there's errors.

Also fixes a crash when SPICE_GENERATOR_KIBIS throws an IO_ERROR.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18143
2024-09-05 05:59:35 +03:00
Jeff Young
00bbe4dbc6 ADDED: ERC & DRC checks for footprint matching footprint filters.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6401
2024-08-16 16:31:53 -06:00
Jeff Young
22d37f6c34 Set sheetpath for ERCE_MISSING_UNIT errors.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18445
2024-08-13 20:13:01 -06:00
James J
7ce00e511b Multi-netclass support 2024-07-26 20:49:29 +00:00
JamesJCode
b4c365b464 Fix build error due to incomplete case statement 2024-07-22 22:27:19 +01:00
JamesJCode
96977d44d9 Add ERC check for local and global labels with same name
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9461
2024-07-21 23:45:02 +01:00
jean-pierre charras
d933a8d6a9 Fix minor compil warnings 2024-07-12 12:43:49 +02:00
CraftedNightmare
ee78f3bf5b Changed ERC Label caps check to check Power Symbols
Power symbols are implicit labels in KiCad, so we should check for their
caps difference against other power symbols as well as against other
labels

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16897
2024-07-11 18:45:35 +00:00
Seth Hillbrand
4431246cbe ADDED: ERC Test for labels on multiple wires
When a label overlaps two or more wires, it is not clear which one it
should connect to.  This is an ERC warning

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18346
2024-07-09 10:06:27 -07:00
jean-pierre charras
5a96eb979a Fix a minor compil warning 2024-07-06 10:24:37 +02:00
Jeff Young
a68b3a7778 Size conversion warning reduction. 2024-06-28 22:10:22 +01:00
Jeff Young
9e6884f656 ADDED: support for ERC & DRC errors and warnings in text variables.
Also fixes some bugs in storing exclusions in
symbol fields and children.

Also fixes some bugs in checking for resolved text
variables in symbol children.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18279
2024-06-28 22:10:22 +01:00
Jeff Young
c4f61c2eaf Check for unresolved fields in labels. 2024-06-28 22:10:22 +01:00
Mike Williams
a5e2615251 Revert "SCH/LIB SYMBOL: never allow null LIB_SYMBOLs in SCH_SYMBOL"
This reverts commit 0b187e71227d2129d271f24fb92ae0b99b6f93bd.
2024-06-12 13:30:29 -04:00
Mike Williams
0b187e7122 SCH/LIB SYMBOL: never allow null LIB_SYMBOLs in SCH_SYMBOL
Also always always flatten incoming lib symbols.
2024-06-10 08:36:42 -04:00
Jeff Young
edc7603d2a Make it clear that GetSheets() is heavy.
Also removes the side-effect that SCH_SHEET_LIST's
c'tor would sort the list (and write virtual page
numbers) anytime the starting sheet was the root.

Also, definitely don't build a SHEET_LIST (sorted or
otherwise) if you're not even going to use it.

Also don't build SCH_SHEET_LISTs on idle events.  Better
to just always have the Next Sheet button enabled (we
already beep if you click it and there's no next sheet).

Also, use a SCREEN_LIST when you can.  It's much cheaper
to create.
2024-06-06 18:00:59 +01:00
Jeff Young
68fbe98b1d Performance for large hierarchies: ERC
Share constructs between ERC tests.

Large SCH_SHEET_LISTs, in particular, can be very
expensive to construct.
2024-06-06 11:41:37 +01:00
Jeff Young
e5bad195b6 Fix a bunch of failures to resolve text variables. 2024-06-04 12:46:34 +01:00
Jeff Young
aee7680a6c ADDED: support for DNP & friends at the sheet level.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14387
2024-06-02 22:41:22 +01:00
Jeff Young
11193d2cda Make sure ERC pin-to-pin checks are always in same order.
Comparing U1.pin1 : U2.pin1 will return the same
results as U2.pin1 : U1.pin1, but will result in a
different serialization of any exclusions.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17004
2024-06-01 11:37:34 +01:00