← Back to team overview

kicad-developers team mailing list archive

[RFC] Intra-sheet links and dangling ERC checks

 

Hi,

I accept that this is somewhat out of the blue, and if a more established
eeschema person wants to smack me down and tell me that my idea is crazypants
then I'll accept a ruling in that manner, but...

I used to be involved in electronics at a firm which used Mentor's DesignView
flow.  Mentor had an intra-sheet link symbol which was used to indicate when a
net stopped at one point on a sheet and reappeared somewhere else on it.  This
tends to be done in Eagle, KiCad etc, by means of wire segments which dangle
around.

Having done at least one design where dangling segments ended up actually being
something which cocked up my board I was thinking about ways to improve
matters.  I started off by writing some ERC checks which pointed out segments
with dangling starts or ends.  I then extended that to include junctions which
seemed pointless (had an insufficiency of segments at them to warrant the
junction).

Of course, at that point, perfectly legitimate dangling segments would cause
ERC warnings which isn't exactly ideal.  I considered simply using a one-pin
symbol to act as an intra-sheet link symbol, but since I really wanted some
specific ERC warnings around intra-sheet links being mis-used, I figured I'd
have a go at writing a proper NETLIST_OBJECT integrateable thing with a proper
SCH_ITEM associated with it, etc.

The result of my hacking (and honestly, given this is the first time I am
poking around in KiCad's codebase, it is pretty hacky) can be found at:

    https://github.com/kinnison/kicad-source-mirror

on the intralinks branch.  I appreciate this is not the accepted manner for
submitting code for inclusion into KiCad, so please don't shout at me for that.
At this point I'm simply looking for comments and suggestions.  There's bound
to be at least some things I need to clean up before it'd be suitable for
inclusion, so hints and tips would be gratefully received.

Once I've made any fixes recommended to me, and assuming noone tells me I
really shouldn't be submitting this for inclusion, I'll sort out a bzr bundle
or whatever is most desirable for the maintainers.

Thanks for reading this far, and if you want to give my branch a go, I'd really
appreciate feedback; just be aware it does bump the eeschema version number
since it adds a new kind of thing stored to the .sch files; though it'd be a
trivial job to go in and remove the relevant lines and drop the version back
if you did accidentally edit a real project with it.

D.

-- 
Daniel Silverstone                         http://www.digital-scurf.org/
PGP mail accepted and encouraged.            Key Id: 3CCE BABE 206C 3B69


Follow ups