Seth Hillbrand
856cf51fc8
Fix typo
2020-09-23 14:00:39 -07:00
Wayne Stambaugh
188232de6f
Pcbnew: add user defined layers and allow all layers to have user names.
...
This changes the file format. All previous copper layers that had a user
defined name are forced back to the canonical name and the user defined
name is stored as an optional quoted string in the layer definition and
only used for UI and plotting purposes. All copper object layer names
are now the canonical name for internal file use.
ADDED: Nine new user definable non-copper layers that can be optionally
added to the board layer stack.
CHANGED: All board layers can now be renamed by the user.
CHANGED: User defined layer names can now contain space characters.
Fixes https://gitlab.com/kicad/code/kicad/issues/1969
2020-09-23 15:41:43 -04:00
jean-pierre charras
0b03d8a5ff
Fix a few Coverity warnings.
2020-09-20 16:30:23 +02:00
Jeff Young
67b5d24995
Support ESC & Cancel for DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5698
2020-09-18 22:14:00 +01:00
Ian McInerney
4ca103c82c
Fix problem in groups QA test
...
The items should always be added to the group.
2020-09-18 11:17:37 +01:00
Jeff Young
a3d65a2b43
Smoother progress reporting for DRC checks.
...
Also moves Messages tab out to an overlay, and restores the longer
messages now that messages are no longer a textbox in the upper right.
2020-09-17 20:13:39 +01:00
Ian McInerney
9ea2dbe87b
Cleanup the PCB_GROUP QA test set
2020-09-16 02:04:17 +01:00
Jeff Young
b4229d9a3e
Fix testcase crash when progressReporter was null.
...
(And it helps if the DRC tester you're trying to test is actually
in the make file.)
2020-09-15 22:25:12 +01:00
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.
2020-09-15 20:15:46 +01:00
Jeff Young
665212341d
Cleanup (consistent naming, 100-char line width, message precision).
2020-09-15 12:07:31 +01:00
Jeff Young
514da2f886
Move DRC dialog to new DRC engine.
2020-09-14 22:39:36 +01:00
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)
2020-09-13 17:08:24 +01:00
Jeff Young
8420fcc33b
Cleanup.
2020-09-13 17:08:24 +01:00
Jeff Young
5be887a60f
Iron out some wrinkles in the DRC migration.
2020-09-12 01:57:37 +01:00
Jeff Young
ce2937a399
Move rest of DRC tests to kicad.
2020-09-11 23:14:12 +01:00
Jeff Young
5424d6fa09
Move new clearance tests into kicad.
2020-09-11 21:26:57 +01:00
Jeff Young
cc86630f11
Start pulling new DRC engine into Kicad.
2020-09-11 16:04:11 +01:00
Jeff Young
6b4a6f4d3e
Restore min seg limit for rounded-corner pads.
...
It suffered from a cacophony of errors, starting with an errant
comment that made it later look like a bug. Sigh.
2020-09-11 14:41:45 +01:00
Wayne Stambaugh
d45c11b4b5
Exclude from bill of materials and board netlist to library symbols.
...
ADDED: Support for exclude from bill of materials and board netlist to
library symbols.
Fixes https://gitlab.com/kicad/code/kicad/issues/4915
2020-09-09 09:03:37 -04:00
Roberto Fernandez Bautista
3b3af5327f
CADSTAR PCB Archive Importer: Move code into common/plugins and pcbnew/plugins folders
2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista
632d45e833
CADSTAR PCB Archive Importer: Parse PARTS section
2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista
4c2f38f1ad
CADSTAR PCB Archive Importer: Parse LIBRARY section + code refactoring
...
code refactoring:
- Renamed CADSTAR_COMMON to CADSTAR_ARCHIVE_COMMON
- Renamed CPA_FILE to CADSTAR_PCB_ARCHIVE_PARSER
- Made CADSTAR_PCB_ARCHIVE_PARSER a derived class of CADSTAR_ARCHIVE_COMMON
- Moved all structures in cadstar_pcb_archive_parser.h/.cpp to be defined inside CADSTAR_PCB_ARCHIVE_PARSER class
2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista
86bf592bac
ADDED: CADSTAR PCB Archive Importer
...
Initial commit
- Imports directly mappable layer stackup (only physical board fabrication layers for now)
2020-09-08 21:21:20 +00:00
Seth Hillbrand
459cc326e0
Remove errant header
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5553
2020-09-08 06:44:56 -07:00
Seth Hillbrand
02a5d47de9
Avoid passing references in EESchema
...
This returns the connection list by value. This allows easier Python
use
Also renames m_End() to GetEnd()
2020-09-08 06:29:27 -07:00
Tomasz Wlostowski
1cd349c8f6
drc_proto: report rule hits only for rule-driven tests
2020-09-08 01:31:42 +02:00
Tomasz Wlostowski
0ef6d85a1f
drc_proto: added rule hit accounting in various tests
2020-09-08 01:31:42 +02:00
Tomasz Wlostowski
0f015aeb59
drc_proto: add dummy default constraint for courtyard clearance
2020-09-08 01:31:42 +02:00
Tomasz Wlostowski
e1af46d099
qa: temporarily disable test_gal_pixel_aligmnent due to unfinished changes in PCB_TEST_FRAME_BASE
2020-09-08 01:31:42 +02:00
Tomasz Wlostowski
7aefe6fdb4
qa_utils: PCB_TEST_FRAME compiles again...
2020-09-08 01:31:42 +02:00
Tomasz Wlostowski
91860dae2d
drc_proto: use GetLayer() in disabled layer tests
2020-09-08 01:31:42 +02:00
Tomasz Wlostowski
b53d753796
drc_proto: don't stitch together multiple rules's microcode
2020-09-08 01:31:42 +02:00
Tomasz Wlostowski
9176062d0f
drc_proto: return 'safe' null constraint if no matching rule found. To be fixed
2020-09-08 01:31:42 +02:00
Tomasz Wlostowski
fc58c4a20e
drc_proto: netclass wip
2020-09-08 01:31:42 +02:00
Tomasz Wlostowski
8a5297180e
drc_proto: initial version of legacy rule import (without overrides yet)
2020-09-08 01:31:42 +02:00
Tomasz Wlostowski
05b88acf16
drc_proto: wip adding accessors to DRC_RULE/DRC_RULE_CONDITION
2020-09-08 01:31:42 +02:00
Tomasz Wlostowski
8e4a3f5e65
drc_proto: nicer logging on the console
2020-09-08 01:31:42 +02:00
Tomasz Wlostowski
b107c4a025
drc_proto: working on progress reporting
2020-09-08 01:31:42 +02:00
Tomasz Wlostowski
466cbe2f00
libeval_compiler: fixhandling of method calls with empty argument list (e.g. 'A.method()' )
2020-09-08 01:31:42 +02:00
Tomasz Wlostowski
adbd94553d
drc_proto: all tests now supported in drc_proto. Not tested yet!
2020-09-08 01:31:42 +02:00
qu1ck
3dbebda168
Fix GetCustomShapeAsPolygon and add a unit test
...
Fixes #5497
2020-09-04 20:30:54 -07:00
Seth Hillbrand
3095d0e335
DRC_TREE: Allow indexing on triangulated zones
...
Also move to BOARD_ITEM* as we might want to run DRC on non-copper items
2020-09-04 15:53:49 -07:00
Jeff Young
e6f4e156b6
Fix the SCH_PINs test to be more reflective of the codebase.
2020-09-01 15:25:49 +01:00
Jeff Young
9e12ea9bb6
Cleanup some dead code and make better use of iterators.
...
Also applies coding style around auto and lambdas.
2020-08-28 11:05:58 +01:00
Seth Hillbrand
0d65d76a9a
Add modified qa project
2020-08-25 10:40:44 -07:00
Thomas Pointhuber
a03fb7a9a8
Altium: Refactor and add initial structure for schematic importer
...
altium: move pcbnew/altium2kicadpcb_plugin -> pcbnew/plugins/altium
See: https://gitlab.com/kicad/code/kicad/-/issues/4412
2020-08-23 19:01:08 +00:00
Seth Hillbrand
a3fc028c9b
CHANGED: locked parameter explictly written
...
Removed the bitmap status field that saved internal states into the
file, creating rcs churn. Also removed the unneeded count variables at
the start of the file as these created merge conflicts for every board
that had multiple revisions
Fixes https://gitlab.com/kicad/code/kicad/issues/1850
2020-08-19 03:51:30 +00:00
Wayne Stambaugh
ede39780e2
Remove all debugging output that cannot be disabled.
...
The use of printf, wxLogDebug, and std::err/std::out causes excessive
debugging output which makes finding specific debugging messages more
difficult than it needs to be.
There is still some debugging output in test code that really needs to
be moved into a unit test.
Add debugging output section to the coding policy regarding debugging
output.
2020-08-18 10:17:36 -04:00
Tomasz Wlostowski
8c94d88c78
qa: fix incorrect cast error on OSX/MSVC
2020-08-14 09:48:40 +02:00
Tomasz Wlostowski
f582783b27
qa/drc_proto: updated DRC rule file format to the last version, post-rebase fixes too
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
e0ffdc8fe7
drc_proto: update file format, get the thing to compile again
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
52fefd15e0
common: include drc_proto keywords in the main DRC parser
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
d937fadd6f
Migrate RC_ITEM to use shared_ptr
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
2b6ef6964a
qa/pcbnew: test introspected properties in the expression compiler
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
7c15c788b8
qa/pcbnew: boost test fixture for libeval_compiler
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
35e45c5917
drc_proto: edge clearance wip
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
e38796396f
qa/drc_proto: default values for fields in DRC_RULE
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
782fcc6139
qa/drc_proto: fix regressions in DRC_RULE_PARSER
2020-08-13 14:50:59 +02:00
Jeff Young
393bb0fd83
Fix assert where geometry routine wasn't ready to handle layers.
...
This introduces layer handling to a lot of the geometry routines.
Many of them don't do much with it now, but it does help multi-layer
zones and will help when padstacks are implemented.
2020-08-12 22:20:08 +01:00
Jeff Young
463100d67f
Remove a long-standing hack to keep divots out of adjacent zones.
...
The new algorithm unions any adjacent zones before doing the
chamfer/fillet and then subtracts the other zones back out afterwards.
Fixes https://gitlab.com/kicad/code/kicad/issues/3812
2020-08-12 22:20:08 +01:00
Qbort
b41892e4da
Rename class GROUP in pcbnew to PCB_GROUP
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5156
2020-08-12 15:36:08 +01:00
Seth Hillbrand
7c455f2357
First pass at DRC RTree functionality
...
This implements a copper-layer RTree with functions for iterating over
the elements in a copper layer and providing Nearest Neighbor returns
for BOARD_CONNECTED_ITEMS
2020-08-11 16:52:29 -07:00
Joshua Redstone
ee428876ec
ADDED: Group/Ungroup function
...
This implements the group/ungroup functions to mark a set of EDA_ITEMs as a unit, allowing them to be moved and rotated as a unit
2020-08-11 19:37:07 +00:00
Seth Hillbrand
41edf5c5bf
Updating DRC to handle vias with differing layers
2020-08-10 03:27:27 +00:00
Jeff Young
4317881012
Improve delete-unused-layers to better handle multi-layer items.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5116
2020-08-09 15:39:51 +01:00
Mark Roszko
c6e388db14
Implement an app progress indicator in the taskbar
...
ADDED: Progress indicator in the taskbar
This adds a progress indicator to the Windows and macOS taskbar
icons to display the progress of some operations.
Note, this requires wxWidgets 3.1+
2020-08-09 10:55:00 +00: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
Qbort
9977299340
Fix compile errors in drc_engine.cpp and panel_setup_rules.cpp
2020-07-31 21:47:01 +00:00
Tomasz Wlostowski
23e834fdb5
qa: fixed test fixture name collision causing test failures
2020-07-31 20:01:15 +02:00
Ian McInerney
268dec5c19
Cleanup some build and Coverity warnings
2020-07-31 02:46:05 +01:00
Jeff Young
fdb23d1a2d
Add DRC check for items (pads for now) shorting two nets.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4955
2020-07-30 21:42:23 +01:00
Jeff Young
577c1be391
Report all DRC rule errors, not just the first.
2020-07-30 14:27:42 +01:00
Tomasz Wlostowski
b06c158764
drc_proto: thou shalt count rule hits from 1, not 0
2020-07-30 00:02:36 +02:00
Tomasz Wlostowski
8de484eff3
drc_proto: follow up Jeff's changes
2020-07-30 00:02:15 +02:00
Tomasz Wlostowski
faf469bd23
drc_proto: follow up Jeff's changes to libeval_compiler
2020-07-29 23:15:19 +02:00
Tomasz Wlostowski
9401165e6c
qa: temporarily disable libeval_compiler_test
2020-07-29 23:14:34 +02:00
Tomasz Wlostowski
e32c38ef81
drc_proto: simple test cases for copper clearance and hole clearance tests
2020-07-29 23:14:34 +02:00
Tomasz Wlostowski
128ae8b49e
drc_proto: working on hole size/track width checker
2020-07-29 23:14:34 +02:00
Tomasz Wlostowski
ff1872379d
drc_proto: report rule hit statistics
2020-07-29 23:14:34 +02:00
Tomasz Wlostowski
7fc532df2e
drc_proto: import new error reporting code from Jeff
2020-07-29 23:14:34 +02:00
Tomasz Wlostowski
6615397541
drc_proto: DRC_RULE now uses new libeval API
2020-07-29 23:14:34 +02:00
Tomasz Wlostowski
a504bd0795
drc_proto: don't launch DRC providers with empty/incomplete rule sets
2020-07-29 23:14:03 +02:00
Tomasz Wlostowski
cf0bb60fbb
drc_proto: migrated GetEffectiveShape(s) to SHAPE_COMPOUND
2020-07-29 23:14:03 +02:00
Tomasz Wlostowski
1a2e02040a
qa/libs/kimath: simple test suite for collisions of SHAPE_COMPOUNDs
2020-07-29 23:14:03 +02:00
Tomasz Wlostowski
8d9d3ff795
qa/drc_proto: debug level settable by env var
2020-07-29 23:14:03 +02:00
Tomasz Wlostowski
91b68e4578
drc_proto: follow up Jeff's changes in legacy DRC/board model
2020-07-29 23:14:03 +02:00
Tomasz Wlostowski
abe6ccf97e
common: re-enable libeval_compiler and DRC proto test (fixed missing file issues)
2020-07-29 23:14:03 +02:00
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.
2020-07-28 20:44:40 +01:00
Seth Hillbrand
1374d82114
Adding QA project files
2020-07-28 10:44:51 -07:00
Jeff Young
552dde8976
Fix return value going out of scope.
...
(From Coverity report.)
2020-07-26 13:41:43 +01:00
Jeff Young
bf445c1a95
Performance enhancements.
...
1) cache pad polygon outlines
huge improvement in connectivity performance and a decent
improvement in DRC performance
2) don't pre-allocate CONTEXT stack
significant improvement in DRC rule performance
2) don't keep re-encoding strings
decent improvement in DRC rule performance
2020-07-25 13:03:33 +01:00
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.
2020-07-23 22:21:13 +01:00
Jeff Young
a6b6084a60
Add preflighting for DRC rule function calls.
2020-07-22 14:33:32 +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
jean-pierre charras
6d8fb94d86
Fix a few Coverity warnings.
2020-07-20 16:19:19 +02:00
Seth Hillbrand
69d75b90b1
Adding failed arc test
...
This test implements a case where the current arc calculations fail
2020-07-18 13:03:22 -07:00
Ian McInerney
7b705af038
Refactor common QA components to create a single common library
...
This moves the program-specific code (e.g. BIU files) into
the program tests.
Also, create title_block.cpp to break a dependency that pulled
in eda_text.cpp when using the TITLE_BLOCK object.
2020-07-18 16:21:15 +01:00
Ian McInerney
019313711a
Move geometry tests into the kimath qa test
2020-07-18 16:19:01 +01:00
Jeff Young
d1da053d2e
Update test to prettier file extension wildcard syntax.
2020-07-17 21:22:28 +01:00