My bus upgrades branch already does the first part :-) I now have dynamic netlist recalculation, and it is fast enough to run online.
On Sun, Mar 24, 2019 at 2:04 PM Simon Richter <[email protected]> wrote: > Hi Jon, > > On 23.03.19 22:57, Jon Evans wrote: > > > I would start with the schematic ERC since that's where my head is at > > right now, but what I do should be able to carry over to PcbNew in case > > it ends up working well. > > > Any thoughts on this? > > I think the main roadblock is that we have no change notification > framework in place, just a lot of code that knows that other code needs > to be invoked after changes. > > For online checks to be fast enough, we'd need to limit them to > "affected components", which has two passes: > > - checking whether the set of connected components has changed > - running the ERC tests for the connected components only > > The second part is somewhat easy, it's just a different loop construct > around the ERC main loop, the difficulty is how to keep the list of > changed elements. > > For the first part, you essentially need to pull netlist generation > forward, because that is where we turn wires into nets. The current code > isn't very efficient, because it usually doesn't need to be, and it > doesn't have provisions for incremental changes. > > The thing that ERC and DRC can both profit from is probably proximity > based lookup of elements. I believe Tom has been doing some work > switching from DLIST<> to an rtree. > > Simon > > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : [email protected] > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp >
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

