Jeff Young
09ab269770
Support for 'L' in DRC expression language.
...
Also make layer testing work again against both canonical names and
user names.
2020-09-27 21:33:37 +01:00
Tomasz Wlostowski
adf7d3260d
drc: parse diff pair constranits
2020-09-27 16:45:46 +02:00
Tomasz Wlostowski
f38147c201
drc: add support for via_count constraint to the parser
2020-09-27 16:45:46 +02:00
Tomasz Wlostowski
201a630740
drc: extend drc-rules file format with length and skew tokens
2020-09-27 16:45:46 +02:00
Jeff Young
f5af17e1ba
Fix file somehow left out of last commit.
2020-09-23 17:51:48 +01:00
Jeff Young
6dae769944
Progress reporting for connectivity tests.
...
Also makes via annulus terminology more consistent.
2020-09-23 16:28:00 +01:00
Jeff Young
2b43ffd12d
Better error reporting; better nullptr safety.
...
Also clears the marker lists before running a DRC, and sets
the drcRun flags afterwards so that the notebook tab counts
get updated.
Fixes https://gitlab.com/kicad/code/kicad/issues/5659
2020-09-16 22:14:41 +01:00
Jeff Young
8420fcc33b
Cleanup.
2020-09-13 17:08:24 +01:00
Jeff Young
8ac7288696
Fix a crash bug loading DRC rules.
...
Also moves the clearance report to the new DRC engine.
2020-09-12 00:46:55 +01:00
Jeff Young
cc86630f11
Start pulling new DRC engine into Kicad.
2020-09-11 16:04:11 +01:00
Jeff Young
fc1665ff28
ADDED Clearance Inspector.
2020-09-10 20:58:38 +01:00
Jeff Young
e782794f96
Flesh out object properties and DRC Rule syntax help.
2020-09-05 17:44:59 +01:00
Jeff Young
ec5040aff5
Fix missing 'else' and EOF processing, both of which cause crashes.
2020-08-14 22:11:04 +01:00
Jeff Young
519bc80394
Replace error reporting in DRC rule compiler.
2020-08-13 18:47:41 +01:00
Tomasz Wlostowski
d937fadd6f
Migrate RC_ITEM to use shared_ptr
2020-08-13 14:50:59 +02:00
jean-pierre charras
9b3ff5af47
Fix a few I18N issues.
...
Especially keywords should not be included in translated strings.
2020-08-09 20:38:35 +02:00
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
2020-08-07 21:49:36 +01:00
Jeff Young
f27661fa39
Be more flexible with user input; more multibyte safety.
2020-08-06 19:38:06 +01:00
Jeff Young
577c1be391
Report all DRC rule errors, not just the first.
2020-07-30 14:27:42 +01:00
Jeff Young
5a1b1c544a
Add layer to rule grammar.
2020-07-30 14:27:42 +01:00
Jeff Young
c52df811ae
Add expression eval to constraint min/max/opt values.
...
Also adds error reporting for above.
2020-07-21 23:43:10 +01:00
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
2020-07-20 22:11:53 +01:00
Jon Evans
c0aa6965de
Migrate PcbNew project settings to new framework
...
Various architecture upgrades to support this.
Creating a BOARD now requires a valid PROJECT, which caused
some (mostly transparent) changes to the Python API internals.
ADDED: Project local settings file
CHANGED: Board design settings are no longer stored in PCB file
CHANGED: Net classes are no longer stored in PCB file
CHANGED: Importing board settings now reads boards, not just projects
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2578
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4070
2020-07-02 22:08:54 -04:00
Jeff Young
7877e4083e
Don't match to an unknown layer.
2020-06-20 14:34:53 +01:00
Seth Hillbrand
32738862b8
Fix build error in linux
2020-06-18 09:52:04 -07:00
Jeff Young
76d1b8bfa1
Make sure selectors match against user layer names.
...
Also allows for user specification of units in rule constraints.
2020-06-18 15:38:01 +01:00
Jeff Young
d7d877241a
More explicit type conversion to attempt to fix GCC compile issue.
2020-06-10 13:41:45 +01:00
Jeff Young
4138c8554c
Parse DRC rules when closing Board Setup dialog.
2020-06-10 12:03:37 +01:00
Jeff Young
1db799d841
Implement "disallow" rules and integrate with keepout settings.
2020-05-25 22:51:47 +01:00
Jeff Young
c415130de9
Improve parse error messages.
2020-05-25 22:51:47 +01:00
Jeff Young
416d82727f
Redo DRC rules to get ready for new system.
2020-05-25 22:51:47 +01:00
Jeff Young
cec857c0f4
Complete hookup of zone filler to new clearance engine.
2020-05-18 19:20:46 +01:00
Jeff Young
8dc6f8e82b
Allow empty rules files.
2020-05-17 15:49:02 +01:00
Jeff Young
5b07889347
Better error messages for rule parsing.
2020-05-16 20:53:49 +01:00
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
2020-05-16 15:53:05 +01:00