delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2020/12/08/03:23:43

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
Date: Mon, 7 Dec 2020 13:01:33 +0100 (CET)
From: Roland Lutz <rlutz AT hedmen DOT org>
To: "Britton Kerin (britton DOT kerin AT gmail DOT com) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com>
Subject: Re: [geda-user] automatically create a .sch file containing a single
component?
In-Reply-To: <CAC4O8c_Gssuua3aHJSEMTW_Sw5W9rvtwrys1e=BP=CvHmEifJA@mail.gmail.com>
Message-ID: <alpine.DEB.2.21.2012071227360.1239@nimbus>
References: <CAC4O8c_Gssuua3aHJSEMTW_Sw5W9rvtwrys1e=BP=CvHmEifJA AT mail DOT gmail DOT com>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
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

Hi Britton,

sorry for the delayed answer.


Britton Kerin:
> I don't get why some text elements (refdes=, device=) end up repeated in 
> the .sch file and other stay in the element.  what distinguishes these 
> elements?

By default, all visible attributes are copied ("promoted") from the symbol 
to a newly-created component.  Some attributes (footprint=, device=, 
value=, model-name=, and symversion=) are always promoted regardless of 
their visibility.  The exact promotion behavior can be configured with the 
following options:

   attribute-promotion
   promote-invisible
   keep-invisible
   always-promote-attributes

See `system-gafrc' for further information.


> * create the pcb file directly.  sort of a hassle but probably what I'll 
> do unless there's a better way, a little weird in my case since I have a 
> lot of footprints using a text library of my own

You can entirely skip the .sch step and generate the netlist directly. 
There are different ways to do this; just have a look at the gnetlist 
output for the `pcbfwd', `PCB', and `gsch2pcb' backends to get an idea. 
It may also help to have a look at the backend sources:

https://github.com/rlutz/geda-gaf/blob/stable-1.10/xorn/src/backend/gnet_pcbfwd.py
https://github.com/rlutz/geda-gaf/blob/stable-1.10/xorn/src/backend/gnet_PCB.py
https://github.com/rlutz/geda-gaf/blob/stable-1.10/xorn/src/backend/gnet_gsch2pcb.py

Here's the `pcbfwd' output for a single resistor:

   Netlist(Freeze)
   Netlist(Clear)
   Netlist(Sort)
   Netlist(Thaw)
   ElementList(Start)
   ElementList(Need,"R1","unknown","unknown")
   ElementSetAttr("R1","device","RESISTOR")
   ElementSetAttr("R1","manufacturer","unknown")
   ElementSetAttr("R1","manufacturer_part_number","unknown")
   ElementSetAttr("R1","vendor","unknown")
   ElementSetAttr("R1","vendor_part_number","unknown")
   ChangePinName("R1", 1, "1")
   ChangePinName("R1", 2, "2")
   ElementList(Done)


> btw I just noticed one out-of-date looking thing on that page.  It says:
> 
> Stable versions include: 20070526, 20070626, 20070902, 20071231,
> 20080127, 20080929, 20081220, 20081231, 20091004, 20100214, 20110115
> 
> but my gschem saves as v 20130925.  gschem says gEDA 1.8.2.  Maybe my
> build got a custom date though I'm not sure.  But if not the wiki page
> might be due for an update.

Thank you for pointing this out.  The wiki page is a bit ambiguous in this 
respect; I tried to clarify that sentence.  The file format version number 
automatically increases with new builds even if the file format itself 
hasn't changed, so there can always be newer file format versions.


Roland

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019