[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: gsch2pcb deleting almost all elements



On Wed, 2008-09-10 at 22:09 -0400, DJ Delorie wrote:
> > I think we need to provide some hook about the lib search path to 
> > gsch2pcb.
> 
> Well, yeah, I didn't suggest changing that part.
> 
> > > We also need NetList(Clear) and NetList(Add,pin,pin[,...])
> > 
> > instead of just telling pcb to reload the netlist?
> 
> My way doesn't need a separate file.  We can already tell it to load a
> netlist from a file.  I suppose it's more consistent to tell pcb to
> load from a file, since the file may exist from a previous run.

Supporting both would be good, although the main benefit I could see is
in an online update (like xgsch2pcb does, but without the
file-shuffling: backup on disk layout, save working layout, update with
gsch2pcb, reload, replace backup)

I think - for backwards compat, we need to be able to specify all the
different ways gsch2pcb can find footprints, to PCB. (Unfortunately?).
That is equivelants of:

   -d, --elements-dir D  Search D for PCB file elements.  These defaults
                         are searched if they exist: ./packages,
                         /usr/local/share/pcb/newlib, /usr/share/pcb/newlib,
                         (old pcb) /usr/local/lib/pcb_lib, /usr/lib/pcb_lib,
                         (old pcb) /usr/local/pcb_lib

   -f, --use-files       Force using file elements over m4 PCB elements
                         for new footprints even though m4 elements are
                         searched for first and may have been found.

   -s, --skip-m4         Skip m4 when looking for footprints.  The default is to use
                         m4 (which is what previous versions did).

       --m4-file F.inc   Use m4 file F.inc in addition to the default m4
                         files ./pcb.inc and ~/.pcb/pcb.inc.

       --m4-pcbdir D     Use D as the PCB m4 files install directory
                         instead of the default:
                         /home/pcjc2/geda/share/pcb/m4

I might be inclined so remove --m4-pcbdir --m4-file at the expense of
backwards compatibility for an (i'd guess) rarely used feature.

David: Do you use these to hook in your custom M4 footprints?


Some other gsch2pcb options we might need to have equivelants of:

   -p, --preserve        Preserve elements in PCB files which are not found
                         in the schematics.  Note that elements with an empty
                         element name (schematic refdes) are never deleted,
                         so you really shouldn't need this option.

An interesting one:

 --empty-footprint name  See the project.sample file.

# If you assign a name other than "none" to empty-footprint, then components
# with that name will be omitted instead and you will need to use the verbose
# option to see any warnings.  This is just a convenience way to have symbols
# in a schematic which will not be mounted on the PC board and to shut up
# gsch2pcb warnings about it.  But note that if you make net connections
# to these symbols, they will be in the netlist and PCB will warn if the
# netlist is loaded.  So, maybe connections to such parts should be drawn
# with a graphical line and not a net?

Perhaps ones we don't care to keep?:

   -r, --remove-unfound  Don't include references to unfound elements in
                         the generated .pcb files.  Use if you want PCB to
                         be able to load the (incomplete) .pcb file.
                         This is the default behavior.
   -k, --keep-unfound    Keep include references to unfound elements in
                         the generated .pcb files.  Use if you want to hand
                         edit or otherwise preprocess the generated .pcb file
                         before running pcb.


So, I guess there are some options.

Teach PCB to perform the update logic from a series of action commands
naming the components which are supposed to be in the layout. You might
have to block around this a wrapper like "BeginUpdate" and "EndUpdate",
so PCB can identify those elements which are ON the board, but shouldn't
be. I don't really like this idea.

So, we may need the write-out of existing elements / properties on the
board - and let gsch2pcb issue "DeleteComponent(...)" calls for items it
doesn't want on the board.

I really (really) like this idea, and the idea of it being a VHDL like
netlist is VERY exciting. PCB could also export its idea of connectivity
- and this gets us very close to being able to do some clever
back-annoation).

-- 
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-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user