On Mon, 2007-06-11 at 11:25 -0400, al davis wrote:
> On Monday 11 June 2007, Peter Clifton wrote:
> > Assuming its even a good idea, we could:
>
> That's the one I was questioning. What functionality does it
> add? A schematic is a bunch of objects with connections. Any
> action belongs to some other tool.
>
> Can you give an example of a case where the ability to embed
> code in a symbol is of real value?
gschem currently has an "attributes list" which offers the user a list
of attributes to fill in for every component.
New users are put off by this - they don't always know, or remember what
attributes need to be set for a particular component or design flow.
Plainly, many of the attributes in gschem's list aren't suitable for
many symbols, so how do we improve upon that? I am not of the opinion
that having gschem provide specific lists for specific components (e.g.
device=RESISTOR) is a good idea.
Where is the best place to specify it - seems to me that the symbol /
device author may know what attributes are sensible (specific to a
particular symbol), so why not refer to it in the symbol. Ok - I know,
symbol == graphics, but until we have more abstraction of parts, there
doesn't seem a much better place. I was thinking (for example), that the
two resistor symbols we have might refer to a "resistor.scm".
For some attributes and work-flows there is an obvious benefit to
calling an external program to help the user in choosing their attribute
value. (Think footprint picker for a gsch2pcb work-flow).
If you think about further ways to help users (IMHO, auto-complete /
suggest is good), we could provide suggestions of recently used values,
preferred component values (subject to a non IC workflow).
If I'm simulating, and have a PWL source (as an example), I could
envisage a helper function to validate my "code" for the source to
ensure it is SPICE / gnucap legal.
Anyway - these "helpers" get very "component" or concept specific quite
quickly, so we need / want a way to attach them where relevant, without
having a big flat-file of:
if ( !strcmp( component_get_attribute( component, "device" ), "frobber")
{
...
} else if ...
(Or their non pseudo-code equivalent).
I'm not sure attaching to symbols is nice, or the best solution - I'm
just hoping to see if there are any alternatives.
Peter C.
_______________________________________________
geda-dev mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev