Seth Hillbrand
c01e2dcfec
Fix large memory leak in DRC
...
All elements get effective shapes, many of which get triangulated. This
memory needs to be freed when destroying the tree
(cherry picked from commit c2707f3cc0
)
2022-01-28 17:08:33 -08:00
Jeff Young
29841ba315
Bring ERC & DRC dialogs into parity.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9350
2022-01-22 22:27:41 +00:00
Jeff Young
14006495d5
Angle cleanup.
2022-01-20 22:35:41 +00:00
Jeff Young
038db715a3
Move zone hatch orientation to EDA_ANGLE.
2022-01-19 00:34:03 +00:00
Jeff Young
f60c05fc67
Use epsilon compartor for doubles.
2022-01-18 18:40:55 +00:00
Jeff Young
8c246a761d
Move EDA_ANGLE from int to double.
2022-01-17 20:57:54 +00:00
Jeff Young
0967cc82e2
Exclude rules which match no enabled layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10227
2022-01-15 01:30:03 +00:00
jean-pierre charras
bc77a1e2dd
drc_test_provider_library_parity: fix a crash due to a incorrect if()...else() logic.
...
The incorrect logic allowed execution of the else sequence when it should not be executed.
2022-01-14 18:17:27 +01:00
Jeff Young
07013d00e1
More EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
abd3f5bc2b
Move footprints to EDA_ANGLE.
2022-01-14 16:08:18 +00:00
Jeff Young
d485eb2514
Move pads to EDA_ANGLE.
2022-01-14 16:08:18 +00:00
jean-pierre charras
cf11abda3d
Fix test_drc_regressions.cpp: disable tests that need a footprint library
...
DRCE_LIB_FOOTPRINT_ISSUES and DRCE_LIB_FOOTPRINT_MISMATCH imply a library
but the test cases do not have a library.
2022-01-12 15:57:41 +01:00
jean-pierre charras
ea3efac2b6
drc/drc_test_provider_library_parity.cpp: protect against null pointer use.
...
qa tests, test_solder_mask_bridging.cpp: filter not relevant DRC tests
2022-01-12 14:41:11 +01:00
Jeff Young
8c6c87eaf4
Separate footprint lib issues from footprint mismatch issues.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10132
2022-01-11 22:28:24 +00:00
Marek Roszko
fcfe42d67c
Continue the war on wxPoint
2022-01-10 19:52:26 -05:00
Jeff Young
21790fcab7
Fix a pair of dereference-freed-pointers in DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10335
2022-01-10 21:06:03 +00:00
jean-pierre charras
c24985e8cf
drc_test_provider_sliver_checker.cpp: skip very small vertices when testing.
...
Very small vertices (length <= 2 or 3 iu) are frequent in filled areas, and
create false positive detections because one cannot calculate a meaningful
orientation of these vertices.
2022-01-10 11:50:29 +01:00
jean-pierre charras
2b20a58615
Zone fill: fix an issue that uses thermal spoke width as thermal gap.
...
Fixes #10300
https://gitlab.com/kicad/code/kicad/issues/10300
2022-01-08 14:24:14 +01:00
jean-pierre charras
33dbe92deb
drc_test_provider_mechanical_clearance: add missing handling of SHAPE_T::RECT
...
test_ee_item.cpp: add missing call to ClearFieldsAutoplaced();
2022-01-08 10:49:47 +01:00
Jeff Young
b70cf1473f
Allow solder mask aperture objects to inherit nets during DRC.
...
The issue is that object A (the solder mask aperture object) can
bridge objects B and C which have different nets. Since we only do
object-to-object compares we don't find this. By allowing object A
to inherit the first net it collides with (either object B's or
object C's), we'll generate a violation with the second collision.
Fixes https://gitlab.com/kicad/code/kicad/issues/10189
2022-01-03 20:58:01 +00:00
Jeff Young
0365c6bf4b
Coverity fixes.
2022-01-02 14:57:03 +00:00
Marek Roszko
7d671cff1e
Scoop up some more wxPoints
2022-01-01 21:06:40 -05:00
Tomasz Wlostowski
dafa8ec671
pcbnew: fix incorrect type cast in DRC_TEST_PROVIDER_TEXT_DIMS
...
FP_TEXT cannot be casted to PCB_TEXT for obvious reasons, but what I don't understand is why downcasting to EDA_TEXT also crashes due to incorrect vtable method pointer (Clang10/Linux here).
I leave this as a curiosity for whoever knows C++.
2022-01-01 22:42:16 +01:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05:00
Marek Roszko
347e03363a
Convert wxPoint/wxSize starting from EDA_RECT usages
2022-01-01 11:30:33 -05:00
Ian McInerney
0e9cfd0af2
Add missing initialization values to variables
...
Flagged by Coverity.
2021-12-30 23:42:06 +00:00
Erwan Rouault
dc98419d85
pcbnew: Add via height support in drc length
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10135
(cherry picked from commit 11c967b259
)
2021-12-30 09:35:10 -05:00
Jeff Young
ab583a32f9
Better layer handling for DRC markers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10126
2021-12-26 15:06:12 +00:00
Jeff Young
03a5bd5319
Handle flipped footprints in library compare algorithm.
...
Also fixes a bug where line styles weren't taken into account.
Fixes https://gitlab.com/kicad/code/kicad/issues/10107
2021-12-25 13:41:59 +00:00
Jeff Young
09b7e0b72b
ADDED Exclude Footprint from Courtyard Requirement.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9881
2021-12-24 21:10:28 +00:00
Jeff Young
d649b288a6
Swap out autoplace rotation costs for private footprint layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2291
Fixes https://gitlab.com/kicad/code/kicad/issues/5391
2021-12-24 21:10:28 +00:00
Jeff Young
fa908e1f98
Dimensions for footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8441
2021-12-24 21:10:28 +00:00
Jeff Young
ed79f6e511
Clean up some TODOs.
2021-12-24 21:10:28 +00:00
Jeff Young
b4c5e64db2
Exclusions for Unconnected Items; Markers & exclusions for Parity checks
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5589
Fixes https://gitlab.com/kicad/code/kicad/issues/5504
2021-12-24 21:10:28 +00:00
Jeff Young
b7e196b710
ADDED assertion constraints for user-defined DRC checks.
2021-12-24 16:13:18 +00:00
Jeff Young
4ba3937f8a
Cleanup.
2021-12-24 15:43:24 +00:00
Jeff Young
0332ec6016
ADDED exclude all violations of rule X.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5463
2021-12-24 15:42:22 +00:00
Jeff Young
5f37c2b247
Custom rule severities.
...
ADDED severity token to custom rule syntax. Each rule can now define
its own severity.
Fixes https://gitlab.com/kicad/code/kicad/issues/6148
2021-12-24 15:42:22 +00:00
Jeff Young
b2dff6fa55
Fix solder mask plotting issues.
...
1) Don't plot all footprint texts for each footprint graphic item.
2) Enforce min web thickness around board shapes and board text.
3) Enforce min web thickness around footprint shapes
4) Correctly handle multi-layer zones.
(1) and (4) will get cherry-picked back to 6.0, so after rebasing
won't actually appear in this changelist anymore....
2021-12-24 12:36:45 +00:00
Jeff Young
ef10b36948
Add mask-to-copper clearance parameter and rename mask margin.
2021-12-24 12:36:41 +00:00
Jeff Young
3aa6d73770
Allow min/max/opt to come from different rules.
2021-12-24 12:36:37 +00:00
Jeff Young
4b6f2f0658
Add mechanical copper clearance testing for shapes.
...
Also includes going from distance-based neighbor exclusion to angle-
based. (Distance doesn't work when very short segments are followed
by very long ones.)
Fixes https://gitlab.com/kicad/code/kicad/issues/2512
2021-12-24 11:40:10 +00:00
Jeff Young
1305c2177f
Add a checker for copper-to-copper clearance within a single zone.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2512
2021-12-24 11:40:06 +00:00
Jeff Young
5433684d3c
Try to make gcc happy.
2021-12-23 23:59:48 +00:00
Jeff Young
235e0a430d
Less flashing of the progress bar.
2021-12-23 22:31:33 +00:00
Jeff Young
56c85bd354
Improve clearance and constraint resolution reporting.
...
1) Report on all applicable clearance types
2) Don't double-book constraints if they're used by more than one
test provider
Fixes https://gitlab.com/kicad/code/kicad/issues/8961
2021-12-23 22:31:26 +00:00
Jeff Young
3f64b69917
Mechanical clearance rules.
...
ADDED mechanical_clearance and mechanical_hole_clearance constraints.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
2021-12-23 22:31:21 +00:00
Jeff Young
a48867ea01
Solder mask integrity testing.
...
ADDED DRC test for solder mask aperture bridging copper from different
nets.
ADDED visualization of minimum web width processing for solder masks.
ADDED allow_soldermask_bridges property for footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
Fixes https://gitlab.com/kicad/code/kicad/issues/1792
2021-12-23 22:31:14 +00:00
Jeff Young
533276e6b6
Copper sliver checking.
...
ADDED DRCE_COPPER_SLIVER DRC error.
ADDED ADVANCED_CFG DRCSliverWidthTolerance and DRCSliverAngleTolerance.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
2021-12-23 22:31:05 +00:00
Jeff Young
a1e3f2b188
Starved thermals DRC checking.
...
ADDED min_resolved_spokes constraint.
ADDED "Thermal relief connection to zone incomplete" violation.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
2021-12-23 22:30:42 +00:00