Alex Shvartzkop
f2403804db
Add test for GuessPluginTypeFromLibPath.
2023-08-31 05:08:16 +03:00
Alex Shvartzkop
e128896ba6
Schematic plugins refactoring, fixes for PCB plugins.
...
- Move PLUGIN_FILE_DESC to common.
- SCH_PLUGIN: rename Load -> LoadSchematicFile, Save -> SaveSchematicFile.
- Use PLUGIN_FILE_DESC and CanRead* in schematic plugins.
- Return none/unknown types from Find/GuessPluginType functions.
- Iterate over file types for file wildcards.
- Clean-up header checking in IO plugins.
- Use PCB plugin list in IO_MGR::GuessPluginTypeFromLibPath.
2023-08-31 05:08:03 +03:00
Jeff Young
4b22b1e831
Debugging aid.
2023-08-31 00:25:20 +01:00
Jeff Young
aeb8374ae5
Fix presumed typo in collision reporting.
...
(The format string contains two %d items, but is only passed a
single int.)
2023-08-31 00:25:20 +01:00
Jeff Young
ac7ceb03ee
Fix warning message typo, empty wxString::Format, and formatting.
2023-08-31 00:25:20 +01:00
Jeff Young
9e309d1d83
Coding standards and wxS() safety.
2023-08-30 11:18:54 +01:00
Jeff Young
f24cf2250e
Make sure we have a BOARD when trying to read nets.
...
Also fixes a nullptr bug when trying to write nets when we don't
have a NODE.
2023-08-29 17:30:00 +01:00
Wayne Stambaugh
1026596964
Allow symbols to be derived from other derived symbols.
...
[CHANGED] Symbols can now be derived from other derived symbols removing
the requirement to derive from root symbols.
2023-08-24 07:59:32 -04:00
Jon Evans
e118d2fca0
DbLib: Map multiple footprints to footprint filter list
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13587
2023-08-23 19:16:49 -04:00
Seth Hillbrand
a6073ae566
Revert pns_log_file.cpp change to compile
2023-08-23 09:12:43 -07:00
Jeff Young
6166a96b8e
Update PSN logger to new NET_HANDLE architecture.
2023-08-23 14:10:03 +01:00
Seth Hillbrand
b9936b6d8a
Fix fat-finged correction in c5f97421
2023-08-22 14:41:32 -07:00
Seth Hillbrand
c5f9742153
Fix PNS QA compile
2023-08-22 14:10:14 -07:00
Jeff Young
76cd637895
Make the net identifier opaque to PNS router.
...
This also improves performance as we don't have to look up the
netcodes in a map.
2023-08-22 15:17:02 +00:00
Jeff Young
55a7b9e6bf
More consistent naming.
...
(Also better differentiates the PCBEXPR_ classes from PCB_
objects.)
2023-08-21 15:26:33 +01:00
Jeff Young
3cade7fc47
Don't use string compare for A.NetClass == B.NetClass.
...
(or A.NetName == B.NetName, or != of either)
2023-08-21 15:26:33 +01:00
Jon Evans
0c529411d7
Update SHAPE_POLY_SET API to not hide virtual functions
2023-08-18 21:40:40 -04:00
Thomas Pointhuber
c2a91caacf
altium: verify that file contains "Compound File Binary Format" magic bytes, as we do not support the ASCII format
2023-08-18 14:47:08 +02:00
Jeff Young
f2a8c25084
Update Eagle gold files for spoke angle fixes.
2023-08-16 23:21:18 +01:00
Alex Shvartzkop
918ada9b16
Fix CI build.
2023-08-15 06:55:32 +03:00
Roberto Fernandez Bautista
dbfb7880b5
Add IO_MGR::FindPluginTypeFromBoardPath (+QA tests)
2023-08-15 05:26:12 +03:00
Roberto Fernandez Bautista
8d5ebf5e30
QA: Add dummy board files (should fail header checks)
2023-08-15 05:26:12 +03:00
Roberto Fernandez Bautista
fb3e8ef8f1
QA: Add example P-CAD file
...
Supplied by evanshultz in gitlab issue 3993
2023-08-15 05:26:12 +03:00
Roberto Fernandez Bautista
0b0c50471a
QA: Add example KiCad legacy PCB files
...
legacy_demos based on commit e4fdce4a47
2023-08-15 05:26:12 +03:00
Roberto Fernandez Bautista
1c95762534
QA: Add example EAGLE PCB file - Adafruit-AHT20-PCB
...
Source: https://github.com/adafruit/Adafruit-AHT20-PCB
2023-08-15 05:26:12 +03:00
Roberto Fernandez Bautista
87959a4625
QA: Add simple CADSTAR PCB file
2023-08-15 05:26:12 +03:00
Alex Shvartzkop
a0d96cea9f
Rename Save -> SaveBoard, Load -> LoadBoard in PLUGIN.
2023-08-15 05:26:12 +03:00
Marek Roszko
64a7bad56e
Use fn_str with std file streams
...
This uses the MSVC-only wchar_t overload
2023-08-13 14:59:10 -04:00
Roberto Fernandez Bautista
fd7781510e
PNS Log Viewer: Add Open / Save as GUI functions
2023-08-09 22:21:14 +00:00
Roberto Fernandez Bautista
6ba250a4e6
PNS Log Viewer: Refactor loading/saving functions
2023-08-09 22:21:14 +00:00
Roberto Fernandez Bautista
54bcd1d5ca
PNS Log Viewer: Fix crash on exit
...
m_board needs to be deleted before m_logFile
2023-08-08 23:33:46 +02:00
Jon Evans
93b7862615
PNS Log viewer: open project read-only
2023-08-07 18:31:05 -04:00
Marek Roszko
97fbbceae7
Fix pns_debug_tool build due to font metrics change
2023-08-06 16:51:29 -04:00
Jon Evans
103eb556f7
PNS: Make sure log viewer uses the actual design settings
2023-08-06 16:05:37 -04:00
Jon Evans
5cbe3c5d42
PNS: Fix a few issues with debug logging
...
Hide non-copper layers for clarity
Fix saving of router settings
2023-08-06 15:30:58 -04:00
Jeff Young
0413270012
ADDED: Move Corner To... and Move Midpoint To...
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5012
2023-08-05 16:43:55 +01:00
Jeff Young
1cbef0157d
Avoid edge cases on very wide thermal spokes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15280
2023-08-04 15:38:06 +01:00
Jeff Young
9456fab435
Fix QA gold DRC counts.
...
Also improves the error message when some spokes are ignored because
they're connected to an isolated island.
2023-08-04 00:35:19 +01:00
Roberto Fernandez Bautista
44ff2f4858
Enable legacy .brd zone fill qa test + fix golden files
...
Use 0.020mm pen thickness for SVG golden file (generated with build 2013-07-07 BZR 4022)
2023-08-03 15:36:19 +02:00
Roberto Fernandez Bautista
b8a7e378d8
QA: Fix utils.images_are_equal + add basic tests for qa utilities
...
Note: We allow differences of up to 2 pixel thickness due to erosion operation
2023-08-03 15:36:19 +02:00
Roberto Fernandez Bautista
f00a68576e
Add qa test for legacy (< v5) zone fills
...
Disable tests for .brd (legacy file format) fill for now.
2023-07-30 20:56:27 +02:00
Roberto Fernandez Bautista
d5fc2b757d
qa_cli: increase to 1200dpi + use 1 pixel erosion in comparisons to golden sample
2023-07-27 00:21:48 +02:00
Seth Hillbrand
96a34e5b57
Consolidate Maximum clearance calculation
...
We were calculating the same thing in three locations and we missed
adding the clearance from the footprints in, resulting in bad fills and
missed drc errors (see QA addition)
2023-07-26 12:55:48 -07:00
jean-pierre charras
bd503647c6
Add fix in QA, missing in commit a16ab0aa
2023-07-25 11:05:02 +02:00
jean-pierre charras
9c5aa82d2c
QA test: disable a DRC test that generate a wxWidgets exception,
...
and is useless in this QA test
2023-07-23 16:02:50 +02:00
jean-pierre charras
a343cd0a24
Try to fix a QA issue (disable useless DRC tests for 2 boards)
2023-07-23 13:08:59 +02:00
Seth Hillbrand
2485e9a38a
Update connectivity python test
...
Previous test depended on which track was first. Re-saving the board
changed the track order, so there was no pad connected. It was still in
the connectivity database, just not at the first track
2023-07-20 15:54:40 -07:00
Seth Hillbrand
b827073b3f
Update one more board to deal with changed default net clearance
2023-07-19 17:30:48 -07:00
Seth Hillbrand
45ed38a63b
Update qa tests to use new zone fill algo
2023-07-19 16:13:49 -07:00
Marek Roszko
c009328c07
Undo accidental commit from some time ago (woops)
2023-07-16 21:54:09 -04:00
Jeff Young
ff044cd0cf
Mostly a terminology update...
...
... but also makes DIALOG_SIM_COMMAND and SIMULATOR_REPORTER a bit
more simulator-agnostic.
2023-07-14 17:46:06 +01:00
John Beard
046d978ba7
ADDED: Pcbnew chamfer and extend tools
...
Using the new ITEM_MODIFICATION_ROUTINE system, drop in two new
tools: chamfer and line extend. These are two geometric operations
that are relatively common when editing footprints in particular.
Chamfer delegates the geometric calculations to a dedicated unit
in kimath/geometry.
2023-07-12 19:21:37 +01:00
Seth Hillbrand
998e749918
Move some DRC regression tests
...
The RegressionZoneFillTests handle issues that are resolved by the zone
filler, so Clipper2 problematic fill belongs there. Otherwise, the
remaining tests should not refill the zones before running DRC because
we expect the DRC to catch errors without needing a refill
2023-07-07 11:52:25 -07:00
Seth Hillbrand
954b265839
Check for zone-zone overlap
...
Instead of just checking for the zone outline, we adjust to check the
full fill area of the zones for intersection and overlaps
2023-07-07 11:52:25 -07:00
Jeff Young
bde9c2cbc5
ADDED FFT analyses.
...
CHANGED abandon the unpredictable behaviour of the Simulation Command
dialog. You now separately add simulation tabs (which have invariant
command types once created), and the dialog edits the current tab.
Also a bunch of bug fixes to make multiple simulation plots actually
work.
2023-07-07 12:33:50 +01:00
Jeff Young
d5d2800b03
Sort out terminology issues between vectors and plots.
2023-07-07 12:33:50 +01:00
Jeff Young
67c9d3932b
Another attempt to fix qa error.
2023-07-03 16:26:20 +01:00
Jeff Young
84a3cdada6
Attempted fix for qa-failure on GTK.
2023-07-03 15:46:05 +01:00
Jeff Young
9ff33e5ec6
Remove BOARD_COMMIT( TOOL_MANAGER ).
...
It initializes both m_isFootprintEditor and m_isBoardEditor to false,
causing all sorts of trouble.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15072
2023-07-01 11:52:46 +01:00
Jeff Young
dd83217062
Add DRC testing for copper graphic to zone fill collisions.
2023-06-30 14:04:20 +01:00
qu1ck
ec94439df4
Footprints swig API: access shown text in fields
2023-06-29 20:36:27 +00:00
Jon Evans
d4b7144448
Properties: expose symbol attributes
...
Flip polarity of exclude-from-BOM and -board for symbols
to match that of footprints and match the GUI display.
2023-06-24 22:03:06 -04:00
Ian McInerney
00885ab5b2
Fix mock implementation of NeighboringSegmentFilter
...
This was missed in 3c24ddd8cc
.
2023-06-20 22:40:38 +01:00
Mike Williams
a24c55affe
PCB Fields: fix up python, API
...
Remove SetFields from both symbol and footprint, it doesn't handle
mandatory fields and is unlikely to ever be safe.
2023-06-20 18:34:52 +00:00
Mike Williams
85c633eb00
QA: PCB Fields bug fixes
2023-06-20 18:34:52 +00:00
Mike Williams
85f889bc19
Fields: Description now mandatory
...
Propagate from symbols to footprints, footprints keep a library
description, too. (GetLibDescription())
2023-06-20 18:34:52 +00:00
Mike Williams
993bb84240
PCB_FIELD: bug fixes
2023-06-20 18:34:52 +00:00
Mike Williams
a859b25d2c
PCB: convert footprints to use PCB_FIELDs for fields from schematics
2023-06-20 18:34:52 +00:00
Jeff Young
ee567180d1
Give ngspice time to finish simulation in test suite.
2023-06-18 18:09:07 +01:00
Wayne Stambaugh
5a7f95e8da
Allow for library symbols to derived from derived symbols.
...
This change allows for infinite inheritance depth so internally there is
no limit to deriving library symbols from other derived symbols. Please
note that the Flatten() method now recurses until a symbol with no parent
is found. The user interface is not hooked up at this time.
2023-06-13 15:52:42 -04:00
Seth Hillbrand
42933c1c12
Save difference file if error detected in QA image test
2023-06-12 16:14:36 -07:00
Seth Hillbrand
cef4b72b89
Remove image-diff from QA
...
Re-enable tests for Ubuntu.
This implements a custom image diff function that checks for image
changes in plotted output.
2023-06-12 16:11:10 -07:00
Jeff Young
4ea41174c3
Variable names and minor performance fixes.
2023-06-05 21:26:37 +01:00
Wayne Stambaugh
bdee545841
Coverity warning fixes.
2023-06-03 07:28:17 -04:00
Seth Hillbrand
4bc0822733
Connectivity: Correct alias-based bus resolution
...
Aliases in bus resolution were being resolved without a path, making
them effectively global nets. This applies the corrected path to the
bus members and adds a QA to catch this error
2023-06-02 14:25:51 -07:00
Tomasz Włostowski
b22b0e5d03
qa: ignore duplicates in PNS regression test reference data
2023-05-31 17:07:13 +02:00
Tomasz Włostowski
b1ae093fe6
qa: disable center view on zoom in the PNS debug tool
2023-05-31 17:06:41 +02:00
Tomasz Włostowski
6e0a52dd47
qa: fix crash on null PNS::ITEM::Parent() UUID access
2023-05-31 17:06:33 +02:00
Tomasz Wlostowski
5100345c6e
router: prevent pushout/bogus collision of via with is own hole (or copper) when dragging
...
The root cause was not removing the original (pre-dragging) via from the world, comparing the ITEM::Parent() pointers of the items was only hiding the main issue.
This also fixes the PNSViaCollisions test in the qa/ suite.
2023-05-31 17:06:24 +02:00
jean-pierre charras
86abfd2cef
Update a golden file in Eagle QA tests
2023-05-31 11:52:50 +02:00
Marek Roszko
c31b5eb7d8
Fix errant typecast in VECTOR2<T>::Resize
...
This fails QA on Windows but not Linux
2023-05-29 19:34:40 -04:00
Marek Roszko
8b3f5de620
Add a simple testcase for VECTOR2I::Resize
2023-05-29 18:32:56 -04:00
Roberto Fernandez Bautista
bb90aa24b7
Add basic QA test to CADSTAR PCB footprint import
2023-05-29 23:29:28 +02:00
Jon Evans
fbe185b99b
PNS debug tool: HiDPI and settings fixes
2023-05-25 21:53:38 -04:00
Marek Roszko
ecbde8fc5f
Disable the image diff test on ubuntu due to the restricted PPA builder
2023-05-16 21:44:26 -04:00
Marek Roszko
06b3edec53
Use pre-python 3.9 type hint in cli qa
2023-05-15 20:05:44 -04:00
Seth Hillbrand
6a0f64b5a4
Update golden QA images with fixed stroke font output
...
QA images were generated with v7 output location. This needs to update
to use the v6 locations
2023-05-12 12:40:41 -07:00
Seth Hillbrand
6e4de18e15
Ensure _changed_ netlist is propagated
...
The propagation is currently (maybe not needed) limited to the global
name that is the source of the change. We also need to propagate the
global name that is changed in case the global is set in a tree leaf and
not the root
Fixes https://gitlab.com/kicad/code/kicad/issues/14657
2023-05-09 12:13:06 -07:00
Jeff Young
8bd21edd8a
Fix capitalization of text vars for Eagle importer.
...
Also fixes the test gold files to expect the correct variable
references.
2023-05-06 23:49:10 +01:00
Marek Roszko
82d4bfac75
Make attach paths relative and upload the output contents
...
Attach should be relative to CI_PROJECT_DIR
2023-05-05 23:17:12 -04:00
Marek Roszko
caf09dc85e
Disable compare in the cadstar netlist
2023-05-05 20:16:19 -04:00
Marek Roszko
ca59360d9d
Move pcbnewswig tests to pytest
2023-05-05 20:16:19 -04:00
Mark Roszko
112aa66be5
Changes to get cli testing in CI and other test fixes
2023-05-05 20:16:19 -04:00
Jeff Young
b41d446f58
Fix a bunch more issues with sheetpaths and allowExtraText.
...
A sheetpath is required to correctly resolve text variables.
Depending on currentSheet is rife with bugs.
There are many places where we do *not* want to be prepending
field names to the field values, such as netlisting,
building PDF hypertext menus, etc.
Also, Find/Replace needs to work on unresolved text, as
that's what we're going to display (and if replace nuked
your variable references you wouldn't be happy).
2023-05-05 17:23:52 +01:00
Marek Roszko
2a222706df
Start adding cli qa
2023-05-02 23:23:13 -04:00
Seth Hillbrand
f7f52d77e4
Rework Copper Sliver check
...
Adds QA checks to copper sliver tests. Adds the following checks:
- Dot product between two arms (quickly avoids checks for >90°)
- Checks the sliver is convex (area test)
- Eliminates minor slivers with angles that are approximately 0 and ones
with the opposite side width beneath a configurable level
- Updates Clipper2 to fix a couple of jagged edges on inflate
- Adds simplify during zone fill inflation to limit jaggies
Fixes https://gitlab.com/kicad/code/kicad/issues/14549
2023-04-25 10:32:46 -07:00
Mark Roszko
50b916cb73
Fix paths in the python tests
...
Can't actually test on Windows without making that a setup adventure
2023-04-25 12:29:47 +00:00
Marek Roszko
e45b6c441a
Fix pcbnewswig test run
2023-04-25 07:30:51 -04:00
Marek Roszko
8d4db2edf5
Move tests around
2023-04-24 22:09:36 -04:00
Marek Roszko
47fa5a29cd
the ibis folder is really a tool
2023-04-24 19:25:58 -04:00