Index: trunk/doc/user/03_data/index.html =================================================================== --- trunk/doc/user/03_data/index.html (revision 13589) +++ trunk/doc/user/03_data/index.html (revision 13590) @@ -49,11 +49,69 @@

3.3. Footprint Libraries

+

3.3.1. Library handling

+

+A footprint library is a collection of subcircuit files, optionally +equipped with metadata. A footprint library is stored and accessed by +footprint plugins (whose names are conventionally prefixed with fp_). +Where the actual data is stored, how and when it is retrieved depends +on the fp_ plugin. +

+There is a configuration node called rc/library_search_paths which +is a list of footprint library search paths. How each path is interpreted +also depends on the fp_ plugins. +

+Currently pcb-rnd offers the following fp_ plugins: + +
plugin description library_search_paths example +
fp_fs + list and load files from directories on the host file system + ~/my_lib
/usr/lib/company_lib
$(rc.path.share)/pcblib +
fp_board + extract all footprints from an existing board file (given in + any board format pcb-rnd can load) and use these footprints as + a library + board@/home/joe/ee/control/cpu.lht +
fp_wget + download a digested map of a footprint library from a web server, + using wget; make all footprints and metadata available in the + library but do not immediately download footprint files; keep + a local (host file system) cache of footprints accessed. Currently + supports edakrill + and gedasymbols. + wget@edakrill
wget@gedasymbols +
+ +

3.3.2. footprint types

+

+There are two types of footprints:

+

+A static footprint is a data file that is loaded and parsed by one of +the io_ plugins. pcb-rnd supports multiple file formats: the native lihata +subcircuit format, kicad, eagle, gEDA footprints. +

+A parametric footprint is an external program or script that is executed +by pcb-rnd. The exteran program shall write a valid footprint file to its +standard output, which is then parsed and used the same way as in case of +static footprints. The external program gets a list of parameters +extracted from the footprint name by pcb-rnd. +

+The basic syntax for a parametric footprint is name(arg1, arg2, ... +argN). Any footprint name that contains a '(' is treated as parametric. +The list of arguments is separated by commas. How arguments are interpreted, +e.g. whether the are positional or named or both, is up to the external +parametric footprint program. +

+The footprint programs are stored in the library tree, and are accessed +using the fp_ plugins. There is no limitation on how the program is implemented +other than the host operating system on which pcb-rnd runs has to be able to +execute it. + +

3.4. file formats

3.4.1 board formats