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>