Mailing list archives : pcb-rnd

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