Mail Archives: geda-user/2012/12/21/09:30:50
On Fri, 2012-12-21 at 11:03 +0100, Gabriel Paubert wrote:
[snip]
> As far as I can say, it was related to that change, but the absence of
> fullpoly flag at the time forced me to generate 2 polygons instead of one.
> The weirdest part may have been that the two halves were actually connected
> on one end through a line which had not the clearline file set.
[...]
> Anyway, this was the real problem. This was also when there was only
> one thermal, so I had to put copper rings around each via instead
> of using the solid thermal. This may have been the cause of some connectivity
> breakage.
As an absolute rule, I won't tolerate changes which break existing board
geometry. As an example, we have a rather strange set of maths in our
current thermal code, which produces strange and invalid thermal patters
for certain size and clearance vias / pins.
I started to write alternative thermal code to fix this geometry,
however I never figured out just how to introduce it without risking
changing the electrical / thermal resistance of some existing designs.
(Or changing the geometry enough to make or break a short).
I figured we would actually have to keep both sets of thermal geometry
maths - and use the current (somewhat broken) code for existing designs,
and the new stuff for newly created vias / thermals, or if asked
directly by the user to upgrade the board.
To avoid future mess like this, I was thinking about embedding the raw
geometry for the thermal into the layout file somewhere (perhaps stored
as a sub-object of the polygons, or the pin its self).
This would mean we had an exact copy of the thermal geometry when the
user last saw the thermal. We wouldn't have to re-calculate it at board
load time, so then would not have to keep around "n" different (possibly
buggy) versions of the thermal code.
The reason to introduce this caching of geometry is of course, to avoid
needing to keep maintaining every single version of every piece of
geometry maths we ever have, then change.
An alternative is to specify the geometric meaning of our thermals in
the file format specification once and for all, and REALLY ENSURE we get
the geometry + maths right this time. (Yea right).
--
Peter Clifton <peter DOT clifton AT clifton-electronics DOT co DOT uk>
Clifton Electronics
- Raw text -