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.)
It means we get a different default for left-to-right-drawn than we
do when going the other way.
Also fixes bug in PNS::DP_MEANDER_PLACER so that it honours side
specified in settings.
- When fine-tuning, keep adjust to the original baseline length
- Enforce a minimum amplitude based on settings, DP gap and track width
- Use binary search to fine-tune amplitude if the length is not trivial
- Account for inequalities in balancing
- Don't add the meander if adding it with min. amplitude will make the
tuning worse
- Keep a distance after meandering end to prevent overlaps in DP
Fixes https://gitlab.com/kicad/code/kicad/issues/9267
Fixes https://gitlab.com/kicad/code/kicad/issues/1776
TODO:
* The resulting line chain is broken with the arcs, and
this appears to be some subsequent issue I was not able to pin down.
* The requirement of a correction factor is not clear to me
This adds the pad to die parameter from each pad to the total line
length of the tuned line for comparison with desired.
Fixes: lp:1711541
* https://bugs.launchpad.net/kicad/+bug/1711541
The INT_MAX limit for most elements makes sense only for single-segment,
straight line elements. For elements that accumulate lengths, we should
utilize the long long int (64 bits) to allow for greater lengths.
Fixes: lp:1842367
* https://bugs.launchpad.net/kicad/+bug/1842367