www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2016/02/28/12:19:53

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-Virus-Scanned: Debian amavisd-new at gag.com
From: Bdale Garbee <bdale AT gag DOT com>
To: "Nicklas Karlsson \(nicklas.karlsson17\@gmail.com\) \[via geda-user\@delorie.com\]" <geda-user AT delorie DOT com>,
geda-user AT delorie DOT com
Cc: keithp AT keithp DOT com
Subject: Re: [geda-user] pcb import schematic crash, parantheses in netname
In-Reply-To: <20160228153707.6ca09160d8b85ac77357302b@gmail.com>
References: <20160215215221 DOT fd472794e7b9446a243bfc40 AT gmail DOT com> <20160216081722 DOT 1065cbed6653d3da4ffc7498 AT gmail DOT com> <201602160724 DOT u1G7Ox26001785 AT envy DOT delorie DOT com> <20160216085628 DOT b70143c330cd4da98a4603d3 AT gmail DOT com> <201602160805 DOT u1G85d8c003148 AT envy DOT delorie DOT com> <20160216092912 DOT 7f7439f703b49175a21dbb1b AT gmail DOT com> <CAJXU7q_w5NunkojiCr36RHRTq0hJ+PZP1e0GumTRMoGXcvgRXQ AT mail DOT gmail DOT com> <201602161715 DOT u1GHFMBB028078 AT envy DOT delorie DOT com> <CAC4O8c9jr_b376SpuUk5HrJApP1c75oxsEBemn-i_xtC-rt-Zw AT mail DOT gmail DOT com> <201602162032 DOT u1GKWL7Y005291 AT envy DOT delorie DOT com> <CAC4O8c-ig=0UVAqagNXH_DBmC9uVQDu3Y1Gx7LBGmRCo0-_kVQ AT mail DOT gmail DOT com> <E75ECBB6-14E7-437A-B374-E0CF86BDFF1A AT noqsi DOT com> <CAC4O8c8z4JiJr=mgA+co4pX-yxu_pVsXpeKRYqneuxZNnYqh8g AT mail DOT gmail DOT com> <CAC4O8c8ejSN3GrmB1Zw=Dx9Pm-3Y0jwjNs=yjmwgsqcoVW5ACw AT mail DOT gmail DOT com> <59CE9019-7A56-49D6-BC2B-680A7253B055 AT noqsi DOT com> <nauuv2$m6r$1 AT ger DOT gmane DOT org> <20160228153707 DOT 6ca09160d8b85ac77357302b AT gmail DOT com>
User-Agent: Notmuch/0.21 (http://notmuchmail.org) Emacs/24.5.1 (x86_64-pc-linux-gnu)
Date: Sun, 28 Feb 2016 10:18:22 -0700
Message-ID: <87h9gsycrl.fsf@rover.gag.com>
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

--=-=-=
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

"Nicklas Karlsson (nicklas DOT karlsson17 AT gmail DOT com) [via
geda-user AT delorie DOT com]" <geda-user AT delorie DOT com> writes:

> A BOM generator which automatically heavify symbols with ordering
> information is what I ultimately want to write. Of course there have
> to be a database with values to pick from.

Keith and I recently put something like this together for Altus Metrum.

We now, by default, only set three attributes on a part: 'device',
'footprint', and 'value'.  We have a "preferred parts" database that's
just a tab-separated-values flat file, and a couple awk scripts that
take the attributes for each part in a csv file, use the triplet above
to index into the database, and fill in any missing attributes.

This means that for almost all parts, we only have one place to update
when we change manufacturer part data or vendor info for our 'preferred
parts', yet we can override any attribute we need to on a per-design
basis.  It's also encouraging us to consider adding more attributes to
each of the parts in our common parts database, like the partial
pathname to the datasheet for that part within our shared local
datasheet file tree, additional physical attributes, etc... which we
could never get motivated to keep up with on a per-design basis.

We've also consolidated other things like the Makefile content for a
project.  A typical per-project Makefile now just contains something
like this:=20

  # name of project, also used for PCB file
  PROJECT=3Dtelemega

  # list of schematic files that make up this design
  SCHEMATICS=3Dtelemega.sch

  # number of PCB layers
  LAYERS=3D4

  # sides with silkscreen, can be none|top|bottom|both
  SILK=3Dboth

  include ../altusmetrum/pcb.mk

This makes it really easy to maintain in one place the rules required to
target different board shops, the rules to do our BOM generation using
the preferred parts database, etc.

Anyone who wants to play with this is welcome to clone our shared repo
From=20git.gag.com, what you want is the "hw/altusmetrum" repo... then
pick one of our product repos like "hw/telemega" to see how it's
used... these need to be adjacent directories in your file system for
the "../" references to work, of course.  There is no real documentation
on any of this, but if you can read Makefile and awk sources it's all
pretty obvious.

Anyway, hope this helps someone.  It's working well for us, but feedback
is of course welcome!=20

Bdale

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIVAwUBVtMr3zqTYZbAldlBAQorQg/+JRH3S3xGvgvi/MoAafAtLe4Al0NRACc3
vIE/RNIPB+DXw1krDVUDtKKeprOUVLOGJgnRqN/VkfU7OOXbbKWkVEoe4LPJE+rd
FG5XqqDG/59qte46JXHrQJ2PnFcvIkOHokBLHiWQH8DclfBEA530GctLIR1GQWxL
EI+ReBx+3xKYdmeqsG275okYBrOGzCMjsW8sXIjdG+42HSivBWec1wRw3azT8eae
l5r8jtjYFQ0fnd6LnXflBWa2whlO0YHCKMt9wjF7LOblO87+kD6pwLyaKnGCAP8h
w5vkuLNsU5WFfuG6cDwrX1xDb3hG+BqCtgY7SQKyVxi7tRWJ0yYiM6RoX5G/IGYE
i2X1CMlso/GQDYjuieeO48U6ZoCLX+P2QcwFE97WVbelZOek6vmyfFp77GW18T54
VZ7vdSdMzOOETQMN/FCti6UJejkgXqKVwMmKN/2QkQAodu2vJcXlCAlH3o97SHlE
9zYkHaLtrL16D54tQXKMvk4jrRQmeOYc+3Y6PTXe5OG+FT4YvW8pCydFYSJZqg6i
eRqCdQ7TrVOUf86HuEYTfFq1ypK/hmN4y+ONfxb/WMdKBn/L5wzqPHyNNEhYUsSl
4IMmpV8z1EuXNh5Po9rY6P40vaRocFDXsdjCqPWMRb2qSCiokNSLEbeaias0/c3v
AuLKdKB2tDI=
=3yeK
-----END PGP SIGNATURE-----
--=-=-=--

- Raw text -


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