Jeff Young
a39b9b8890
Support legacy Length Tuning Settings workflow.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17748
(cherry picked from commit 978ef352d0
)
2024-04-28 21:54:16 +01:00
jean-pierre charras
dfe6cb7afa
Do not run DRAWING_TOOL::PlaceTuningPattern() inside the footprint editor
...
The footprint editor cannot run the router.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17522
2024-03-21 15:22:13 +01:00
Alex Shvartzkop
711c6141a8
Highlight nets and show length tuning status when adding tuning patterns.
...
Also fixes length preview when hovering over joints.
Also prevents asserts when hovering over arcs.
Also prevents adding a tuning pattern on other tuning pattern.
2024-02-23 17:22:20 +00:00
Alex Shvartzkop
dd6213051d
Pick DP coupled segment closest to start item and baseline.
2024-02-20 22:06:00 +03:00
Alex Shvartzkop
2e97d5d7cc
Add missing check in tuning pattern outline.
2024-02-20 20:32:07 +03:00
Alex Shvartzkop
cbfd757d28
Reduce amplitude snap value of tuning patterns.
2024-02-20 03:20:08 +00:00
Alex Shvartzkop
10e6ca8740
Show tuning pattern baselines when not editing them.
2024-02-20 03:20:08 +00:00
Alex Shvartzkop
5e5effaf3a
Ensure minimum outline size in tuning patterns.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16847
2024-02-20 03:20:08 +00:00
Alex Shvartzkop
29188bdc53
Fix some edge-cases in DP tuning pattern outline.
2024-02-20 03:20:08 +00:00
Alex Shvartzkop
4227b1add9
Improve tuning pattern robustness.
2024-02-20 03:20:08 +00:00
Alex Shvartzkop
d4e89543de
Length-tuning fixes/improvements:
...
- Ensure correct amplitude values in tuning patterns.
- Support lower amplitudes in DP length tuning
- Ensure correct minimal inner radius in DP length tuning
2024-02-10 00:44:05 +03:00
Alex Shvartzkop
453e185613
Increase unconstrained tuning length to 1km.
2024-02-09 19:25:46 +03:00
Jeff Young
53d048921a
Fix merge conflicts.
2024-02-09 00:04:43 +00:00
Jon Evans
7929d7cda2
Fix build
2024-02-08 17:33:34 -05:00
Jeff Young
ecbe1df7c1
Update target length/skew to std::optional.
...
Also fixes a bug in the router where the target length would
get trashed if set to maxLongLongInt. (We'd add the default
tolerance to it sending it negative.)
2024-02-08 18:14:31 +00:00
Alex Shvartzkop
876449b83d
Set DP skew meanders max length to INT32_MAX instead of 100 mm.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16860
2024-02-08 19:34:17 +03:00
Alex Shvartzkop
f4cf23e5cf
Length tuning: fix status popup display when unconstrained.
2024-02-08 18:55:42 +03:00
Alex Shvartzkop
f1caa262a6
Separate actions for single track and differential pair length tuning.
2024-02-08 14:58:28 +00:00
Alex Shvartzkop
1122d80388
Better support for arcs in tuning patterns.
2024-01-31 23:38:05 +03:00
Alex Shvartzkop
7d1888c756
Add parts of arcs to tuning patterns correctly.
2024-01-31 21:45:01 +03:00
Jeff Young
32d589a121
Don't rely on baselines for fetching DRC_RULE items.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16816
2024-01-30 13:19:04 +00:00
Jeff Young
5b5c6f0474
Init tuning pattern settings from BOARD_DESIGN_SETTINGS.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16819
2024-01-30 13:19:04 +00:00
Marek Roszko
5c94e0287b
Clean up tuning pattern if undo triggered during drag
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16718
2024-01-28 16:10:59 -05:00
Jeff Young
89850824d5
Naming & comments.
2024-01-24 13:35:37 +00:00
Jeff Young
ace4ef7b16
Implement stingy selection mode for tuning patterns.
2024-01-17 00:34:22 +00:00
Jeff Young
be6a2d018d
Implement stingy selection mode for tuning patterns.
2024-01-17 00:34:22 +00:00
Jeff Young
3a781f5dbe
Let router draw tuning pattern baselines.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15996
2024-01-07 13:54:40 +00:00
Jeff Young
a523c58530
Add a m_forceMarkObstaclesMode warning when violating DRC.
...
Also adds a modifier combination to commit anyway.
2024-01-02 17:02:50 +00:00
Jeff Young
d155870275
Sometimes use grid (instead of clearance) for slop radius.
...
This is particularly important both when very large grids
are in use, and when the router hasn't been initialized
with a net yet (ie: in hover mode) and the board clearance
is set to 0.
https://forum.kicad.info/t/new-track-start-position-problem-on-kicad-7-0-10-rc1/47006
2023-12-21 12:58:58 +00:00
Jeff Young
fc85112a72
Create dummyPattern at centre of pickerItem, not end.
...
This keeps TOPOLOGY::AssembleDiffPair() from picking an
arc the segment might be connect to. Since it can't handle
arcs at all, that's bad.
2023-12-20 15:27:29 +00:00
Jon Evans
1c895fe18c
Improve rendering of tuning status popup
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16304
Add dedicated UI rendering layers
Switch to screen-space rendering to avoid blurriness
Fix a bug in OpenGL GAL that causes layer
ordering to be broken when using Scale
Fix some issues with VIEW_GROUP layer ordering
2023-12-19 22:38:21 -05:00
Jeff Young
b29a56530c
Remove undo-of-ungroup hack.
...
The hack assumed that the parent group would be the first
deleted item of type group in the undo list. While this
will be true when undoing a user ungroup command, it will
not be when undoing an ungroup side-effect, such as when a
member of a group is deleted during UpdateFromPCB.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16384
2023-12-17 15:35:35 +00:00
Alex Shvartzkop
3b26f96fe4
Tuning Patterns: read/write min_amplitude.
2023-12-17 05:32:02 +03:00
Jeff Young
9fb06f95a0
Fix msys2 build.
2023-12-16 16:17:24 +00:00
Jeff Young
66a15f6acf
Re-factor frame pointer out of generator API.
2023-12-16 16:11:45 +00:00
Jeff Young
ea3c87f243
Move group/ungroup to COMMIT infrastructure.
2023-12-16 14:17:25 +00:00
Jeff Young
1df84f4d92
Move some PCB_GENERATOR special-cases to propMgr listeners.
2023-12-15 21:04:33 +00:00
Jeff Young
a0274a8463
Last fix was too aggressive.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16362
2023-12-14 18:27:33 +00:00
Jeff Young
ec7e3c5bd6
Handle nets in recoverBaseline().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16360
2023-12-14 15:35:09 +00:00
Jeff Young
e000acb768
Make sure router honours unconstrained tuning setting.
2023-12-12 13:57:12 +00:00
Jeff Young
abd2cf25f2
Re-display hidden router items after cancelling.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16308
2023-12-11 16:02:02 +00:00
Jeff Young
c9b5e3b012
Don't leave undo items in a hidden state.
2023-12-11 15:12:41 +00:00
Jeff Young
453d0566ff
Support properties dialog during tuning.
2023-12-11 15:12:41 +00:00
Jeff Young
e3c9cf94b7
Reduce the size of the tuning popups.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16304
2023-12-08 19:50:29 +00:00
Jeff Young
4d28dfacc2
Remove query dialog from tuning tool startup.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16305
2023-12-08 17:01:14 +00:00
Jeff Young
e0a34efcb7
Use a more self-documenting API for router preview item flags.
...
Also fixes a bug where rule areas were drawn with solid fills.
2023-12-08 16:02:15 +00:00
Jeff Young
2661e7a8ee
Fix over-zealous copy/paste and add a few more comments.
2023-12-06 13:08:22 +00:00
Jeff Young
04246a969c
Show tuning status while tuning.
2023-12-03 14:23:57 +00:00
Jeff Young
33b602eb44
Use popup look & feel for on-canvas tuning status.
...
We previously used the ruler look & feel because it leveraged
pre-existing code.
But it's too hard to read over a busy background. Maybe the ruler
should move to popup look & feel as well?
2023-12-03 13:21:01 +00:00
Jeff Young
b13590f4c0
Use preview items instead of highlightNets & status popup
...
The router preview item can be specific to the part that is being
tuned, rather than the whole net. It's also less visually noisy as
it doesn't dim/undim the rest of the board.
Using kigfx preview items for the status keeps us from having a bunch
of focus issues with the status popup window.
2023-12-02 16:15:43 +00:00