ID: | 3266 |
From: | ge...@igor2.repo.hu |
Date: | Sat, 10 Aug 2019 09:29:57 +0200 (CEST) |
Subject: | [pcb-rnd] pcblib lihata switchover, part 1 |
Hi all, for some time now our native file format for footprints is lihata. Our minimal library distributed with pcb-rnd, called pcblib, was/is still using the obsolete geda/pcb .fp format. The problem has two parts: static file footprints and parametric footprint scripts. For the first round, I took all static footprints and converted them to lihata subcircuit v6, with the following considerations: 1. Existing boards are not affected because board files embed all subcircuits, always, there are no external references; so this move could not break any existing board. 2. The conversion used the normal pcb-rnd load code - which means the result must be the very same as when you loaded the old .fp files directly from the lib. The only corner case is this: if the loader has a bug that has not yet been detected, we ironed the effect of that bug in our lib now. However, the lib is small and the loader got a lot of testing the past few years so I think we wouldn't have any bug introduced. 3. Because the obsolete .fp format did not have attributes, we used tagging (from comment). However, I think tagging didn't take off, I was probably the only user who ever used it. So I did not convert the tags. I will keep tagging in the .fp format code, but won't add this to other alien formats. 4. Some of the original .fp files had comments with drawings and (already broken) links to datasheets, remarks written in German. Since the .fp loader ignores comments, these are not preserved. 5. I kept the orignal file names, including the .fp suffix so that make install will simply overwrite the old files, no need to worry about leftovers. 6. After 2016, we have evolved a richer, more well thought-over, less ridden-by-historical-mess footprint format and conventions. We now have a clear meaning of the footprint and value and refdes attributes. To comply with these conventions, I removed both the refdes and value attributes from all the static footprints. These attributes should be coming from the schematics or should be filled in by hand after placement (in case of a no-netlist design). We surely didn't lose anything with this: for example having "1206" in the "value" attribute of a 1206 part did not help either flow in any way. In the same time I made the footprint attribute unique. Later on I will also rewrite the parametric footprint scripts to emit either lihata or tEDAx. Regards, Igor2
Reply subtree:
3266 [pcb-rnd] pcblib lihata switchover, part 1 from ge...@igor2.repo.hu