Krill files
An edakrill resource is a single, generic building block of an EDA project.
It comes in many forms, intended for different EDA software. An edakrill
resource is most commonly one of these:
- a static PCB footprint of a specific package
- a parametric PCB footprint script that can generate footprints of a single package family (ran within the EDA tools)
- schematics symbol
- font
- a script that is ran externally to generate any of the above; the generated file than can be loaded in an EDA software
An edakrill resource is consists of a krill file and one or more data or
script files. All content an EDA software needs is stored in the data files,
the krill file is for attaching metadata to the resource. Metadata allows
users to search the resources and the server to make automatic conversions and
render previews. A file is not an integral part of the edakrill database if
it is not referenced from at least one krill file.
Metadata is a list of tags. A tag consists a key and a list of values in
the form of
key=value1, value2, value3
The krill file contains one tag per line. For example a krill file of
a font file looks like this:
type=vector, font
name=hershey, cursive
software=pcb-rnd
license/dist=hershey
license/use=hershey
source=EggBot
author=Dr. A. V. Hershey, James Hurt, VK5HSE
The interpretation of keys and values vary: a few keys are defined by the
edakrill site so that previews can be generated (official keys). However,
most of the keys are there only to allow the user to search by them. The
site tries to document these user-contributed key conventions. Edakrill
contributors are encouraged to introduce new keys to make their metadata
more detailed. EDA developers are encouraged to process official and
conventional keys.
A list of the keys can be found TODO: here .
Anyload files
If the anyload tag is specified, it points to a file in the same directory
as the krill file. This file will be renamed to anyload.lht for the tarball.
Convention: this file is normally called foo.anyload for foo.krill.
If there is no anyload tag but one of the following combinations of tags is
specified in the krill file, an anyload.lht is automatically generated:
tags | purpose
|
---|
software=pcb-rnd type=drc script=FILENAME.tdx
| pcb-rnd drc_query rule
|
software=pcb-rnd type=drc_query script=FILENAME.tdx
|
software=pcb-rnd type=script script=FILENAME.tdx lang=script_language
| pcb-rnd user script
|