Index: doc/user/03_data/index.html =================================================================== --- doc/user/03_data/index.html (revision 13589) +++ doc/user/03_data/index.html (revision 13590) @@ -49,11 +49,69 @@
+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 + |
+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. + +