[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gEDA-dev: Broken slotting




On Tue, 2007-09-11 at 02:21 +0100, Peter Clifton wrote:

> The code changes are quite large though:
> 
>  libgeda/ChangeLog             |    6 ++
>  libgeda/include/prototype.h   |    1 +
>  libgeda/src/o_attrib.c        |  156
> +++++++++++++++++++++++++++++++++++-----
>  libgeda/src/o_complex_basic.c |   40 +++++++++++
>  libgeda/src/s_tile.c          |    2 +-
>  5 files changed, 184 insertions(+), 21 deletions(-)
> 
> 
> Its not obvious what broke it.

Its becoming clearer...

The pinnumber replacement (and the whole slot update) is keyed on the
pinseq numbers, however this patch causes them to be re-written for
different lots. e.g:

inverter with pinseq=1 and pinseq=2 for slot=1

becomes

pinseq=3 and pinseq=4 for slot=2
pinseq=5 and pinseq=6 for slot=3

A comment in the code is wrong:
"Write new string pinseq=(slot * (number of pins-1)) + pin_counter"

Should be:
pinseq = ((slot - 1) * (number of pins)) + pin_counter


The question remains... is the fix to revert the behaviour - and keep
pinseq constant for slotted parts, or (seems more likely) introduce a
modulo operation when looking for pinseq when updating slots?


Regards,

-- 
Peter Clifton

Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA

Tel: +44 (0)7729 980173 - (No signal in the lab!)



_______________________________________________
geda-dev mailing list
geda-dev@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev