kicad-developers team mailing list archive
Mailing list archive
Re: pin 'connection bubble'
jean-pierre charras - INPG <jean-pierre.charras@...>
Thu, 12 Feb 2009 11:03:10 +0100
Thunderbird 220.127.116.11 (Windows/20081209)
Vesa Solonen a écrit :
Could it be a good behavior to remove 'connection bubble' from a pin when
it gets connected? That would allow easy checking for unconnected, verify
a connect and also simplify detail on screen. Can you Jean-Pierre give
advice where to look for that code as I'd like to get that done here
locally. If the feature is seen as benefit for others and it's
implementation fits your schedule that would be even better.
The main difficulty is schematic components do not handle the shapes
(graphics items and pins ) to draw.
They handle only the body position, orientation and part in multiples
parts per package components.
Shapes are in libraries item descriptions.
To draw a component in schematic, the shared shape in lib must be find
first (by the Chip Name) .
This draw function knows anything about other schematic items, and draw
info is shared by all components having the same chip name.
It is not specific to a given component in schematic.
I do not know the best way to handle connection bubble to draw, but
because it is specific to each component in schematic
the draw function must have a knowledge of location to draw (or not)
bubbles for each component in schematic.
A possible way is:
In schematic, for each sheet, creates the list of coordinates that have
2 (or more) connected items (pin pos, wire ends ..)
(something a std::vector < wxPoint> m_ConnectedNodes, that could be a
member of a SCH_SCREEN)
(It is recreated only after changing and item (wire, component .. ), so
this is not time consuming,
and easy to calculate: this is the list of pin locations, wire ends
coordinates, junctions..., sorted, and each unique coordinate removed)
Send this list to the Chip Draw Functions, that do not draw connection
bubble if an end pin coordinate is found in this list
If the list is sorted(by X and Y value) and a fast search algo is used
in draw function, this could be not time consuming
And the changes in current code could be very limited and easy to
activate/inhibit (could be an a display option )
Maître de conférences
Directeur d'études 2ieme année.
Génie Electrique et Informatique Industrielle 2
Institut Universitaire de Technologie 1 de Grenoble
BP 67, 38402 St Martin d'Heres Cedex
Grenoble Image Parole Signal Automatique (GIPSA - INPG)