Wayne Stambaugh
c72457482c
Fix Eagle plugin footprint QA test issue.
...
Apparently mapping Eagle footprint layers to the KiCad Dwg_User
that were previously mapped to UNDEFINED_LAYER breaks the QA test
and causes the footprint editor to crash when opening Eagle
footprints. This means that the potential data loss issue when
loading Eagle footprints is still in play.
2022-08-22 09:11:30 -04:00
Jeff Young
792d7babe3
Performance (std::map -> std::unordered_map) and commenting.
2022-08-22 12:43:57 +01:00
Jeff Young
03454684fa
Commenting.
2022-08-22 12:43:57 +01:00
Jeff Young
4f0136db3b
Attempt to fix std::initializer_list lifetime issue.
2022-08-21 20:54:41 +01:00
Wayne Stambaugh
0bc1188897
Fix Eagle plugin board layer mapping issue.
...
The Eagle plugin layers have to be mapped differently depending on
whether a board is being imported or a footprint library is being
cached. Footprint libraries can bypass the manual layer remapping
step that happens when importing a board.
Please note that when loading footprints in the footprint editor
and viewer, all layers that do not directly map to KiCad layers are
put on the Dwg_User layer so that there is data loss. Users will
have to manually remap objects to the correct layer as required.
This is less than ideal but until the footprint library table parser
supports prompting users to remap unknown layers, it will have to do.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11839
2022-08-21 14:56:04 -04:00
Seth Hillbrand
af34835fdf
Restore removed data
...
Functions and definitions used in Python scripting should not be
removed. Comments in header files should never be removed (only
updated/corrected)
2022-08-20 08:40:08 -07:00
Jeff Young
eac3d33266
Keep Footprint Checker info between runs.
2022-08-20 12:28:34 +01:00
Jeff Young
28f7221cc3
Allow selection of Footprint Checker markers.
...
(And do a cross-probe to the Footprint Checker dialog.)
2022-08-20 11:30:25 +01:00
Jeff Young
8b0efa8ac4
A bit of cleanup from last commit.
2022-08-20 11:14:44 +01:00
Jeff Young
aa2ad3b44c
Move KICAD_T[] to std::initializer_list<KICAD_T>.
2022-08-20 10:28:11 +01:00
Jeff Young
46df421064
ADDED defined pad groups for net-tie footprints
...
Each pad group is allowed to short nets with other pads in its group.
Legacy footprints with the "net tie" keyword hack will get a single
group auto-created with all the footprint's pads in it.
DRC and the router now allow a track to collide with copper graphic items
while entering a net-tie pad as long as the closest point in the collision
is within the pad.
DRC (and the footprint checker) now check for copper items in the
footprint shorting pads which are not in the same pad group.
Fixes https://gitlab.com/kicad/code/kicad/issues/2265
2022-08-19 18:54:20 +01:00
Jeff Young
508df402f6
Cleanup.
2022-08-19 18:54:19 +01:00
jean-pierre charras
a60053c800
selectAllItemsOnSheet(): fix a typo that prevent selection of items in root sheet.
2022-08-19 11:12:16 +02:00
jean-pierre charras
e0fbe2542f
Fix a few compil and Coverity warnings.
2022-08-19 10:53:29 +02:00
Marek Roszko
3a718385cf
Just match the type to the comparison type on second thought
2022-08-18 22:22:04 -04:00
Marek Roszko
675938375b
Use a larger data type for min_dist
...
Squared norms are massive and can logically exceed 32-bit ints
2022-08-18 22:19:36 -04:00
Seth Hillbrand
b9461f2ba7
Re-enable tests for zones
...
Avoid invalid substantial checks triggered by signed floating point
zeros. Adds a QA check to ensure zone-self checks are maintained
2022-08-18 17:06:29 -07:00
Seth Hillbrand
97d7ee1f30
Remove `/` from our forbidden LIB_ID list
...
It is still forbidden from footprint file names but that is handled
separately and it should not be forbidden in symbol files at all
2022-08-18 12:49:40 -07:00
Francois Berder
84745a6cdc
Fix wrong number of columns check
...
Signed-off-by: Francois Berder <fberder@outlook.fr>
2022-08-18 11:03:45 +00:00
Marek Roszko
98b3904c51
Fix reserve call with the wrong source for size
2022-08-16 23:38:08 -04:00
Mike Williams
f06e28b7a7
PCB: Finish Route, Route From End
...
Adds restart routing from other ratsnest' end and automatically finish
routing.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/5051
2022-08-17 03:15:46 +00:00
Jeff Young
6cfbf895fc
Make sure parent pos is factored in for polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11945
2022-08-16 17:28:56 +01:00
Alex
371f6d917f
Use VECTOR2I::extended_type instead of long, and int for numeric limits.
2022-08-16 12:08:55 +00:00
Alex
405be8d15f
Bounds-awareness in Move, Rotate, point editor, drawing tool
2022-08-16 12:08:55 +00:00
Alex
b81a3f0533
GetClampedCoords: Better usability for rounding
2022-08-16 12:08:55 +00:00
Alex
4d7d367b25
Use KiROUND for BBox calculation, change parameter name, block negative padding.
2022-08-16 12:08:55 +00:00
Jeff Young
a3dc38cb32
Update schema versions so we can patch bad data from earlier bug.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12180
2022-08-15 23:48:38 +01:00
Seth Hillbrand
759e1a64ef
Fix broken const ref in wildcard
2022-08-15 12:09:30 -07:00
Seth Hillbrand
35ac39844f
Clean up some auto usage
...
Don't make new copies of shared_ptr if we can use references. Keep auto
usage down to hard-to-type-out sequences
2022-08-15 11:29:45 -07:00
Jeff Young
db91bcbabf
Bump file format version for allow-soldermask-bridges-in-FPs.
2022-08-15 18:03:03 +01:00
Jeff Young
1f347582f8
Introduce new marker type so we can track DRC errors on the drawing sheet.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12221
2022-08-15 18:03:03 +01:00
Seth Hillbrand
4b3ac52b1d
Fix shadowed variables
2022-08-15 08:03:30 -07:00
Seth Hillbrand
9828360759
Remove unused variable
2022-08-15 07:52:53 -07:00
Jon Evans
55bb374370
Fix crash when unloading board
2022-08-14 22:49:51 -04:00
Marek Roszko
c418b25756
Centralize the parseDouble functions in the parsers and gcc specialcase
2022-08-14 18:46:19 -04:00
Jeff Young
959681e472
Config Paths help is now inside the dialog, so we don't need quasimodal here anymore.
2022-08-14 22:56:29 +01:00
Jeff Young
86938aa425
Read, write and process the board-wide Allow soldermask bridges in FPs.
2022-08-14 22:56:29 +01:00
Jeff Young
a9536b5de9
CHANGED netclass assignments now done via canvas or via patterns.
2022-08-14 22:56:29 +01:00
Jeff Young
18ac169ac7
Add contexts to EDA_COMBINED_MATCHER.
2022-08-14 22:56:29 +01:00
Roberto Fernandez Bautista
6b349fdb0a
CADSTAR PCB: Allow remapping all non-electrical layers
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12196
2022-08-14 22:24:17 +01:00
Roberto Fernandez Bautista
69d696660b
cadstar: Report warning that imported text may be different
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12195
2022-08-14 22:24:16 +01:00
Marek Roszko
a070959209
Switch from strtod to std::from_chars for performance
2022-08-14 16:19:24 +00:00
Seth Hillbrand
2ee65b2d83
Force removal of zero-sized pads on load.
...
Pads with zero width or height cause issues when rendering and
selecting. KiCad has never allowed these elements but hasn't prevented
importing systems where they exist. This prevents their import and
cleans existing designs where the pads are placed
Fixes https://gitlab.com/kicad/code/kicad/issues/12200
2022-08-13 19:10:48 -07:00
Seth Hillbrand
1ce8fc1614
Ensure arcs are handled in topology
...
Use the connection-independent `Anchor()` function to get connection
points for either arcs or segments in topology. This allows the
ratsnest to be correctly drawn between nets with arcs
Fixes https://gitlab.com/kicad/code/kicad/issues/12205
2022-08-12 20:07:28 -07:00
jean-pierre charras
488a53e71b
Fix a few minor Coverity warnings
2022-08-12 10:51:36 +02:00
jean-pierre charras
5616ef2e7c
ZONE_FILLER::buildThermalSpokes() fix incorrect spoke shape for pad shapes with offset.
...
Fixes #12201
https://gitlab.com/kicad/code/kicad/issues/12201
2022-08-10 15:27:28 +02:00
Jeff Young
d6cd55e133
ADDED esc-removes-net-highlight preference to PCBEditor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8760
2022-08-09 08:46:12 +01:00
Marek Roszko
f695ae5522
Generate const keyword_hash maps at compile time
...
Or else the map gets pointlessly recreated during footprint loading thousands of times
2022-08-09 00:56:49 -04:00
Jeff Young
a11f48ef10
Markers provider is no longer responsible for all markers.
...
Unconnected items and schematic partity violations are also now
represented by markers, so the ERC/DRC window itself needs to do
the deep-delete.
Fixes https://gitlab.com/kicad/code/kicad/issues/12182
2022-08-08 22:02:20 +01:00
Jeff Young
73402d733e
Add labels for icon buttons. (They're used by screen readers.)
...
Also fixes a bunch of annoying wxWidgets asserts.
2022-08-08 22:02:20 +01:00
Jeff Young
4423755176
Pretty up the Teardrops dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12170
2022-08-07 23:22:21 +01:00
Jeff Young
015bde8cb0
Test pad:hole violations in footprints as long as not same pad number.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12124
2022-08-07 19:49:39 +01:00
jean-pierre charras
05785ac6b9
Teardrops: use default zone settings instead of last settings set by the zone dialog.
...
Fixes #12171
https://gitlab.com/kicad/code/kicad/issues/
Fixes #12172
2022-08-07 08:52:40 +02:00
Jeff Young
509d233d97
Fix knockout text bounding boxes and hit testing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12133
2022-08-06 00:00:04 +01:00
Jeff Young
6a9b821b5c
Fix order of initialization resulting in net assignment getting lost.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12168
2022-08-06 00:00:04 +01:00
jean-pierre charras
ea914eac9a
Pcbnew: fix regression: Display board info when clicking on a empty place.
...
Previously: the displayed info was "Selected Items 0".
2022-08-05 13:49:01 +02:00
Seth Hillbrand
129905686f
Fix error in net list sorting
2022-08-04 10:27:01 -07:00
Seth Hillbrand
090e70ccd2
ADDED: Have Net Inspector report lengths per layer
...
When tuning high speed traces, you may need to extract data per layer
rather than just the summary as signal speed varies based on dielectric
and trace type
2022-08-03 16:35:58 -07:00
Jeff Young
96f01d33c8
Performance improvements.
...
1) Move a bunch of std::map's to std::unordered_map to get constant-time
look-ups
2) Lengthen progress-reporting intervals to spend more time doing work
and less time talking about it
3) Reverse order of SHAPE_LINE_CHAINs in thermal intersection checks to
make (much) better use of bbox caches
4) Don't re-generate bboxes we already have
5) Fix some autos that weren't by reference (and were therefore copying
large datasets)
6) Rename delta progressDelta so it's easier to search for in future
7) Get rid of a few more autos (because I don't like them)
8) Pass large items to lambdas by reference
Fixes https://gitlab.com/kicad/code/kicad/issues/12130
2022-08-03 11:59:42 +01:00
Seth Hillbrand
76b9e25143
Cleanup unused code
2022-08-02 08:33:59 -07:00
jean-pierre charras
f0efa9af9d
gen_footprints_placefile: re-add option to negate or not the X coordinate.
...
This option is for footprints on bottom side, and not for Gerber format.
This option was existing in 5.x version, but lost in 6.x version.
Fixes #4638
https://gitlab.com/kicad/code/kicad/issues/4638
2022-08-02 11:22:12 +02:00
Seth Hillbrand
f5283c6133
Fix cherry-pick issue
2022-08-01 21:32:56 -07:00
Seth Hillbrand
e4ca2408d4
Net Inspector: Handle via layers
...
Rather than measuring the total via height, measure from the entry to
exit track height to get a more accurate distance
(cherry picked from commit 57de5a6b65
)
2022-08-01 20:25:27 -07:00
Seth Hillbrand
e0b3f6c258
PNS: Handle via-in-pad distances when tuning
...
Tuning with a via in pad, the via isn't a part of the full line. But we
still need to account for the line length distance of the
starting/ending vias. To do this, we simply measure the height from
the ending track to the ending pad and starting track to starting pad
(cherry picked from commit 82e8e38054
)
2022-08-01 20:25:17 -07:00
Jeff Young
9a4136de00
Implement annular ring checking for pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12109
2022-08-01 17:45:34 +01:00
Jeff Young
f3936f24ae
Go back to single-threaded sliver checker.
...
Something was unhappy with the multi-threaded version.
(Note that we still multi-thread the polygon-building, which is the
most expensive part.)
2022-08-01 17:45:34 +01:00
Seth Hillbrand
17fdb7c6a8
Prevent drag index from exceeding full line count
...
Simplification removes segments, so we might lose our valid index.
Ideally, we would simplify during the assembly or pass the input index
to the simplify routine to maintain the proper value.
Fixes https://gitlab.com/kicad/code/kicad/issues/12137
(cherry picked from commit 6c617d84ca
)
2022-08-01 08:58:28 -07:00
Seth Hillbrand
5207a8d8b4
Properly scope the island removal enum
2022-08-01 08:58:04 -07:00
Seth Hillbrand
9fbf9973be
Remove obsolete IsKeepout and KeepoutAll functions
...
These are superceded by IsRuleArea and the individual keepouts
2022-08-01 08:05:09 -07:00
Jeff Young
7556d7152f
Fix errant return and improve progress reporting.
2022-08-01 13:09:51 +01:00
Jeff Young
43df863df2
Fix issue with caches not being initialized when printing msg bar.
2022-08-01 13:09:51 +01:00
Jeff Young
0304ad4494
Move connection width testing to rule system.
...
Also copies connection width progress reporting architecture over to
the sliver checker.
2022-08-01 13:09:51 +01:00
Jeff Young
927bc8141b
Init member variables.
2022-08-01 13:09:51 +01:00
Jeff Young
f2f04b1d20
Better progress reporting for thermal connections.
2022-08-01 13:09:51 +01:00
Jeff Young
b0a9cea6f6
Better progress reporting, and don't report necks that don't have items.
...
Since we aren't searching zones (they aren't in the m_CopperItemRTreeCache)
this will drop all errors that are zone-only (which are better handled by
zone-min-width).
2022-08-01 13:09:51 +01:00
Jeff Young
4bc7c16ce0
Don't auto-fill zones due to DRC marker insertion.
2022-08-01 13:09:51 +01:00
Jeff Young
54213bb7f1
Cleanup and move to DRC_ENGINE's status reporter.
...
1) brace formatting
2) get rid of some autos
3) get rid of a dyn_cast that CLion claims is bad
4) use DRC_ENGINE's status reporter
2022-08-01 13:09:51 +01:00
Jeff Young
661caf1de9
Make sure new zones are filled when auto-fill is on.
...
Also fixes some issues with enablement of the Remove Islands stuff.
Fixes https://gitlab.com/kicad/code/kicad/issues/12123
2022-08-01 13:09:51 +01:00
Jeff Young
6f49b57f9b
Cleanup & performance enhancements.
2022-08-01 13:09:51 +01:00
Marek Roszko
a8505d9c76
SEARCH_RESULT -> INSPECT_RESULT
...
To fix the name squatting it's doing for future functionality
2022-07-29 20:01:10 -04:00
Jeff Young
f0b9e67212
Add ignore-line-widths mode to CONVERT_TOOL.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5911
2022-07-29 21:39:03 +01:00
Jeff Young
753f2f3e4c
Display descriptions in second column of library trees.
...
Also fixes some bugs in how the columns are sized.
Fixes https://gitlab.com/kicad/code/kicad/issues/12090
2022-07-28 14:51:47 +01:00
Jeff Young
fc1afa6298
Improvements to convert tool.
...
1) Handle filled shapes
2) If a chained outline can't be found, build hulls of the individual
segments
3) Combine intersecting shapes
4) Simplify code
Fixes https://gitlab.com/kicad/code/kicad/issues/git
Fixes https://gitlab.com/kicad/code/kicad/issues/5911
2022-07-27 18:57:45 +01:00
Jeff Young
2bf33321d1
Update constraint mode in status bar during move.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10465
2022-07-27 18:57:45 +01:00
jean-pierre charras
aabc3b3cc6
FP editor: fix crash when duplicating a footprint.
...
Fixes #12098
https://gitlab.com/kicad/code/kicad/issues/12098
2022-07-27 19:08:27 +02:00
Jeff Young
cb6a2552d9
Use the FPEditor's status bar messages for FPBrowser.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11404
2022-07-26 18:45:02 +01:00
jean-pierre charras
4d48376eae
Fix some warnings detected by PVS-STUDIO (not used vars)
2022-07-26 16:00:14 +02:00
Jeff Young
ee0f93ed17
Fix some issue with hierarchy panel on OSX.
...
Also moves the option toolbars tight to the canvas for all windows.
Fixes https://gitlab.com/kicad/code/kicad/issues/12087
2022-07-26 14:51:43 +01:00
Jeff Young
032708860b
Include both text shapes and border shapes in textbox.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11806
2022-07-25 16:10:08 +01:00
Jeff Young
e10158ff10
ADDED show pin names on footprint pads when assigning to symbol.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4576
2022-07-24 23:41:41 +01:00
Jeff Young
1bad72f14f
Remove bad static_cast.
...
(m_settings isn't a PCBNEW_SETTINGS in non-PCB_EDIT_FRAMEs)
2022-07-24 23:41:41 +01:00
jean-pierre charras
82167a7c96
Avoid crashes when, for some reason, a dll cannot be loaded.
...
In this case a null pointer was returned by the internal code.
This pointer is now tested against nullptr to avoid the application crashing.
Fixes #12080
https://gitlab.com/kicad/code/kicad/issues/12080
2022-07-24 19:42:50 +02:00
jean-pierre charras
0604d7b813
Fix minor compil and Coverity warnings.
2022-07-24 09:33:43 +02:00
jean-pierre charras
c16d0603c6
Add fix missing in my commit 8eee7667
2022-07-24 09:10:51 +02:00
Jeff Young
fa679d3601
Pinned libs can also be found in program settings.
2022-07-23 20:17:04 +01:00
jean-pierre charras
8eee766791
Fix Cvpcb DISPLAY_FOOTPRINTS_FRAME: some display options not working. Commit 5e4a7041
moved 4 settings used in Cvpcb to a PCBNEW_SETTINGS struct. But in Cvpcb, this config struct does not exist. So these 4 settings are now moved to a section (PCB_VIEWERS_SETTINGS_BASE) common to Cvpcb and Pcbnew config.
2022-07-23 18:45:13 +02:00
Jeff Young
f0ef6932b8
Fix issues with plotting textbox outlines.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11943
2022-07-23 13:53:03 +01:00
Jeff Young
280ff3ccdc
Fix net highlight command enablement.
...
These always need to be enabled so that the current highlight can
be cleared.
Fixes https://gitlab.com/kicad/code/kicad/issues/12058
2022-07-23 12:42:11 +01:00
Jeff Young
9dd3bbf2cb
Change highlight net hotkey default.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12051
2022-07-23 12:34:48 +01:00
Jeff Young
bf5e649e44
Fix log errors in new solder masking checking code.
2022-07-23 09:26:04 +01:00