gEDA-dev: Broken slotting
Peter Clifton
pcjc2 at cam.ac.uk
Mon Sep 10 21:50:01 EDT 2007
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!)
More information about the geda-dev
mailing list