← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] Floating tracks loose netcode fix



1) This PATCH is going to take some time to process, it will require some discussion.  In
any case it is not conformant to coding standards as is but it is not a large patch so I
would not bother resubmitting it yet.

2) you will have to join the mailing list to continue posting.

> Hi!
> Been using KiCAD and encountered bug.
> Description of bug:
> The issue is that tracks that are floating (not connected to any pad) lost netcodes
> after reloading board file or doing DRC. This was important
> because I use VIAs to improve impedance, thermal conductivity etc.
> Solution:
> My attached patch fixes this.
> The principle is that all tracks created have netcode so in recalculation function
> "PCB_BASE_FRAME::RecalculateAllTracksNetcode" I simply mark track netcode with flag bit
> in MSB. Then one pass trough all tracks creating set of substitution pairs. This is done
> finding tracks connected to pads and storing this tracks netcode together with pads
> netcode as substitution pair in a set. Remember that track netcodes are flaged so no
> chance of equal netcodes. 
> Then continue with track interconnection generation, as I understand this is not done
> after file read.
> Last step, go trough all tracks again and change netcodes according to substitution set
> data. Difference is that now even tracks not connected can have their netcode updated to
> correct value. Netcodes that doesn't have substitution data are set to 0. This would be
> case where some part is deleted and traces left with now non-existing netcode.
> Janis Skujenieks
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp

Follow ups