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
Jeff Young
8204577fba
Throw duplicate pin error as it prevents other checks.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14761
2024-05-26 16:18:54 +01:00
Seth Hillbrand
8463bd59b7
ADDED: Optional check for four way junctions
...
Defaults to off because this is likely contentious
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17870
2024-05-03 12:06:24 -07:00
Seth Hillbrand
2139789c4c
Move ERC items to their own directory
2024-05-03 12:06:24 -07:00