Mailing list archives : pcb-rnd

ID:292
From:ge...@igor2.repo.hu
Date:Sat, 17 Dec 2016 08:40:32 +0100 (CET)
Subject:Re: [pcb-rnd] gsch2pcb-rnd bugs and refactoring
in-reply-to:289 from James Battat <jb...@wellesley.edu>
replies: 293 from James Battat <jb...@wellesley.edu>
 
 
On Sat, 17 Dec 2016, James Battat wrote:
 
>>> Are there downsides to using the ?import schematics? option in pcb-rnd (or pcb),
>>> as opposed to gsch2pcb(-rnd)?
>>
>> Conceptually no. It's the GUI user vs. Makefiles. Evan and I are more the Makefile type of users so we prefer gsch2pcb-rnd.
>
>
> I like having both options (command line and gui), and especially appreciate that with gEDA I can exercise functionality through a Makefile. e.g. I generate board and schematic documentation (pdfs of schematic and board, png of board rendering, etc, with ?make doc?).  Ditto for gerber generation (and renaming to match particular fab house filename conventions).
>
> And I originally used gsch2pcb for exactly that reason.  But then it occurred to me that I was forced to use the GUI anyway (to update the netlist).  Since the gsch2pcb path required effort on both the GUI and the command line anyway, I switched over to ?import schematics? which only required one.
>
> I would be equally (more?) happy to do a single step operation from the command line (e.g. switch from pcb-rnd to a command line, run "make board? and then switch back to pcb-rnd and see the layout update to match the new schematic).  So I was particularly interested in the following from your last email:
 
Fortunately the situation about these tools is not as black and white as 
we often think. Here's the table (ASCII art, hope it doesn't break):
 
                 from gui     from cli
--------------------------------------
gsch2pcb-rnd    yes^1        yes
import sch      yes          yes^2
--------------------------------------
 
^1: import schematics can work by running make. The action knows how to do 
it, it's just not bound to a menu item. Making a new menu entry takes like 
15 seconds. Unfortunately 'make' support is sort of hardwired and makes 
assumptions about your Makefile. My long term plan is to convert this to a 
generic "acquire the update by running an external command". Which means 
it could easily run gsch2pcb-rnd or gsch2pcb with a few lines of wrapper 
shell script or any other 3rd party glue program that imports 
refdes-footprints-value triplets and/or netlists from any source, be it 
written in shell, awk, python or whitespace/brainfuck/piet.
 
^2: import schematics is a plugin that lives in pcb-rnd. But who said 
pcb-rnd is about GUI? The plugin doesn't make anything remotely 
GUI-related, it merely provides an action. One can emulate gsch2pcb-rnd by 
running pcb-rnd in batch mode with an action script that runs the import 
schematics action. Your stock pcb-rnd is obviously more heavy-weight than 
gsch2pcb-rnd, but if you compile it with all plugins disabled, the minimal 
core itself is not that bad. On my 32 bit x86 the stripped executable of 
gsch2pcb-rnd is 204k, pcb-rnd configured with '--all=disable 
--buildin-import_sch --buildin-hid_batch' is 994k. It's still 4.5x bigger, 
but not like 10x or 100x.
 
Anyway at the end, I will have the same code behind both mechanism, and 
the stand-alone tool gsch2pcb-rnd will be just a wrapper around the 
plugin.
 
>> (gsch2pcb-rnd will probably become single step too, today, at least for the GUI-part).
>
> I?m looking forward to hearing more about this.
>
> Bigger picture, I?ve been *really* impressed with the pace of development on pcb-rnd.  It?s a pleasure to be part of this supportive, responsive community.
 
Thank you!
 
I'm happy you are on board and I count on you with testing the changes in 
import_sch.
 
I know it's night-time over there, but hopefully when you guys wake up 
tomorrow, you'll already find something working.
 
 
Regards,
 
Igor2
 

Reply subtree:
292 Re: [pcb-rnd] gsch2pcb-rnd bugs and refactoring from ge...@igor2.repo.hu
  293 Re: [pcb-rnd] gsch2pcb-rnd bugs and refactoring from James Battat <jb...@wellesley.edu>