Tomasz Wlostowski
0a69340953
geometry: fix incorrect 45 degree miter generation (likely a side bug after introduction of EDA_ANGLE)
2022-10-31 11:49:31 +01:00
Tomasz Wlostowski
a0105efc0c
router: major rewrite of shove/walkaround single line placement. An attempt to fix most router blockages/non-45 stray segments and simplar stuff. Also adds a ton of debug geometry cruft.
...
fixes: 12258
fixes: 12067
fixes: 10807
fixes: 10632
2022-10-31 11:38:31 +01:00
Tomasz Wlostowski
70bca1b2d5
router: allow caller to override the 'safety' length limit in WALKAROUND
2022-10-31 11:17:32 +01:00
Tomasz Wlostowski
363d606503
router: improved heuristics in via force propagation algorithm
2022-10-31 11:17:32 +01:00
Tomasz Wlostowski
1ddabd4eaf
router: some extra debug geometry dumps in SHOVE
2022-10-31 11:17:32 +01:00
Tomasz Wlostowski
165b5257e8
router: temporaily disable upper corner count limit constraint in the OPTIMIZER which prevents almost any optimization of shoved lines
2022-10-31 11:17:32 +01:00
Tomasz Wlostowski
e80bdf934a
router: add via force propagation iteration limit as a user-controllable parameter in ROUTING_SETTINGS
2022-10-31 11:17:32 +01:00
Tomasz Wlostowski
247922ca2d
router: LINE::SetShape() should update the attached via position with the last point of the new line shape
2022-10-31 11:17:32 +01:00
Tomasz Wlostowski
3e67b42efd
router: fix another corner case in LINE::Walkaround
2022-10-31 11:17:31 +01:00
Tomasz Wlostowski
65507e7186
router: extend dump format to support automatic regressions tests of interactive routing scenarios
2022-10-31 11:17:31 +01:00
Tomasz Wlostowski
f25d449d5f
JSON_SETTINGS: added direct serialization to a string (FormatAsString) and parsing
...
from explicitly provided file (bypassing the migration and settings framework). Used for
router regression tests.
2022-10-31 11:17:31 +01:00
Tomasz Wlostowski
cd29dcf6e0
libs/kimath: SHAPE::Format() can now produce C++ object construction and simple test dump of shapes
2022-10-31 11:17:31 +01:00
Tomasz Wlostowski
99bcdf7979
qa: introducing headless regression test suite for the P&S. Works by playing out pre-recorded events and comparing the resulting geometry against a human-approved reference.
...
Other changes:
- store all router settings (ROUTING_SETTINGS) in the debug dump in a separate JSON file
- store router mode (single/diff/tune) in the event log file
- factor out the regression test player and the graphical log/debug tool into separate main files
- bring CONSOLE_LOG and CONSOLE_MSG_REPORTER to the common test headers
2022-10-31 11:17:31 +01:00
Tomasz Wlostowski
dfa6d22524
qa: moved CONSOLE_LOG and CONSOLE_MSG_REPORTER to common testing utils
2022-10-31 11:17:31 +01:00
jean-pierre charras
d289130627
fix memory leak and missing switch to "C" locale in some handlers
...
PCBNEW_JOBS_HANDLER::JobExportGerber(): disable plot pad holes.
2022-10-31 10:04:01 +01:00
Mikolaj Wielgus
355d5014f5
Revert changing inference checkbox to radio button
...
Reverts 5e1561fc22
and 6c84e0c2f0
.
2022-10-31 07:29:38 +01:00
Jon Evans
ed4a40ee4f
Save state of appearance panel panes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9087
2022-10-30 19:46:15 -04:00
Jon Evans
5689c4b625
Include overridden drivers when checking bus membership
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10945
2022-10-30 19:17:04 -04:00
Marek Roszko
0deebab8a8
Try and make the msg panel resize more correctly due to dpi
2022-10-30 18:34:58 -04:00
Marek Roszko
321d6e3ea8
Try a hackfix for windows icon scaling
...
Related https://gitlab.com/kicad/code/kicad/-/issues/11880
2022-10-30 18:34:08 -04:00
Marek Roszko
c0f8810759
Don't fix the visibility icon size or it will never scale properly
...
Related https://gitlab.com/kicad/code/kicad/-/issues/11880
2022-10-30 15:03:00 -04:00
jean-pierre charras
ed0462c7a1
Fix some issues in command_export_pcb_gerber.cpp, mainly force "C" locale.
2022-10-30 19:54:26 +01:00
Mikolaj Wielgus
5eca8dd8de
Undo hardcoding swapping of diode pins
...
Revert commits d1e2acd3
70b4d1aa
cff508fb
2022-10-30 11:01:59 +01:00
Jeff Young
a2679f62cd
Enormous hack to deal with JS encoding issues in PDF.
...
No, PDFDocEncoding (as spit out by encodeStringForPlotter()) does
not seem to work.
Fixes https://gitlab.com/kicad/code/kicad/issues/12782
2022-10-29 22:03:52 +01:00
Marek Roszko
9eb3174133
Check the process exit code rather than output variable for git header creation
2022-10-29 14:21:07 -04:00
Jeff Young
5e1561fc22
Some bug fixes for inferred models.
2022-10-29 18:44:49 +01:00
Mark Roszko
e495c50bc6
Try and kill the shallow clone for windows ci
2022-10-29 17:36:15 +00:00
Mark Roszko
132ce2f577
Update .gitlab/Windows-CI.yml
2022-10-29 17:05:41 +00:00
Mark Roszko
a1db97c474
Try and nudge the windows ci to work
2022-10-29 16:25:52 +00:00
Jeff Young
6c84e0c2f0
Dialog changes for inferred models.
2022-10-29 17:08:06 +01:00
Marek Roszko
0a134788d0
Implement cli for gerber, drill, pdf export of pcb
2022-10-29 11:56:10 -04:00
Marek Roszko
30211da69f
Move the cli definitions to kicad
2022-10-29 11:55:38 -04:00
jean-pierre charras
8d44c770a8
board_commit.cpp: Avoid generating a wxAssert message in QA test.
...
In QA test, frame and selTool are nullptr.
So we cannot use wxCHECK( frame && selTool,...) because it breaks the QA test.
We just test frame and selTool when needed.
2022-10-29 16:28:57 +02:00
Jon Evans
3f68b7c5c1
Don't consider sheet pins as connections in ERC
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9828
2022-10-29 09:06:31 -04:00
jean-pierre charras
50d2237f06
command_export_pcb_dxf.cpp: switch to "C" locale before exporting the file
...
Fix also a minor Coverity warning
2022-10-29 09:45:45 +02:00
Seth Hillbrand
fd592abddd
Refactor inline RectClip routines
2022-10-28 21:34:25 -07:00
Seth Hillbrand
f91ac8a03f
Undefine None for X11 after Clipper2 update
2022-10-28 21:30:59 -07:00
Seth Hillbrand
8e97855557
Fix Clipper2 handling of Inflate/Deflate
...
For unknown reasons, Clipper2 only returns Paths structures from the
ClipperOffset::Execute routine. Further, the Paths are not properly
ordered (outline->hole in outline, outline2->hole in outline2).
To get proper hierarchy, we need to run an additional pass of the
solution with the paths as Subject in a null union. This is effectively
a Simplify() call but we keep the data in Clipper format to reduce the
churn/calc time
2022-10-28 17:01:36 -07:00
Seth Hillbrand
aca3329469
Remove superfluous Simplify call
2022-10-28 17:01:36 -07:00
Seth Hillbrand
c6417fd101
Update Clipper2 to 1.0.6
2022-10-28 17:01:36 -07:00
Jeff Young
01b4c20c94
Router only owns message panel when routing.
...
Also fixes a pair of copy/paste error not caught earlier.
Fixes https://gitlab.com/kicad/code/kicad/issues/12780
2022-10-28 22:51:43 +01:00
Wayne Stambaugh
e1af4c5cf6
Pcbnew move item dialog layout improvements.
...
Don't use wxBU_EXACTFIT to define the reset buttons. On GTK, there is no
border around the button text which does looks cramped and inconsistent
with the other buttons.
2022-10-28 14:27:35 -04:00
Jeff Young
3b3e6de515
Disable mirror commands when a single footprint is selected.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12752
2022-10-28 19:20:24 +01:00
Seth Hillbrand
7a874255c5
Be smarter about canceling fills
...
Handles cancellation in main fill loop. Allows loops to finish without
restarting new ones. Further enhancement might allow breaking threads
cleanly but this gets 90% of the cases
Fixes https://gitlab.com/kicad/code/kicad/issues/12693
2022-10-28 10:17:58 -07:00
Seth Hillbrand
546e16a002
Add multi-level fallback in tesselation
...
Some clipper cases do not get resolved with the `FAST` mode, so in those
cases, do a second pass in the `SIMPLE` mode. If both fail, return a
broken polygon instead of an infinite loop
Fixes https://gitlab.com/kicad/code/kicad/issues/12761
2022-10-28 10:17:58 -07:00
Wayne Stambaugh
fb21eb7457
Coverity issue fixes.
2022-10-28 13:01:23 -04:00
Jeff Young
24f8bf2adf
Clear Editing Board Footprint message when loading new footprint.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12783
2022-10-28 15:59:03 +01:00
Jeff Young
fb8493d0bc
Move model pin editor to GRID_CELL_ICON_TEXT_POPUP.
...
wxChoice is hopeless on Mac (it still doesn't highlight on rollover),
and using a char for the "assigned" graphic isn't great.
2022-10-28 15:27:00 +01:00
Jeff Young
a42c60d493
Less repetition in pin numbers.
2022-10-28 15:27:00 +01:00
Mikolaj Wielgus
d1e2acd3d8
Sim: Reverse Cathode and Anode strings in diode model data
2022-10-28 15:16:34 +02:00