Jeff Young
d465eb6425
ADDED: automatic zone refilling.
...
This is for the out-of-box experience for novice users. It is presumed
that folks with larger more complicated boards will turn it off.
Fixes https://gitlab.com/kicad/code/kicad/issues/6413
2022-02-24 18:16:45 +00:00
Thomas Pointhuber
52a2d52bf0
altium: Parse solder and paste mask settings of tracks and arcs
2022-02-20 20:18:40 +01:00
Thomas Pointhuber
86c025eb30
altium: Fix parsing of zones which use the KEEP_OUT_LAYER
2022-02-19 14:37:05 +01:00
Seth Hillbrand
a19d9105f0
Fix SolderBridge check to only check across multiple
...
We should not generate an error when overlapping a single copper element
with a soldermask that is not associated with copper.
Fixes https://gitlab.com/kicad/code/kicad/issues/10906
2022-02-18 11:47:28 -08:00
Jeff Young
b1dc9dcebf
Don't ask for layer of multi-layer objects.
2022-02-18 13:20:36 +00:00
Jeff Young
c1874f009b
Fix test case.
2022-02-15 22:18:21 +00:00
Thomas Pointhuber
fc5772ad92
altium: Extend test-suite to support FP_ZONE validation
2022-02-15 21:42:03 +01:00
Thomas Pointhuber
8587f762b5
altium: Extend test-suite to support FP_TEXT validation
2022-02-15 21:42:03 +01:00
Jeff Young
2172810600
Performance: better sharing of zone fills.
2022-02-15 19:19:03 +00:00
Jeff Young
90f6edad61
Move connectivity algo to collision-based routines.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1800
Fixes https://gitlab.com/kicad/code/kicad/issues/1769
2022-02-13 00:35:11 +00:00
Thomas Pointhuber
81b4229e12
altium: Improve test-coverage of *.PcbLib import functionality
...
* Add test-code for pads
* Move test-code into board_test_utils.cpp for reuse, one method per object
* Add a real (rather small) Altium footprint for testing purposes
2022-02-12 16:50:25 +01:00
Jeff Young
00934fdd84
Move GUI queries in PLUGIN to a callback.
...
Also makes sure legacy zone fills get deleted and re-filled (since
just dropping the outline will change them).
2022-02-11 22:09:22 +00:00
Jeff Young
3deaf902bb
Retire the V5 zone fill algorithm.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10578
2022-02-11 13:10:52 +00:00
Thomas Pointhuber
3f36e7d725
altium: Start with a test-suite to validate that *.PcbLib footprints are correctly imported
...
The test simply loads every footprint of a library, and compares all elements with an equivalent
KiCad footprint. This allows us to quickly spot regressions in the altium and kicad footprint importer,
and any code in-between. This test is only a demo, as the checks are still incomplete and quite a few
tests are missing.
It has to be noted that mask expansion is not supported rigt now by the altium importer, thus the
reference footprint is adjusted to keep the test happy.
2022-02-09 22:34:04 +01:00
Marek Roszko
28ce11212c
Emplace_back a bit a in clipper
2022-02-05 21:00:34 -05:00
Jeff Young
3f8cada334
Fix some issues with new polygonization of arcs and arc collision test.
...
Test should not be testing against the polygonization error; if done
correctly that should all be on the correct side of the shape. Use an
epsilon instead (I chose polygonization error / 10, but the value isn't
terribly important).
Fixes https://gitlab.com/kicad/code/kicad/issues/10724
2022-02-03 19:53:42 +00:00
jean-pierre charras
a970acd0bc
Fix some issues related to new textboxes and python:
...
- Fix duplicate class names returned by GetClass().
- replace MTEXT name (in GetClass) by better name (FP_TEXT, FP_TEXTBOX...)
- Add missing Cast_to_PCB_TEXTBOX and Cast_to_FP_TEXTBOX
2022-02-03 13:55:37 +01:00
Jeff Young
5739505aa3
TextBoxes for PCBNew.
2022-01-31 20:00:47 +00:00
Jeff Young
c6a8100d46
Schematic and symbol text boxes.
...
Also fixes some plot bugs with arcs.
Also moves polygonization of arcs (when required) in plotting code
from 5 degrees to calculated based on ARC_HIGH_DEF.
Fixes https://gitlab.com/kicad/code/kicad/issues/5017
2022-01-28 21:38:15 +00:00
Jeff Young
3409783d9f
Break sch_text.h/.cpp into sch_text and sch_label.
...
Also moves SCH_NETCLASS_FLAG to SCH_DIRECTIVE_LABEL, and remaps Altium
harnesses from SCH_TEXT to SCH_DIRECTIVE_LABEL.
2022-01-28 21:38:15 +00:00
markus-bonk
8663a399ac
Move pcbnew_navlib compilation into pcbcommon.
...
Although pcb_base_frame.cpp is in the pcbnew source tree, it is compiled
and included in pcbcommon.lib. Because pcb_base_frame has a dependency
on pcbnew_navlib, the latter also needs to be included in pcbcommon to
avoid linkage issues.
The superfluous references to pcbnew_navlib in the qa projects have been
removed.
2022-01-28 12:21:42 +00:00
markus-bonk
87d7bdbd5e
* PCB_EDIT_FRAME: Implement SpaceMouse navigation and command export for 3D-viewer.
...
Added full support for using a 3Dconnexion device in PCB_EDIT_FRAME. Commands are exported and can be assigned to 3D mouse buttons. Any limitations to the functionality are limitations of the installed 3Dconnexion driver for the device and OS.
Use build option KICAD_USE_3DCONNEXION (default = ON) to control whether the SpaceMouse support is compiled into the solution.
2022-01-28 12:21:42 +00:00
Jeff Young
c8a50d9b50
Remove unit-less angles from VECTOR2I/D APIs.
2022-01-20 23:58:20 +00:00
jean-pierre charras
1c8ba6dafc
fix python QA tests to run with latest changes in eda_angle.h
2022-01-18 13:49:50 +01:00
dsa-t
bc1ff6756f
Cross-probing/selection for multiple items (SCH->PCB)
2022-01-16 20:29:03 +00:00
Jeff Young
e84c574830
Some more EDA_ANGLE cleanup.
2022-01-16 19:16:18 +00:00
Jeff Young
9b661aea10
EDA_ANGLE for plotters.
...
Also fixes a compile error in the PNS Playground.
2022-01-16 01:19:45 +00:00
Jeff Young
1539fa5af2
Move SHAPE_ARC to EDA_ANGLE.
2022-01-16 01:19:45 +00:00
Jeff Young
3f98769a77
More EDA_ANGLE.
...
Includes bug fix for catastrophic error in Add() for converting to
radians.
Includes bug fixes for the fact that the pcbnew test can't seem to
find the ANGLE_* objects (getting all 0's instead).
2022-01-15 01:30:04 +00:00
Jeff Young
07013d00e1
More EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
1b19ff5f42
More EDA_ANGLE changes.
2022-01-14 16:08:19 +00:00
Jeff Young
c9487bad18
Move BOARD_ITEM::Rotate() to EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
e048e51f5d
Improve SNR of EDA_ANGLE stuff.
2022-01-14 16:08:18 +00:00
jean-pierre charras
d6332bec24
Fix test_custom_rule_severities.cpp: disable tests not handled by these tests
...
DRCE_LIB_FOOTPRINT_ISSUES and DRCE_LIB_FOOTPRINT_MISMATCH imply a library
but the test cases do not have a library, and does not test these DRC.
2022-01-12 18:20:44 +01: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
Jeff Young
8f7d2dd06a
More VECTOR2D -> VECTOR2I and wxPoint cleanup.
2022-01-11 14:20:14 +00:00
Jeff Young
393ccf1187
Save/Load test to make sure we don't bugger up the PCBNew file format.
2022-01-09 13:02:41 +00:00
Seth Hillbrand
2d8707a3d0
QA: Remove call to obsoleted function
2022-01-08 19:40:33 -08:00
Jeff Young
aa8f091035
Attempt to fix compile error.
2022-01-08 18:01:00 +00:00
Ola Rinta-Koski
9b406c1da4
Outline font support.
2022-01-08 16:47:45 +00: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
jean-pierre charras
bf5cdec743
QA test code: fix some issues:
...
- in python tests force the "C" locale is in use (remove wx alerts in some locales)
- disable some new DRC tests that are irrelevant in QA tests and create false positives
2022-01-06 09:37:14 +01:00
Marek Roszko
cc5003a919
Update python for the pad wxSize switch
2022-01-04 23:28:06 -05:00
jean-pierre charras
a09741597f
qa test: allows epsilon (1 unit) to compare 2 coordinates
...
It avoids false qa errors (false positive) when comparing coordinates after transform
2022-01-04 16:38:31 +01:00
Mark Roszko
0d64fdc5c7
Put back original expected segment data for unit test
2022-01-04 13:42:08 +00:00
Marek Roszko
367431f825
Update solder_mask_bridge_test.kicad_pro to ignore library mismatches in test
2022-01-02 19:18:29 -05:00
qu1ck
356cddd474
Template for vector<VECTOR2I> in swig
2022-01-02 21:33:58 +00:00
jean-pierre charras
c4af66f6d3
Fix compil issues on Windows+msys2
...
Probably some fixes also on other platforms
2022-01-02 18:32:39 +01:00
Jeff Young
88ee2e269f
Remove some video nets from order testing.
...
Conflicting nets are disambiguated with "_n" suffixes, but the order
of these is not deterministic.
2022-01-02 14:57:03 +00:00
Jeff Young
89c0f8e297
Move to new font engine.
2022-01-02 14:57:03 +00:00
jean-pierre charras
797de9d327
Fix some issues (but not all) in qa tests for eeschema
...
The main fix is for errors in SCH_TEXT and derived:
qa test expects 4 rotations is an identity transform:
This is false if the item has autoplaced fields.
The fix clears autoplaced flags.
2022-01-02 14:54:27 +01:00
Simon Richter
d25fe17b28
Bump minimum required CMake version to 3.11
...
Signed-off-by: Marek Roszko <mark.roszko@gmail.com>
2022-01-01 21:35:08 -05:00
Marek Roszko
7d671cff1e
Scoop up some more wxPoints
2022-01-01 21:06:40 -05:00
Jeff Young
93018375f8
Fix some test errors and update gold files for better netnames.
2022-01-01 20:46:45 +00:00
Marek Roszko
b85fb9137f
Add kicad_3dsg copy for qa_pcbnew to run out of build dir
...
Mirror of the pcbnew step for the same reason
2022-01-01 14:52:48 -05:00
Marek Roszko
ea613cf448
Another batch of point changes
2022-01-01 13:17:12 -05:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05:00
Marek Roszko
cadc0639eb
Update BASE_SCREEN to VECTOR2I
2022-01-01 11:30:33 -05:00
Marek Roszko
347e03363a
Convert wxPoint/wxSize starting from EDA_RECT usages
2022-01-01 11:30:33 -05:00
Jeff Young
c097f90688
Attempt to fix compile error.
2021-12-26 16:55:15 +00:00
Jeff Young
08cdbdac7e
Attempt to fix mocks build issue.
2021-12-26 15:12:15 +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
fa908e1f98
Dimensions for footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8441
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
390ca93388
Fix another missing test case.
2021-12-24 18:05:14 +00:00
Jeff Young
ceceda37cc
No more long-lived parsers.
...
We've had too many bugs from improper re-initialization.
Fixes https://gitlab.com/kicad/code/kicad/issues/9429
2021-12-24 17:11:18 +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
3aa6d73770
Allow min/max/opt to come from different rules.
2021-12-24 12:36:37 +00:00
Jeff Young
1d9337a917
Fix up test case.
2021-12-24 12:21:28 +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
66a6a6d448
Attempt to fix test case, and improve debugging output.
2021-12-24 11:38:09 +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
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
Jeff Young
32721755bf
Hook up zone-pad connections to custom rules.
...
ADDED zone_connection constraint.
ADDED thermal_relief_gap and thermal_spoke_width constraints.
ADDED angle override for thermal relief spokes in Pad Properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/4067
2021-12-23 22:30:26 +00:00
Jeff Young
2bc86fa0a8
Shapes for schematic.
...
ADDED arc, circle and rectangle shapes for schematic. Shapes support
line styles and fill colors.
CHANGED sheet background color in Edit Text & Graphics Properties to
fill color (and it now affects shapes).
Pushed STROKE_PARAMS down into common and moved all shapes to using it
for stroke descriptions.
2021-12-23 20:36:07 +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
jean-pierre charras
dc71efbcb2
QA tests: fix a build issue on msys2, due to changes in commit 5622a51
2021-12-15 10:13:45 +01:00
Roberto Fernandez Bautista
4de4347baa
SHAPE_ARC::Collide( aSeg ) must check segment end points as candidates
...
The edge case is when the segment is completely contained inside the arc
(This partially reverts b4835c8208
and
adds the missing test cases)
2021-12-14 16:14:56 +00:00
Roberto Fernandez Bautista
b4835c8208
Add test case for SHAPE_ARC::Collide( seg ) + remove unneeded candidates
...
Followup to commit 01068e0d41
2021-12-13 18:06:11 +00:00
Wayne Stambaugh
b7af66e3f9
Eeschema: fix broken page numbers when renaming a sheet file name.
...
Always use full sheet paths when storing sheet instances. Partial sheet
paths cannot be full resolved resulting in lost page numbers when renaming
sheet file name.
Fixes #9782
2021-12-09 12:56:03 +00:00
Seth Hillbrand
da38a6e750
Fix a couple of qa warning
2021-12-07 14:54:00 -08:00
Seth Hillbrand
c819913687
Fix missing mock return
2021-12-07 14:54:00 -08:00
Konstantin Baranovskiy
d00810c0fb
Pcbnew: make search field focused by default in Find dialog
2021-12-06 19:08:23 +00:00
Wayne Stambaugh
a03e6e4926
Revert "Eeschema: fix broken page numbers when renaming a sheet file name."
...
This reverts commit a468a79948
.
2021-12-06 07:47:18 -05:00
Jon Evans
a205595404
PROF_COUNTER -> PROF_TIMER
...
I want to add an event counter, and this one is a timer
2021-12-05 14:25:37 -05:00
Roberto Fernandez Bautista
c463818b57
SHAPE_LINE_CHAIN: Only fix up arc indices if last pt is part of an arc
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9843
2021-12-03 22:04:55 +00:00
Mikolaj Wielgus
b35aa302e2
Test PCB_MARKER, PCB_ZONE, FP_ZONE
2021-12-01 03:42:22 +01:00
Mikolaj Wielgus
b729068326
Test BOARD_ITEM
2021-12-01 00:47:22 +01:00
Mikolaj Wielgus
af078d6666
Test SCH_MARKER, cleanup
2021-12-01 00:47:22 +01:00
Mikolaj Wielgus
b7e28bf554
Move eda_item_test_utils.h to common
2021-12-01 00:47:22 +01:00
Mikolaj Wielgus
99ab1941cd
mv test_sch_item.cpp test_ee_item.cpp
2021-12-01 00:47:22 +01:00
Wayne Stambaugh
a468a79948
Eeschema: fix broken page numbers when renaming a sheet file name.
...
Remove duplicate instance data saved in both root SCH_SCREEN and SCH_SHEET
objects that was causing them to be out of sync. All sheet instance data
is stored in the SCH_SHEET object itself and rebuilt on the fly so it is
always current.
Remove Get/SetPageNumber from SCH_SHEET_PATH object so it doesn't obfuscate
where the actual sheet page number information exists.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9782
2021-11-30 08:11:24 -05:00
Tomasz Wlostowski
5f2aaba0dd
qa/pns: added trivial PCB rendering performance test program
2021-11-29 23:30:10 +01:00
Tomasz Wlostowski
4b243c425b
qa_utils: disable Python support in TEST_APP_MAIN
2021-11-29 23:30:10 +01:00
Mikolaj Wielgus
84dd515b6a
s/Instatiable/Instantiable/, s/Instatiate/Instantiate/
2021-11-29 21:20:57 +01:00
Mikolaj Wielgus
276f9abf8a
Test LIB_ITEM rotation and mirroring
2021-11-29 21:20:57 +01:00
Mikolaj Wielgus
71bfbfaa70
Test SCH_PIN rotation and mirroring
2021-11-28 19:37:13 +01:00
Mikolaj Wielgus
2e1862de1c
Run AutoAutoplaceFields() in SCH_SHEET constructor
...
A constructor should create a fully initialized object.
2021-11-28 18:46:28 +01:00