X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Subject: (gschem <--> pcb communication) Re: [geda-user] A new PCB file format To: geda-user AT delorie DOT com References: <568E93BC DOT 9010804 AT mcmahill DOT net> From: "M. J. Everitt (m DOT j DOT everitt AT iee DOT org) [via geda-user AT delorie DOT com]" Message-ID: <568E9A8F.2070909@iee.org> Date: Thu, 7 Jan 2016 17:04:15 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: <568E93BC.9010804@mcmahill.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:nt5MelkvoJ3hhXBYWEeTmTMYYJnZHqIdzpwwYU4epL2a0NF9K9g 5XAKn63VqUuNrkighDq3dEKtMLRaJWapUMCAevojHnymNnkikOA/bJLxSjMfR1hE3wcw0q4 ufF1g1r3QoE0StDuHLjP7ZN8OTDwXD67ZEYNCwB5jCvKENfz1nerch11wNH+DcG84PtnZWh Z3jIg7h7mf85rbhPzCU1w== X-UI-Out-Filterresults: notjunk:1;V01:K0:XQKJELHMibc=:rqIXQORlEkj0jW+Ha2YvfT cvgB9zC/gpmJXh9kJwCbJv6ofXzlHVsos2zyzWlv9HUYvx1/l9yu2WYas2djpIEM/nZsgUkAp xYYcWB4NKAQJabmcv8OwT9XRd+++P/Dko5awOgyfJw9CQJbXbZ1DwaAYUbf/vXTKK3W3lUd8k Vge4N/jXtOEq1yfkkhFtmWba2FYhyCFDVGOO68h8FmENjct9WAu/kG14rXGPZbhy3E+elMg7/ y9w/yvpXpKiKtjGKRTAkHwrOETVInUXnhqjp/eQatA2WQ9+ehOWlB7abFA9IrL8qHZ1+D1C/+ lpnUqvnwys8eoPRn0i4ZYI6D+M4Lo45y/4dgcfnM3btmtCSGgifXR+yMbeVqotN629ThsP2I4 /nDsB2D563Ql0A6vh1YpiV3I918YEEGyoNMhmpGQuyWZNWpZf+cC5ykxQJ67l2XmPYyKSR+pM bZlXyR6z211DPQj7m0dZUExWMzwy/tThj5SQl3Jwezc032Sz9uJmqzcmJOSbwgvvSUrrUl2CU +qB44YFH4NJtSTzzUnOE+tR5ZQq5FzU9ILUrYqrjYltq2g7mFM9vgnw0O6aW0ukRxSxC3pUY2 nP7IfbHm0zn9USyYxoq7TKrKZ72DMCx6YouQsPC/eL/vglDara82oHwuCCI4ir5DfpFHFsX5a iC7nZBQrXh6zIgEAgeW3Q4V7CAQdg93PwMx6014qk3iNGtri/FDcXbarYnxCB+WegulCDT8kR FceMotgsidte8y+g Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk Sounds good Dan .. is this in public release or some branch/fork somewhere? MJE On 07/01/16 16:35, Dan McMahill (dan AT mcmahill DOT net) [via geda-user AT delorie DOT com] wrote: > On 1/7/2016 12:20 AM, Marvin Dickens (mpdickens AT gmail DOT com) [via > geda-user AT delorie DOT com] wrote: >> Hi Everybody, >> >> If your looking at tuning up or otherwise redesigning the file format >> for PCB >> I would really like gschem to understand the PCB file format and >> visa-versa. >> What I would like to be able to do is have a PCB layout up at the same >> time I >> have the schematic for that design up in gschem. If I select any part or >> portion >> of the layout in PCB that part or portion is visually highlighted in >> gschem and >> visa-versa. >> > > people probably aren't aware of this, but I prototyped that > functionality and the code has been in gschem for 5 or 6 years now. > You can select an element in the schematic and have it select in pcb. > I may have even gotten the opposite working too but can't recall. > Feel free to try it out and move the ball forwards. > > > Maybe it is time to mention one of my wishes and what steps I had > taken to get there. > > gschem has scheme embedded in it. Setting aside the question of if > scheme is the right language, the important piece is we have a script > interface into the compiled portion. > > With the script interface, you can define additional menus and menu > items. You can also add hooks that get executed when things happen. > What sort of thing? Component Selection! > > The idea is gschem stays flexible and not tied to a particular backend > but you provide enough of an API (scheme or other) to where you can > load a module at run-time which puts gschem into a mode targetted at a > particular backend (pcb, spice, gnucap, etc). By isolating the > details of the particular backend into a module which is loaded when > the user requests it, we can do all sorts of cool things. Picture a > simulation environment where the simulator module has a list of all > the supported analysis types and the associated parameters. Now > suppose gschem includes a dynamic attribute editor dialog. The plug > in just says "here gschem, here is a list of simulations and the setup > variables they need, give me a dialog for the user". At least some > code has been written to make this possible. Note that we have an > existance proof in PCB for that. The export dialog boxes are built on > the fly based on a particular struct that the HIDs use. > > > Anyway, take a look at: > > gschem/scheme/pcb.scm > > load it and try. > > It is not perfect for sure but I think it was a step in the right > direction. Again, one of the guiding principles was to make sure > gschem includes functions that are needed (like a file selection > dialog, hooks to select/deselect, generic attribute editor dialog, > etc). Then use those features to allow a particular flow to be > customized. This maintains the current workflows, maintains > flexibility, doesn't tie gschem to any particular backend, but ENABLES > flow specific functionality as add in's. > > One barrier is the one of nets. gschem unfortunately does not know > about connectivity (or didn't last I checked). That makes it harder > to select a net on the schematic and try to then select that rats in a > pcb layout, plot the simulated voltage on that node, or other things > of this nature. This is a failure in the data model used by gschem. > Good data model is important. More so than the file format used to > represent the data. > > > > -Dan > > > > > >