[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