On Sat, 2008-01-12 at 02:37 +0000, a r wrote:
> Hi,
> 
> First of all, sorry for the rant on geda-user. You guys are doing a
> hell lot of good work for free and I do appreciate it. Despite of all
> the concerns, geda _is_ a useful software, and I found the current
> development version noticeably better than the version I tried one
> year ago.

Thanks, feedback is always appreciated.. and its especially nice when
its positive.

> I tried to improve the way nets are being routed. See the attached
> patch (against v.1.3.0). It only deals with new nets (moving and
> copying works as before) and currently does not take into account
> device pins.
                                                 _
I like it, although the switching between |_ and  | did confuse me a
little at first.

Can you describe in words what the changes are doing? I have tried the
code, but couldn't immediately quantify what the new logic was.

It probably wants to be run under valgrind or gdb too.. I made gschem
crash whilst playing drawing nets with it:

It complains muchly when libgeda happens to "consolidate" two lines
[]----[]------[] into one []---------------[]. This is done in libgeda,
and is a great cause of headache, since it happens at an unexpected time
(during the undo code of all things IIRC). You have to be careful what
pointers you have about, or what linked list you're looping over if
there is any chance of those still being used when an object is delete.


Another possible logic to consider (which I've seen in some pacakge, but
can't remember which..) is to have a net drawing like this:

       2. X-Axis becomes fixed when you:
        |
       \|/
-------- <--- 1. (Y-Axis already fixed from previous segment start)
        |
        |                        /|\
        |/--- 3. Click here, but  |
        ------------------------------   4. this last horiz. segment
                                  |         can still move up and down.
                                 \|/

Ending on a pin or double clicking (perhaps) would end drawing.


Each click constrains one axis of the previous line segment joint, and
one of the place where you clicked. IIRC, It also adds a single segment
at a time, making the:

 --------    |
        | or |
        |    -------- jump a little more intuitive.


Just food for thought.. I'm not suggesting you change your
implementation. (Having had the Debian guys just try to land me into
making a generic "extra menu" package by blocking my "Electronics" menu
package, insisting something more "generic" is needed, I know that isn't
a fun situation to be in).

There is also a "magnetic nets" patch on the s.f. tracker (although it
probably needs a bit of cleanup and bringing up to date). Something
we'll look at again after 1.4.0 is out.


Thanks for the code!

Best wishes,

-- 
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
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev

Reply via email to