Alex
348c3d4216
Fix an incorrect calculation in length tuning tools.
MEANDER_PLACER_BASE::lineLength wasn't calculating the length correctly
when starting and ending pads were on different layers.
Naturally, now jointA corresponds to the start of the path, jointB to the end.
Fixes https://gitlab.com/kicad/code/kicad/issues/12881
3 years ago
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
3 years ago
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
3 years ago
Tomasz Wlostowski
cab08f859a
router: cluster extraction should only consider objects that are touching (instead of checking clearance)
3 years ago
Jon Evans
7de9e48b57
PNS: Fix tuning calculations through locked segments
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9727
4 years ago
Tomasz Wlostowski
e56e61ffb5
router: fix typo in the DP tuning fix patch
4 years ago
Tomasz Wlostowski
89228e1ebe
router: increase parallelity detection threshold for AssembleDiffPair()
Partially fixes the misrecognized diff pairs issue.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8567
4 years ago
Jon Evans
a2ad204f4b
Fix off-by-one in AssembleTuningPath
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9003
4 years ago
Wayne Stambaugh
cf00319c85
More NULL expunging.
4 years ago
Jon Evans
252bf76452
Fix off-by-one in AssembleTuningPath
4 years ago
Marek Roszko
10e60acf34
Clean up including of board_design_settings.h
4 years ago
Jon Evans
3eb5a484e1
PNS: Don't clip tuning paths to pads on other layers
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8504
4 years ago
Jon Evans
9f957d3e08
Fix crash when attempting to tune discontinuous lines
Also correctly find the tuning path through arcs
https://gitlab.com/kicad/code/kicad/-/issues/8131
5 years ago
Jon Evans
c7ecb51f77
Update PNS length tuning algorithm to match the new BOARD algorithm
Now tracks inside pads are optimized to give a more accurate length.
Also, the start/end of the assembled line is used to identify the right
pad joints for pad-to-die length calculation.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4204
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1765
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6877
5 years ago
Jon Evans
a8896ebd73
Don't show leading ratline for unconnected net
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8040
5 years ago
Jeff Young
7b347d793b
Change gears on no-connect net generation. See bug rpt.
Fixes https://gitlab.com/kicad/code/kicad/issues/6534
Fixes https://gitlab.com/kicad/code/kicad/issues/6615
5 years ago
Jeff Young
f2ac6fcd44
Treat net 0 items as each being in their own net.
Fixes https://gitlab.com/kicad/code/kicad/issues/6534
5 years ago
Jeff Young
d06d35a74d
Formatting.
5 years ago
Jeff Young
84dd5108ba
Remove some "class_" prefixes from files.
5 years ago
Tomasz Wlostowski
fd07e94760
router: abstract segment links into a LINK_HOLDER interface. DIFF_PAIRS are now also linkable
6 years ago
Seth Hillbrand
8c19b4b6ae
pcbnew: Adding arcs to PNS
This is allows ARCs in tracks to be synchronized with
the PNS router. Note this does not yet include the UI components
to route curved traces
7 years ago
Seth Hillbrand
c6f5df134c
Minor speed cleanup
This adjusts iterators to use const reference when only used for
copy. It also ensures pre-allocation of vectors when size is known
ahead of time.
6 years ago
Seth Hillbrand
1a6f039bb5
pcbnew: Fix minor miscalculation in dp length
The commonParallellProjection had an odd ordering of parameters that was
not followed by callers. This corrects the ordering to standard for
each.
7 years ago
Tomasz Włostowski
bb463ad434
pns: fix assertion fail when placing diff pairs
9 years ago
decimad
94aaa47583
Add Remove overloads for specific item types, split removal into index-handling and lifetime-handling (not 100% correct yet, since the index is defactor lifetime-owner, it will be later.)
9 years ago
decimad
96a3145543
use unique_ptr at client <-> pns-router border, to document the pns router is taking ownership
add overloads for NODE::Add( ... ) taking pointers to specific item types (retain old private add-Functions, they will come in handy later)
LINE overloads now take by reference, to document their special treatment.
updated code throughout affected by these changes
9 years ago
decimad
4770be0920
Make the segment-ref container a true member of PNS::LINE
improve const correctness
return segment container by ref
change client code accordingly
9 years ago
decimad
6c749e0ba8
Remove PNS_ prefix from most types inside namespace PNS
9 years ago
decimad
4cf44d9725
Rename pns item kind constants in preparation for renaming pns classes
9 years ago
decimad
de6281e977
Move PNS router code into namespace PNS
update copyright messages
9 years ago
Maciej Suminski
0ef866ee74
Code formatting
9 years ago
Tomasz Wlostowski
2b32b6f72e
P&S: support for trace & via locking
9 years ago
Tomasz Wlostowski
9c8bdcc894
P&S refactor: removed most of Kicad-dependent code from PNS internal classes
9 years ago
Simon Richter
1b2fd6a382
Replace BOOST_FOREACH with C++11 range based for.
9 years ago
jean-pierre charras
11c369ee1b
Fix minor compil warnings (deprecated warnings and shadowed local vars warnings)
9 years ago
Tomasz Wlostowski
08178104bb
router: take track width changes into account when calculating trace length for tuning
10 years ago
Tomasz Wlostowski
a96299d456
router: improvements to shove algorithm
10 years ago
Maciej Suminski
0fbf31ef38
P&S: memory mgr & disappearing trace fixes. Still a bit buggy, though...
10 years ago
Bernhard Stegmaier
5f4423f7af
Changed abs() to std::abs() in pns_topology.cpp.
10 years ago
Maciej Suminski
766da1e494
Code formatting.
10 years ago
Tomasz Wlostowski
a180f70086
router: compute (and display) DP gap dynamically when tuning length
10 years ago
Jonathan Jara-Almonte
2fd493255d
router: compute diff pair gap on the fly when tuning the length
10 years ago
Maciej Suminski
4fb9bce354
Code formatting.
11 years ago
Tomasz Włostowski
112adccbcb
router: differential pairs & length tuning support
11 years ago