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
4 years ago
Jeff Young
3aa6d73770
Allow min/max/opt to come from different rules.
4 years ago
Jeff Young
1a252b4f96
Add a compile error for ill-defined rules, and more performance.
Also adds const-safety to GetBoard().
4 years ago
Jeff Young
018c17399d
SNR.
5 years ago
Jeff Young
7bd31d5237
Naming conventions.
5 years ago
Jeff Young
84dd5108ba
Remove some "class_" prefixes from files.
5 years ago
jean-pierre charras
0b23cb7dbb
more cleanup about removing useless include
5 years ago
Tomasz Wlostowski
26e7dc6e14
drc: added length/skew constraint types
5 years ago
Jeff Young
e2e229da96
Finish exorcising the old DRC system.
This moves the various BOARD_ITEM calls to the new system, and make
the DRC_ENGINE long-lived so that it can field those queries.
5 years ago
Jeff Young
748bee1bc7
Hook up netclasses and board minimums to new DRC engine.
Improves implicit rule reporting.
Makes some internal names more consistent.
Moves DRC_REPORT to the test framework.
Removes priority (which isn't supported in the grammar)
5 years ago
Jeff Young
8420fcc33b
Cleanup.
5 years ago
jean-pierre charras
1aa38b8f82
drc_rule.cpp: avoid crash with a incorrect (broken or too old?) drc_rule file.
The crash was due to a null pointer not tested.
5 years ago
Jeff Young
5be887a60f
Iron out some wrinkles in the DRC migration.
5 years ago
Jeff Young
8ac7288696
Fix a crash bug loading DRC rules.
Also moves the clearance report to the new DRC engine.
5 years ago
Jeff Young
5424d6fa09
Move new clearance tests into kicad.
5 years ago
Jeff Young
cc86630f11
Start pulling new DRC engine into Kicad.
5 years ago
Jeff Young
fc1665ff28
ADDED Clearance Inspector.
5 years ago
Jeff Young
519bc80394
Replace error reporting in DRC rule compiler.
5 years ago
Tomasz Wlostowski
d937fadd6f
Migrate RC_ITEM to use shared_ptr
5 years ago
Jeff Young
e5b50d90a7
Update DRC rules to new layer and disallow grammars.
Also adds support for hooking rules up to named zones.
Fixes https://gitlab.com/kicad/code/kicad/issues/2041
5 years ago
Jeff Young
577c1be391
Report all DRC rule errors, not just the first.
5 years ago
Jeff Young
0fecb5f277
Be more explicit about string/character conversions.
This *may* fix the bug where a layer name isn't displayed correctly
in the error dialog. But probably not.
5 years ago
Jeff Young
f97c50bfde
Give excluded DRC items their own layer.
(And fix a bug with the new mulit-layer zones and rule-based keepouts
at the same time which prevented me from testing it.)
Fixes https://gitlab.com/kicad/code/kicad/issues/4954
5 years ago
Jeff Young
6529e339a9
Don't store context in the uCode. (It's not thread-safe.)
Although it does give some pretty funny results when filling zones.
5 years ago
Jeff Young
a6b6084a60
Add preflighting for DRC rule function calls.
5 years ago
Jeff Young
095937563b
Hook libeval compiler up to rule parser
- convert expression string tokens to single-quote-delimited
- fix bug where netclass assignments weren't getting updated after
board setup dialog
- move property manager rebuild to lazy evaluation
- improve performance with wider use of const&
- retire DRC_SELECTOR stuff
- use wxString for GUI stuff (particularly translated stuff)
- fix EqualTo() to return false instead of asserting when op types
don't match
- fix buffer overruns with fixed-size string buffers
- make expression function calls case-insensitive
- integrate expression errors into rule parser
- produce more and better error messages
- keep BOARD_ITEM ptrs const as long as possible
- fix a couple of uninitialized variables
5 years ago
Jeff Young
416d82727f
Redo DRC rules to get ready for new system.
6 years ago
Jeff Young
98be50883d
Fix bug in single-item layer matching.
6 years ago
Jeff Young
7d537e83ea
Match layers only if both items are on the given layer.
6 years ago
Jeff Young
cec857c0f4
Complete hookup of zone filler to new clearance engine.
6 years ago
Jeff Young
d3f017d825
DRC rules parser and engine.
Fixes https://gitlab.com/kicad/code/kicad/issues/2182
Fixes https://gitlab.com/kicad/code/kicad/issues/2116
Fixes https://gitlab.com/kicad/code/kicad/issues/1958
Fixes https://gitlab.com/kicad/code/kicad/issues/1965
6 years ago