User Tools

Site Tools


geda:gparts_ug

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
geda:gparts_ug [2010/10/08 20:14]
ehennes Added section on bulk import
geda:gparts_ug [2014/04/12 19:22] (current)
rlutz Add breadcrumbs navigation
Line 1: Line 1:
 +[[:|gEDA]] >> [[developer|Development]] >> [[gparts_tc|Parts Manager]] >> [[gparts_ug|User Guide]]
 +
 +====== Part Manager User Guide ======
 +
 +===== Bulk Import =====
 +Currently, the part manager only provides a command line interface for bulk import of data. XSLT converts XML data into SQL using a stylesheet. Then, the SQL can be read by a command line interface for the database. The following diagram shows the dataflow for a bulk import:
 +
 +{{geda:​gparts-bulk-import.png|Bulk Import Dataflow}}
 +
 +The import can be accomplished with the following command line when in the gparts/​sql/​sqlite directory:
 +
 +  $ xsltproc convert.xml ../​../​data/​companies.xml | sqlite3 sample.db
 +
 +See the XML files in the gparts/data directory for examples. Any combination of company, package, and part elements can be used within the data element.
 +
 +Use the following as an example for specifying a company. ​
 +
 +<​file> ​   <​company>​
 +        <​company-name>​Altera</​company-name>​
 +        <​website>​http://​www.altera.com</​website>​
 +    </​company></​file>​
 +
 +Use the following as an example for specifying a package.
 +<​file> ​   <​package>​
 +        <​package-name>​0201(0603)</​package-name>​
 +        <​technology>​SMT</​technology>​
 +    </​package></​file>​
 +
 +Use the following as an example for specifying a resistor. The resistor, as any part, can have multiple document elements associated with it. The category specifies the type of document, such as datasheet, user manual, errata, etc...
 +
 +<​file> ​   <​resistor>​
 +        <​company-name>​Bourns</​company-name>​
 +        <​part-number>​CR0603-FX-10R0ELF</​part-number>​
 +        <​package-name>​0603(1608)</​package-name>​
 +        <​device-name>​resistor</​device-name>​
 +        <​resistance>​10.000000</​resistance>​
 +        <​tolerance>​0.010000</​tolerance>​
 +        <​document category="​Datasheet">​http://​www.bourns.com/​data/​global/​pdfs/​CHPREZTR.pdf</​document>​
 +    </​resistor>​
 +</​file>​
 +
 +===== Part Attributes =====
 +The part manager places database fields into component attributes using macros. The macros use the form $(column_name). Unfortunately,​ this mechanism requires modification of symbols in the library for use with the part manager. The part manager performs the operation in the following steps:
 +
 +  - loads the symbol drawing
 +  - instantiates a component from the symbol drawing
 +  - places inherited attributes in the component
 +  - performs macro expansion on inherited attributes
 +
 +Currently, macros can only be used in attributes that get promoted. The logic for attribute promotion must match between gschem and the part manager.
 +
 +The following gschem file snippet shows the macro used place the field from the database column '​Resistance'​ into the '​VALUE'​ attribute.
 +
 +<​file>​
 +T 195 200 8 10 1 1 0 0 1 
 +VALUE=$(Resistance)
 +</​file>​