Jon Evans
26b9d2f5ac
DRC: Allow disabling DP constraints in specific areas
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13743
2023-02-01 23:11:39 -05:00
Jon Evans
12b0a12d74
Handle DP checks for board minimum rules
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13640
2023-01-23 17:45:16 -05:00
Jeff Young
098e96f1c7
Use more precise formatting in DRC messages when less precise values are identical.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12587
2022-10-06 22:18:53 +01:00
Jeff Young
9119b5072a
Respect DRCEpsilon in diff-pair coupling test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12587
2022-10-06 22:18:53 +01:00
Jeff Young
d6c7f46842
Formatting.
2022-10-06 22:18:53 +01:00
Jeff Young
64a6fc0fd4
Push UNITS_PROVIDER down into a low-level mixin.
...
This allows us to also construct cheap UNIT_PROVIDERs for specific
tasks when necessary.
2022-09-19 17:10:59 +01:00
Mark Roszko
b00178adb3
Nuke base_units from orbit
2022-09-16 04:38:10 +00:00
Jeff Young
854acd4c77
Null-ptr safety for diff-pair-coupling test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12329
2022-09-02 00:49:33 +01:00
Seth Hillbrand
f1261e71d4
Replace boost::optional with std::optional
2022-08-25 15:50:47 -07:00
Jeff Young
97b0005780
More caching for DRC.
...
Also fixes a bug where some physical clearance tests would be run even
if the clearance was 0 (or if the rule was set to IGNORE).
2022-06-17 23:58:31 +01:00
Seth Hillbrand
5327b10064
Remove shared wxString instance in DRC
...
Threaded DRC access will write to this string, re-allocating the memory
without any synchronization between threads using the string. Comment
adding this listed performance as a reason for using shared strings.
Measured performance does not seem noticeably different in either case,
even with high-error count boards. If there is a case where the
performance is limiting, we can replace these wxStrings with
std::wstring and utilize fmt
Fixes https://gitlab.com/kicad/code/kicad/issues/9888
2022-06-15 16:46:03 -07:00
Seth Hillbrand
819276bd98
DP tolerance needs to be 1IU on each axis
...
ApproximatelyParallel will only check for parallel within 1 IU, so a 1x1
SEG will always be parallel and the projection is invalid
(cherry picked from commit d0796399a2
)
2022-04-11 16:58:10 -07:00
Jeff Young
722b2588f4
Better error reporting for DP uncoupled length.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10087
2022-04-08 11:40:53 +01:00
Jeff Young
6f555b6258
wxT() and some cleanup in DRC.
2022-03-11 23:19:16 +00:00
Jeff Young
663edcf665
Better progress indication for board from hell.
2022-03-09 14:30:21 +00: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
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
0a609dd48d
Add footprint library checking to DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6821
2021-12-23 19:18:45 +00:00
Jeff Young
096e342386
Prefix TRACK, ARC and VIA.
2021-06-11 22:07:02 +01:00
luz paz
f968fc8719
Fix source comment / documentation typos
2021-06-09 19:32:58 +00:00
Ian McInerney
4f05262705
Cleanup includes in board.h and footprint.h
2021-06-03 20:19:52 +01:00
Seth Hillbrand
f40f696c37
Don't extract dp segment info from minimal-length
...
segments with 1IU of length are approximately parallel to everything and
the distance projections break down into rounding errors
Fixes https://gitlab.com/kicad/code/kicad/issues/8541
2021-06-03 08:44:17 -07:00
Jeff Young
00ed75b891
Fix DRC performance with multi-layer keepout zones.
...
The main issue was a parameter mismatch which caused On^2 behaviour
for zone layers.
But there are several other performance optimizations here, along
with status bar updating for zones while running the dissallow test.
Fixes https://gitlab.com/kicad/code/kicad/issues/8521
2021-06-02 14:11:43 +01:00
Jon Evans
6381ffd10a
Fix diff pair coupling test when gap constraint is in a different rule
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8519
2021-05-31 10:13:05 -04:00
Jeff Young
6272b48481
Make sure layer gets passed in to rules evaluation.
2021-02-08 14:53:49 +00:00
Jeff Young
018c17399d
SNR.
2021-01-01 23:17:49 +00:00
Jon Evans
bc712a7383
Remove some stray printfs
2020-12-29 14:58:45 -05:00
Wayne Stambaugh
dd4298bb94
Coverity fixes: 280374, 313611, 313648, 313649, and 314720.
2020-12-11 13:29:52 -05:00
Ian McInerney
be4b6ec06a
Cleanup compiler warnings
2020-12-09 23:13:33 +00:00
Jeff Young
b1f0bf7334
More consistent naming.
2020-12-08 13:05:39 +00:00
Jeff Young
9c7c05c161
Mostly formatting cleanup but a few type-casting cleanups too.
2020-11-24 22:16:41 +00:00
Jeff Young
84dd5108ba
Remove some "class_" prefixes from files.
2020-11-13 15:16:23 +00:00
Jeff Young
f7333ad64a
Update some classnames including archaic zone names.
2020-11-12 10:31:25 +00:00
Jeff Young
ae9afdd169
SNR. (Mostly for progammers, but a little for user messages.)
2020-11-02 16:20:00 +00:00
Jeff Young
c351b3c31f
Naming conventions.
2020-11-01 14:12:35 +00:00
Jeff Young
776ea35040
Fix copy/paste error and some formatting issues.
2020-10-27 22:46:19 +00:00
jean-pierre charras
d6f91c810f
Fix a few compil and Coverity warnings.
2020-10-25 10:02:07 +01:00
Jeff Young
fdeb340d21
Defensive code against missing nets.
...
Also adds net re-parenting code to Repair Board.
Fixes https://gitlab.com/kicad/code/kicad/issues/5935
2020-10-10 16:54:19 +01:00
Jeff Young
1fc94c7a2d
Fix printf arg mismatch.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5933
2020-10-09 13:57:49 +01:00
Jeff Young
4f2e574f4b
Move IsADiffPair to drc_engine.cpp for now.
...
Otherwise we have to include drc_test_provider_diff_pair_coupling.cpp
in CVPCB, which isn't ideal either.
I'll let Tom figure out the best plan going forward, but this should
at least get things compiling/linking again.
2020-10-09 00:05:22 +01:00
Tomasz Wlostowski
b5fa523a11
PCB_EXPR_EVALUATOR: added isDiffPair() API method
2020-10-09 00:01:26 +02:00
Tomasz Wlostowski
8a7fc7e970
drc: more robust segment pair detection, still issues with approximated arc corners though...
2020-10-07 16:36:37 +02:00
Jeff Young
37906511f5
Class renaming.
...
DRAWSEGMENT -> PCB_SHAPE
EDGE_MODULE -> FP_SHAPE
TEXTE_PCB -> PCB_TEXT
TEXTE_MODULE -> FP_TEXT
2020-10-05 11:55:33 +01:00
Jeff Young
44580acee2
Clean up some compiler warnings.
2020-10-03 22:55:34 +01:00
Mikolaj Wielgus
400c15b8eb
Add mils to units, remove useMils variables
2020-10-03 20:06:56 +00:00
Tomasz Wlostowski
5ef1dc17ad
drc: ignore silk2pad/silk2silk violations for hidden text objects
2020-10-02 21:06:52 +02:00
Tomasz Wlostowski
fbb669aa75
drc: diff pair test provider reports gap & max uncoupled length violations.
2020-09-27 17:50:57 +02:00
Tomasz Wlostowski
5874373a0c
drc: unfinished version of diff pair gap/coupled length test
2020-09-27 16:45:46 +02:00